ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:123.43KB ,
资源ID:30149450      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30149450.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于AT89S52单片机的数字倒计时器设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于AT89S52单片机的数字倒计时器设计.docx

1、基于AT89S52单片机的数字倒计时器设计单片机课程设计说明书 题 目 基于AT89S52单片机的LED数字倒计时器设计 系 部 机械工程系 专 业 机电一体化 班 级 309-1 学生姓名 颜杰 学 号 200930701041 指导教师 安红战 2011年 06月 16 日目 录1 设计任务与要求 22 设计方案 23 硬件电路设计与主要元器件分析 33.1 6位LED数码管显示 33.2 LED倒计时器元件清单 33.3 主要元器件分析 43.3.1 单片机AT89S52 43.3.2 集成块74LS245 43.4 基本硬件电路分析 53.4.1复位电路 53.4.2 按键电路 53.

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

3、间。(2)倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出约2s的报警声音。(3)通过按键可以对倒计时设定初值。倒计时初始值范围在24:00:0000:00:60之间,用户可根据需要对其进行设置,设置成功后复位初始值为成功设定值。2 设计方案 LED数字倒计时器以AT89S52单片机为核心,系统包括六位数码管显示电路,按键电路,电源电路,复位电路,晶振电路以及蜂鸣器电路几部分,LED数字倒计时器设计框图如下:图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.7

5、k4上拉电阻电阻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字节RA

6、M,32 位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程序流程图图4 LED数字倒计时器程序流程图4.2 程序清单 程序清单如下: K1 EQU p1.0 K2 EQU P1.1 K3 EQU p1.2 K4 EQU P1.3 ORG 0

9、000H 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,

10、 #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 ;调用现在时间与闹铃时

11、间比较程序 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:

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

13、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 K3, N1LCALL XIAOZHEN6MOV C, 25H.0JC A7A7: CLR 25H.0DEC 24HMOV A, 24H CJNE A,#

14、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, B MOV 37H, ALJMP N0G022: MOV B, #0AH DIV AB MOV 38H, B MOV 39H, ALJMP N0N2:

15、 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 DISPLAY2CLR 25H.0JB K4,X1RETBZ: CLR P3.7MOV R7, #250T2: MOV R6, #124T3: DJNZ R6,T3DJNZ

16、 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 STOP1SETB 25H.0RETXIAOZHEN2: LCALL DISPLAY2 JB K2,XIAOZHEN2MOV C, K2JC XIAOZHEN2STOP

17、2: 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.0RETXIAOZHEN4: LCALL DISPLAY1 JB K2,XIAOZHEN4MOV C, K2JC XIAOZHEN4LCALL DELAYM

18、OV 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, K3JNC STOP5SETB 25H.0RETXIAOZHEN6: LCALL DISPLAY2 JB K3, XIAOZHEN6 MOV C,

19、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 STOP7: MOV C, K1 JNC STOP7 LCALL DELAY MOV C, K1 JNC STOP7 SETB 25H.0 RETDE

20、LAY: 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 A, 21HDEC ACJNE A, #3CH, G02MOV 21H, #0HMOV 32H, # 0 MOV 33H, # 0 MOV A, 22H

21、 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, # OAHDIV ABMOV 35H, AMOV 34H, BAJMP RETORETO: POP PSW POP ACC RETIDISPLAY1: M

22、OV 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 PSW MOV RO, # 36H MOV A, R3 PLAY2: MOV P2, A MOV A,R0 MOV DPTR, # DSEG1 MOVC

23、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, 66H DB 6DH, 7DH, 07H, 7FH, 6FH END5 调试过程 应用系统设计完成之后,要进行硬件调试和软件调试。软件调试可以利用开发

24、及仿真系统进行。1 硬件调试硬件的调试主要是把电路各种参数调整到符合设计要求。具体如下:(1)先排除硬件电路故障,包括设计性错误和工艺性故障。一般原则是先静态后动态。(2)利用万用表或逻辑测试仪器,检查电路中的各个器件以及引脚是否连接正确,是否有短路故障。(3)先要将单片机AT89S52芯片取下,对电路板进行通电检查,通过观察看是否有异常,然后用万用表测试各电源电压,若这些都没有问题,则接上仿真机进行联机调试观察各接口线路是否正常。2软件调试软件调试是利用仿真工具进行在仿真调试,除发现和解决程序错误以外,也可以发现硬件故障。6 结论单片机的应用正在不断深入人们的生活,同时带动传统控制检测日新月

25、异。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。通过本次设计,使我们认识并了解了基本的设计开发过程,在这过程中,我的身边的同学们给了我很大的启示和帮助,而且我觉得对以前不了解的单片机只是有了一个更感更深的了解。我相信我所学的东西在以后的工作学习中会起很大的作用。在本次设计中得到了指导老师邹老师的大力支持,在此表示感谢!7 附录利用单片机内部的定时器溢出中断来实现定时,设定某定时器每100ms中断1次,则10次的周期为1s。这种实现法的特点是精度高,秒脉冲的发生和其他处理可以并行进行。.显示子程序.DISP: MOV A, R0 ORL P2

26、,#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指导教师评语:成绩: 指导教师签字: 年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1