单片机课程设计说明书基于AT89S52单片机的数字倒计时器设计.doc

上传人:仙人指路1688 文档编号:4147669 上传时间:2023-04-07 格式:DOC 页数:26 大小:148.50KB
返回 下载 相关 举报
单片机课程设计说明书基于AT89S52单片机的数字倒计时器设计.doc_第1页
第1页 / 共26页
单片机课程设计说明书基于AT89S52单片机的数字倒计时器设计.doc_第2页
第2页 / 共26页
单片机课程设计说明书基于AT89S52单片机的数字倒计时器设计.doc_第3页
第3页 / 共26页
单片机课程设计说明书基于AT89S52单片机的数字倒计时器设计.doc_第4页
第4页 / 共26页
单片机课程设计说明书基于AT89S52单片机的数字倒计时器设计.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《单片机课程设计说明书基于AT89S52单片机的数字倒计时器设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计说明书基于AT89S52单片机的数字倒计时器设计.doc(26页珍藏版)》请在三一办公上搜索。

1、单片机课程设计说明书 题 目 基于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

2、 调试过程206 结论207 附录211 设计任务与要求近年来随着计算机在社会领域的渗透,单片机的应用正在不断深入人们的生活,同时带动传统控制检测日新月异。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构,针对具体应用特点与软件结合。本项目讨论了LED数字倒计时器的设计与制作,此方案线路简单,成本低,应用前景广阔。本次设计的任务与要求是,使基于AT89S52单片机的LED数字倒计时器主要具有如下功能:(1)LED数码管显示倒计时时间。(2)倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出约2s的报警声音。(3)

3、通过按键可以对倒计时设定初值。倒计时初始值范围在24:00:0000:00:60之间,用户可根据需要对其进行设置,设置成功后复位初始值为成功设定值。2 设计方案 LED数字倒计时器以AT89S52单片机为核心,系统包括六位数码管显示电路,按键电路,电源电路,复位电路,晶振电路以及蜂鸣器电路几部分,LED数字倒计时器设计框图如下:AT89S52 单片机电源电路复位电路晶振电路6位数码管显示电路蜂鸣器电路按键电路图1 LED数字倒计时器设计框图3 硬件电路设计与主要元器件分析3.1 6位LED数码管显示本项目设计采用了6位数码管显示电路,在设计6位LED显示时,为了简化电路,降低成本,采用动态显示

4、方式,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上拉电

5、阻电阻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

6、位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.3.2 集成块74LS24574LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当片选端/

7、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单元开始执行程序。除了进入系统的正常初始化

8、之外由于程序运行出错或操作错误而使系统处于死锁状态,为摆脱死锁状态,也需按复位键使得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数字倒计时

9、器程序流程图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 ;定义一个标志位 MO

10、V 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 SET

11、B 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 ;调用设置闹钟的程

12、序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:

13、 CLR 25H.0 DEC 21H MOV A,21H CJNE A,#3CH,G011 MOV 21H, #00HMOV 32H, #00HMOV 33H, #00H LJMP L0GO11: MOV B,#0AHDIV ABMOV 32H, BMOV 33H, A LJMP L0GO12: MOV B,#0AHDIV ABMOV 34H, BMOV 35H, A LJMP L0L2: JB K4, L0LCALL XIAOZHEN3MOV C, 25H.0JC AXAX: CLR 25H.0RETSETATIME: LCALL DISPLAY2NO: LCALL DISPLAY2JB K

14、3, N1LCALL XIAOZHEN6MOV C, 25H.0JC A7A7: CLR 25H.0DEC 24HMOV A, 24H CJNE A,#24,G022 MOV 24H, #00HMOV 38H, #00HMOV 39H, #00HLJMP N0N1: JB K1 N2 LCALL XIAOZHEN7MOV C, 25H.0JC A8A8: CLR 25H.0DEC 23HMOV A, 23HCJNE A,#60,G021 MOV 23H, #00HMOV 36H, #00HMOV 37H, #00HLJMP N0G021: MOV B, #0AH DIV AB MOV 36H,

