LED数字倒计时器课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

淮阴师范学院物理与电子电气工程学院课程设计报告

学生姓名学号

班级

专业电子信息科学与技术

题目LED数字倒计时器

指导教师

2015 年11 月

一、设计任务与要求

近年来随着计算机在社会领域的渗透,单片机的应用正在不断深入人们的生活,同时带动传统控制检测日新月异。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构,针对具体应用特点与软件结合。本项目讨论了LED 数字倒计时器的设计与制作,此方案线路简单,成本低,应用前景广阔。

本次设计的任务与要求是,使基于AT89C51单片机的LED数字倒计时器主要具有如下功能:

(1)LED数码管显示倒计时时间。

(2)倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出约2s 的报警声音。

(3)通过按键可以对倒计时设定初值。倒计时初始值范围在24:00:00-00:00:60之间,用户可根据需要对其进行设置,设置成功后复位初始值为成功设定值。

二、硬件电路设计

设计电路采用模块化设计,主要由AT89C51单片机、复位电路、LED显示模块和控制模块组成(如图2.1)。

图2.1 基于AT89C51单片机的数字倒计时器系统框图

图2.2 基于AT89C51单片机的数字倒计时器电路原理图(元件清单见附录一)

(2)AT89C51单片机控制模块

图2.3 单片机控制模板

(3)复位电路

复位是单片机的初始化操作,只需给AT89S51的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可得单片机复位,复位时,PC

初始化为0000H,使单片机从OUT单元开始执行程序。除了进入系统的正常初始化之外由于程序运行出错或操作错误而使系统处于死锁状态,为摆脱死锁状态,也需按复位键使得RST脚为高电平,使单片机重新启动。

图2.4复位电路

(4)LED显示模块

图2.5 LED显示模块

(5)按键电路

按键电路的按键功能说明:

(1)K1用于设置时间的分钟。

(2)K2用于设置小时以及设置闹钟的开关。

(3)K3用于设置分钟和闹钟的分钟。

(4)K4用于设置完成退出。

图2.6 按键模块

三、软件设计

(1)程序流程图

图3.1 LED数字倒计时器程序流程图(2)程序清单(汇编语言)

K1 EQU p1.0

K2 EQU P1.1

K3 EQU p1.2

K4 EQU P1.3

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP TIME

ORG 0100H

MAIN: MOV SP, #50H

MOV 20H, #3CH ;时间 BIN SECOND

MOV 21H, #3CH ; BIN MINUTE

MOV 22H, #18H ; BIN HOUR

MOV 23H, #01H ;闹铃 BIN MINUTE

MOV 24H, #01H ; BIN HOUR

MOV 25H, #00H ;定义一个标志位

MOV 30H, #00H ;时间 BCD SECOND MOV 31H, #00H

MOV 32H, #00H ; BCD MINUTE

MOV 33H, #00H

MOV 34H, #00H ; BCD HOUR

MOV 35H, #00H

MOV 36H, #01H ;闹铃 BCD MINUTE

MOV 37H, #00H

MOV 38H, #01H ; BCD HOUR

MOV 39H, #00H

MOV TMOD, #01H ;16位计数器T0,方式1

MOV THO, #03CH ;赋初值

MOV TLO, #0B0H

MOV IE, #10000111B;开中断TO,EA=1

SETB TRO ;T0启动计数

MOV R2, #14H ;计数器

MOV P2, #0FFH

LOOP:LCALL TIMEPRO ;调用现在时间与闹铃时间比较程序 LCALL DISPLAY1 ;调用现在时间显示子程序

JB K1,M1 ;判断按键是否按下

LCALL XIAOZHEN1 ;调用消抖程序

MOV C, 25H.0

JC A1

A1: CLR 25H.0

LCALL SETTIME ;调用设置现在时间子程序

LJMP LOOP

M1: JB K2, M2

LCALL XIAOZHEN2

MOV C, 25H.0

JC A2

A2: CLR 25H.0

LCALL SETTIME ;调用设置闹钟的程序

LJMP LOOP

M2: JB K4, M3

A3: LCALL XIAOZHEN3

MOV C, 25H.0

JC A4

A4: CLR 25H.0

M3: LJMP LOOP

SETTIME:

LO: LCALL DISPLAY1

JB K2, L1

LCALL XIAOZHEN4

MOV C, 25H.0

JC A5

A5: CLR 25H.0

DEC 22H

MOV A,22H

CJNE A,#18H,G012 MOV 22H, #00H

MOV 34H, #00H

MOV 35H, #00H

LJMP L0

L1: JB K3, L2

LCALL XIAOZHEN5 MOV C, 25H.0

JC A6

A6: CLR 25H.0

DEC 21H

MOV A,21H

CJNE A,#3CH,G011

相关文档
最新文档