资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机课程设计说明书单片机课程设计说明书 题 目 基于AT89S52单片机的LED数字倒计时器设计 系 部 机械工程系 专 业 机电一体化 班 级 309-1 学生姓名 学 号 200930701041 指导教师 2011年 06月 16 日目 录1 设计任务与要求22 设计方案23 硬件电路设计与主要元器件分析33.1 6位LED数码管显示33.2 LED倒计时器元件清单33.3 主要元器件分析43.3.1 单片机AT89S5243.3.2 集成块74LS24543.4 基本硬件电路分析53.4.1复位电路53.4.2 按键电路53.5 LED倒计时器原理图64 软件设计84.1程序流程图84.2 程序清单95 调试过程206 结论207 附录211 设计任务与要求近年来随着计算机在社会领域的渗透,单片机的应用正在不断深入人们的生活,同时带动传统控制检测日新月异。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构,针对具体应用特点与软件结合。本项目讨论了LED数字倒计时器的设计与制作,此方案线路简单,成本低,应用前景广阔。本次设计的任务与要求是,使基于AT89S52单片机的LED数字倒计时器主要具有如下功能:(1)LED数码管显示倒计时时间。(2)倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出约2s的报警声音。(3)通过按键可以对倒计时设定初值。倒计时初始值范围在24:00:0000:00:60之间,用户可根据需要对其进行设置,设置成功后复位初始值为成功设定值。2 设计方案 LED数字倒计时器以AT89S52单片机为核心,系统包括六位数码管显示电路,按键电路,电源电路,复位电路,晶振电路以及蜂鸣器电路几部分,LED数字倒计时器设计框图如下:AT89S52 单片机电源电路复位电路晶振电路6位数码管显示电路蜂鸣器电路按键电路图1 LED数字倒计时器设计框图3 硬件电路设计与主要元器件分析3.1 6位LED数码管显示本项目设计采用了6位数码管显示电路,在设计6位LED显示时,为了简化电路,降低成本,采用动态显示方式,6个LED显示器共用一个8位的I/O,6位LED数码管的位选线分别由相应的P2.0p2.5控制,而将相应的段选线并联在一起,由一个8位的I/O口控制,即p0口。译码显示电路将“时”、“分”、“秒”显示数字进行校对调整。3.2 LED倒计时器元件清单表1 LED数字倒计时器元件清单元件名称型号数量/个用途单片机AT89S521控制核心晶振12MHz1晶振电路电容30pF2晶振电路电解电容22F/10V1复位电路电阻10k1复位电路按键5按键电路数码管共阳6显示器集成块74LS2453驱动三极管2N50881蜂鸣器喇叭8/0.5W1蜂鸣器电阻1k2蜂鸣器电阻1001蜂鸣器电阻2.7k4上拉电阻电阻3308上拉电阻电源+5V/0.5A1提供+5V集成块74LS071驱动3.3 主要元器件分析3.3.1 单片机AT89S52AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.3.2 集成块74LS24574LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收) *DIR=“1”,信号由 A 向 B 传输;(发送)当/CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端/1G和/2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,/E端接地,保证数据现畅通。3.4 基本硬件电路分析3.4.1复位电路复位是单片机的初始化操作,只需给AT89S52的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可得单片机复位,复位时,PC初始化为0000H,使单片机从OUT单元开始执行程序。除了进入系统的正常初始化之外由于程序运行出错或操作错误而使系统处于死锁状态,为摆脱死锁状态,也需按复位键使得RST脚为高电平,使单片机重新启动。图2 复位电路原理图3.4.2 按键电路按键电路的按键功能说明:(1)K1用于设置时间和闹钟的小时。(2)K2用于设置小时以及设置闹钟的开关。(3)K3用于设置分钟和闹钟的分钟。(4)K4用于设置完成退出。3.5 LED倒计时器原理图图3 LED数字倒计时器原理图L 4 软件设计4.1程序流程图开始CPU系统初始化定时器0初始化中断初始化设置时间?设置闹铃时间显示刷新启动走时有关变量初始化时分变化?刷新显示1秒到秒指示闹铃时间?蜂鸣器结束YNYNYNYN图4 LED数字倒计时器程序流程图4.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 A1A1: CLR 25H.0LCALL SETTIME ;调用设置现在时间子程序LJMP LOOPM1: JB K2, M2LCALL XIAOZHEN2MOV C, 25H.0JC A2A2: CLR 25H.0LCALL SETTIME ;调用设置闹钟的程序LJMP LOOPM2: JB K4, M3A3: LCALL XIAOZHEN3MOV C, 25H.0JC A4A4: CLR 25H.0M3: LJMP LOOPSETTIME:LO: LCALL DISPLAY1 JB K2, L1 LCALL XIAOZHEN4 MOV C, 25H.0JC A5A5: CLR 25H.0 DEC 22H MOV A,22H CJNE A,#18H,G012 MOV 22H, #00HMOV 34H, #00HMOV 35H, #00H LJMP L0L1: JB K3, L2 LCALL XIAOZHEN5MOV C, 25H.0JC A6A6: CLR 25H.0 DEC 21H MOV A,21H CJNE A,#3CH,G011 MOV 21H, #00HMOV 32H, #00HMOV 33H, #00H LJ
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号