15、 B MOV 37H, ALJMP N0G022: MOV B, #0AH DIV AB MOV 38H, B MOV 39H, ALJMP N0N2: JB K4 N0 LCALL XIAOZHEN3MOV C, 25H.0JC A9A9: CLR 25H.0RETTIMEPRO: MOV A, 21HMOV B, 23H CJNE A, B, BK MOV A, 22HMOV B, 24HCJNE A, B, BKSETB 25H.0MOV C, 25H.0JC XXXX: LCALL TIMEOUTBK: RETTIMEOUT: X1: LCALL BZ LCALL DISPLAY2CL

16、R 25H.0JB K4,X1RETBZ: CLR P3.7MOV R7, #250T2: MOV R6, #124T3: DJNZ R6,T3DJNZ R7,T2JB K4,XYLCALL XIAOZHEN3MOV C, 25H.0JC XY1XY: RETXY1: LJMP LOOPXIAOZHEN1: LCALL DISPLAY1JB K1,XIAOZHEN1MOV C, K1LCALL JC XIAOZHEN1LCALL DELAYMOV C, K1JC XIAOZHEN1STOP1: MOV C, K1JNC STOP1LCALL DELAYMOV C, K1JNC STOP1SET

17、B 25H.0RETXIAOZHEN2: LCALL DISPLAY2 JB K2,XIAOZHEN2MOV C, K2JC XIAOZHEN2STOP2: MOV C, K2 JNC STOP2LCALL DELAYMOV C, K2JNC STOP2SETB 25H.0RETXIAOZHEN3: LCALL DISPLAY1 JB K4,XIAOZHEN3MOV C, K4JC XIAOZHEN3LCALL DELAYMOV C, K4JC XIAOZHEN3STOP3: MOV C, K4 JNC STOP3LCALL DELAYMOV C, K4JNC STOP3SETB 25H.0R

18、ETXIAOZHEN4: LCALL DISPLAY1 JB K2,XIAOZHEN4MOV C, K2JC XIAOZHEN4LCALL DELAYMOV C, K2JC XIAOZHEN4STOP4: MOV C, K2 JNC STOP4LCALL DELAYMOV C, K2JNC STOP4SETB 25H.0RETXIAOZHEN5: LCALL DISPLAY1 JB K3,XIAOZHEN5MOV C, K3JC XIAOZHEN5LCALL DELAYMOV C, K3JC XIAOZHEN5STOP5: MOV C, K3 JNC STOP5LCALL DELAYMOV C

19、, K3JNC STOP5SETB 25H.0RETXIAOZHEN6: LCALL DISPLAY2 JB K3, XIAOZHEN6 MOV C, K3 JC XIAOZHEN6 LCALL DELAY MOV C, K3 JC XIAOZHEN6 STOP6: MOV C, K3 JNC STOP6 LCALL DELAY MOV C, K3 JNC STOP6 SETB 25H.0 RETXIAOZHEN7: LCALL DISPLAY2 JB K1, XIAOZHEN7 MOV C, K1 JC XIAOZHEN7 LCALL DELAY MOV C, K1 JC XIAOZHEN7

20、 STOP7: MOV C, K1 JNC STOP7 LCALL DELAY MOV C, K1 JNC STOP7 SETB 25H.0 RETDELAY: MOV R4, #14H DL00: MOV R5, #OFFH DL11: DJNZ R5, DL11 DJNZ R4, DL00 RETTIME: PUSH ACC PUSH PSWMOVTH0, #03CHMOV TL0, #0B0HDJNZ R2, RET0MOV R2, #14HMOV A, 20HCLR CDEC ACJNE A, #0, G01MOV 20H, #3CHMOV 30H, #0MOV 31H, #0MOV

21、A, 21HDEC ACJNE A, #3CH, G02MOV 21H, #0HMOV 32H, # 0 MOV 33H, # 0 MOV A, 22H DEC A CJNE A, #18H,GO3 MOV 22H, # 00H MOV 34H, # 0 MOV 35H, # 0 AJMP RETOGO1: MOV 20H, AMOV B, # 0AHDIV ABMOV 31H, AMOV 30H, BAJMP RETOGO2: MOV 21H, AMOV B, # 0AHDIV ABMOV 33H, AEEHMOV 32H, BAJMP RETOGO3: MOV 22H, AMOV B, #

22、 OAHDIV ABMOV 35H, AMOV 34H, BAJMP RETORETO: POP PSW POP ACC RETIDISPLAY1: MOV R0, # 30H MOV R3, # 0EEH MOV A, R3 PLAY1: MOV P2, A MOV A,RO MOV DPTR, # DSEG1 MOVC A,A + DPTR MOV P0, A LCALL DL1 MOV P2, # 0EEH MOV A, R3 RL A JNB ACC.6, LD1 INC R0 MOV R3, A LJMP PLAY1 LD1: RETDISPLAY2: PUSH ACC PUSH P

23、SW MOV RO, # 36H MOV A, R3 PLAY2: MOV P2, A MOV A,R0 MOV DPTR, # DSEG1 MOVC A,A+DPTR MOV P0, A LCALL DLL MOV P2, # 0FFH MOV A, R3 RL A JNB ACC.6, LD2 INC R0 MOV R3, A LJMP PLAY2 LD2: POP PSW POP ACC RET DL1: MOV R7, # 05H DL: MOV R6, # 0FFH DL6: DJNZ R6, $ DJNZ R7, DL RETDSEG1: DB 3F, 06H, 5BH, 4FH,

24、 66H DB 6DH, 7DH, 07H, 7FH, 6FH END5 调试过程 应用系统设计完成之后,要进行硬件调试和软件调试。软件调试可以利用开发及仿真系统进行。1 硬件调试硬件的调试主要是把电路各种参数调整到符合设计要求。具体如下:(1)先排除硬件电路故障,包括设计性错误和工艺性故障。一般原则是先静态后动态。(2)利用万用表或逻辑测试仪器,检查电路中的各个器件以及引脚是否连接正确,是否有短路故障。(3)先要将单片机AT89S52芯片取下,对电路板进行通电检查,通过观察看是否有异常,然后用万用表测试各电源电压,若这些都没有问题,则接上仿真机进行联机调试观察各接口线路是否正常。2软件调试软

25、件调试是利用仿真工具进行在仿真调试,除发现和解决程序错误以外,也可以发现硬件故障。6 结论单片机的应用正在不断深入人们的生活,同时带动传统控制检测日新月异。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。通过本次设计,使我们认识并了解了基本的设计开发过程,在这过程中,我的身边的同学们给了我很大的启示和帮助,而且我觉得对以前不了解的单片机只是有了一个更感更深的了解。我相信我所学的东西在以后的工作学习中会起很大的作用。在本次设计中得到了指导老师邹老师的大力支持,在此表示感谢!7 附录利用单片机内部的定时器溢出中断来实现定时,设定某定时器每100ms

26、中断1次,则10次的周期为1s。这种实现法的特点是精度高,秒脉冲的发生和其他处理可以并行进行。.显示子程序.DISP: MOV A, R0 ORL P2,#00001110B ANL P2,#11111110B MOVC A,A+DPTRMOV P1,A LCALL DELAY MOV P1,A LCALL DELAYMOV A, R1ORL P2,#00001110B ANL P2,#11111110BMOVC A,A+DPTRMOV P1,A LCALL DELAY MOV P1,A LCALL DELAYMOV A, R2ORL P2,#00001110B ANL P2,#11111110BMOVC A,A+DPTRMOV P1,A LCALL DELAY MOV P1,A LCALL DELAYMOV A, R6ORL P2,#00001110B ANL P2,#11111110BMOVC A,A+DPTRMOV P1,ALCALL DELAYRET.延时子程序.DELAY:MOV R3,#25 D1: MOV R4,#25 DJNZ R4,$ DJRZ R3,D1指导教师评语:成绩: 指导教师签字: 年 月 日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号