




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、60秒旋转电子钟任务书一、任务设计一款基于AT89C2051单片机的电子钟。二、设计要求1、基本要求用4只LED数码管输出显示时和分。可通过按键设置闹钟功能,且停闹无须手工操作。可通过按键设置分校时。月计时误差小于45秒。写出详细的设计报告。给出全部电路和源程序。(7)给出proteus仿真电路。2、发挥部分用60只LED发光管旋转显示,模拟 秒针”的行走。模拟秒针”行走的 嘀 哒”声。(3) 增加停(掉)电保护功能。(4) 增加日自动校准功能,使得该电子钟 永无误差”(5) 增加红黄绿三色变色装饰。(6) 可通过按键设置一天两闹(比如早晨、中午各一次)。一引言电子钟是一种利用数字电路来显示秒
2、、分、时的计时装置,与传统的机械钟相 比,它具有走时准确、显示直观、无机械传动装置等优点,因而电子钟得到广泛 应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。1要完成的任务要求该电路具有显示日期、时间、的基本功能,还可以通过按键实现对它们的调 整,并且能够显示星期。2系统主要功能周边60只发光管顺时旋转来显示秒,中间四只LED数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。其主要功能有:整点报时;四只 LED数码管显示当前时分;每隔一秒钟周边的 60只LED发光管旋转一格,装饰用的LED每隔一秒旋转一次。当发生停电事件 时,由后备电池供电,系统进入低功耗状态,
3、所有显示部件停止显示,这样即延 长了电池的寿命,同时又保证了 CPU继续计数,不至于因停电而时钟停止运 行。当恢复供电后,系统自动恢复工作状态,不影响计时。二.系统的硬件设计1系统的硬件构成及功能电脑钟的原理框图如图2所示。它由以下几个部件组成:单片机89C2051、电源、时分显示部件、60秒旋转译码驱动电路。时分显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。时分显示模块、60秒旋转译码驱动电路以及显示驱动都通过 89C2051的I/O 口控制。电源部分:电源部分有二部分组成。一部分是由220V的市电通过变压、整流稳ATcn9cy51时例显刁齢时,分) v 电踪压来得到+
4、5V电压,维持系统的正常工作;另一部分是由 3V的电池供电,以保 证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。具体 电路参见 新颖的60秒旋转电子钟参考电路原理图”。图2电子钟系统原理框图2 AT89C2051单片机及其引脚说明AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。内部 自带2K字节可编程FLASH存储器的低电压、高性能 COMS八位微处理器,与 Intel MCS-51系列单片机的指令和输出管脚相兼容。由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最 简单、造价最低廉、效率最
5、高的微控制系统,省去了外部的RAM、ROM和接口PDIP/SOICRST202VCC(RXD)P3.0E219JPL718PL6XTA12Q4173PL5XTAL1E516JPL4R)P3,2C15:P1J(INT1)P33 C14PL2fT0)P34D13PL1(AIN1)(T1)P35 12JPL0(AIN0)GNDL1011器件,减少了硬件开销,节省了成本,提高了系统的性价比。AT89C2051是一个有20个引脚的芯片,弓I脚配置如图3所示。与8051相比,AT89C2051减少了两个对外端口(即P0、P2 口),使它最大可能地减少了对外 引脚下,因而芯片尺寸有所减小。AT89C2051
6、芯片的20个引脚功能为:图3 AT89C2051引脚配置VCC电源电压。GND接地。RST复位输入。当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至 “1。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡放大器的输出。P1 口 8位双向I/O 口。引脚P1.2P1.7提供内部上拉,当作为输入并被外部下拉 为低电平时,它们将输出电流,这是因内部上拉的缘故。P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AINO )和反向输入(AIN1),P1 口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1 口引脚写入“ 1后,可用作输
7、入。在闪速编程与编程校验期间, P1 口也可接收编 码数据。P3 口引脚P3.0P3.5与P3.7为7个带内部上拉的双向I/O引脚。P3.6在内部已与 片内比较器输出相连,不能作为通用I/O引脚访问。P3 口的输出缓冲器能接收 20mA的灌电流;P3 口写入“1后,内部上拉,可用输入。P3 口也可用作特殊功 能口,其功能见表1。P3 口同时也可为闪速存储器编程和编程校验接收控制信 号。表1 P3 口特殊功能P3 口引脚特殊功能P3. 0RXD (串行输入LI)P3. 1TXD申行输岀口)P3.2INTO (外部中断0)P3. 3丽(外部中断P3.4T0 (定时器0外部输入)P3, 5T1 (定
8、时器1外部输入)三. 软件系统的设计1系统的软件构成及功能本系统的软件系统主要可分为主程序和定时器中断程序两大模块。在程序过程 中,加入了抗干扰措施。下面对部分模块作介绍。系统主程序流程图2序设计思想主程序的功能是完成系统的初始化,在显示时间之前,对系统是否停电状态进行 检测;若停电,将系统进入低功耗状态,用电池电压维持单片机计时工作,但此 时不显示时间,用节省用电;若不停电,则将时分发送显示。3中断程序设计中断程序完成时间计数,时间调整,误差消除等功能。中断采用AT89C2051内部T0中断实现,定时时间为125ms,当时间到达125mSX8,即1分钟时,分计数 缓冲器MINBUFFER增加
9、1,到达1小时,则时计数缓冲器 HOURBUFFER增加1,并将分、时的个位、十位放入显示缓冲器。当分计数缓冲器和时计数缓冲器 分别到达60min、24h时,则对它们清零,以便从新计数。在中断设计中,还通 过软件实现了累计误差消除功能,使整个系统时间的精确度得到保证。中断图4应用说明第一,通过USB接口给单片机上电,打开单片机开关,首先观察单片机电源指 示灯是否亮。按照如上步骤,我们的电子钟电源灯是亮的,这说明系统能够正常 供电。第二,显示电路的调试检查它与单片机的连线:设计是RS接的P07口,要保证它为高电平。EN接口接单片机的P05端,也要保证它为高电平;读写信 号低电平有效;编写一段显示
10、程序,烧录到单片机看是否能正常显示。很遗憾的 是我们的单片机打开开关后还是只有电源指示灯亮,后来我们发现是我们代码编 写错误。60秒旋转电子钟部分参考程序清单ALARMHBUFF2 EQU 77HALARMHBUFF1 EQU 76HALARMMBUFF2 EQU 75HALARMMBUFF1 EQU 74HHBUFF2 EQU 73HHBUFF1 EQU 72HMBUFF2 EQU 71HMBUFF1 EQU 70HDP EQU 6FHNUM EQU 78HSBUFF EQU 79HMBUFF EQU 7AHHBUFF EQU 7BHALARMMBUFF EQU 7CHALARMHBUFF
11、EQU 7DHNUMT1 EQU 67HNUMT2 EQU 68HKEYNUMT1EQU 69HKEYNUMT2 EQU 6AHST0REKEYNUMT2 EQU 6BHST0REKEYNUMT1 EQU 6CHORG 0000HAJMP STARTORG 000BHMOV TH0 , #0BH MOV TL0 , R4AJMP INTERT0ORG 001BHAJMP INTERT1ORG 0040HSTART: MOV NUMT1 , #00HMOV NUMT2 , #00HMOV KEYNUMT1 , #00H MOV KEYNUMT2 , #00HMOV STOREKEYNUMT2 ,
12、 #00H MOV STOREKEYNUMT1 , #00H MOV NUM , #8MOV DPTR , #TABMOV ALARMHBUFF , #18H MOV ALARMMBUFF , #55H MOV ALARMHBUFF2, #01H MOV ALARMHBUFF1, #08H MOV ALARMMBUFF2 , #05H MOV ALARMMBUFF1 , #05HMOV HBUFF2, #01H MOV HBUFF1, #08HMOV MBUFF2 , #05HMOV MBUFF1 , #03HMOV HBUFF , #18HMOV MBUFF , #53HMOV SBUFF
13、, #3CH MOV TCON , #05H MOV TMOD , #11H MOV TH0 , #0BHMOV TL0 , #0DBHMOV TH1 , #3CH MOV TL1 , #0B0HMOV IE , #82H SETB PT0 SETB TR0 SETB P3.2SETB P3.3START1: MOV A , HBUFFSUBB A , #7HJC START2MOV A , HBUFFSUBB A , #21HJNC START2ACALL DISPLAYACALL ZDBSAJMP START3START2: ACALL NIGHTDISPLAYSTART3: MOV A
14、,ALARMHBUFF CJNE A , HBUFF , START4MOV A , ALARMMBUFFCJNE A , MBUFF ,START4MOV C, DPMOV P3.2, CMOV A , SBUFFJNZ START1SETB P3.2START4: JNB P3.2,ADJUSTTIME1JNB P3.3,ADJUSTTIME2AJMP START1AJMP START1 *J;*intO中断子程序* *JADJUSTTIME1:NOPMOV KEYNUMT1 ,#00HMOV TH1 , #3CH MOV TL1 , #0B0HSETB ET1 SETB PT1 SETB
15、 TR1 MOV STOREKEYNUMT1 , KEYNUMT1 TIME1_1:ACALL DISPLAYMOV A , KEYNUMT1CJNE A , STOREKEYNUMT1,TIME1_2 AJMP TIME1_3TIME1_2:MOV STOREKEYNUMT1 , KEYNUMT1 ACALL ADDBUFF0 TIME1_3:JNB P3.2,TIME1_1CLR ET1CLR PT1CLR TR1AJMP START1 *.*时间增1分*.*ADDBUFFO:MOV A , MBUFFADD A , #1DA AMOV MBUFF , AANLA,#0FHMOV MBUF
16、F1 , AMOV A , MBUFFSWAP AANLA,#0FHMOV MBUFF2 , AMOV A , MBUFFCJNE A , #60H , ADDBUFF1MOV MBUFF , #00HMOV MBUFF2 , #00HMOV MBUFF1 , #00HMOV A , HBUFF ADD A , #1DA AMOV HBUFF , AANLA,#0FHMOV HBUFF1 , AMOV A , HBUFFSWAP AANLA,#OFHMOV HBUFF2 , AMOV A , HBUFFCJNE A , #24H , ADDBUFF1 MOV HBUFF , #00HMOV H
17、BUFF2 , #00HMOV HBUFF1 , #00HADDBUFF1:RET *;*in t1中断子程序*.*ADJUSTTIME2: NOPACALL DL100MSMOV C , P3.3JC TIME2_6MOV KEYNUMT2 , #00HMOV STOREKEYNUMT2 , KEYNUMT2TIME2_1:NOPMOV TH1 , #3CHMOV TL1 , #0B0HSETB ET1SETB PT1SETB TR1TIME2_2:ACALL ALARMDISPLAYMOV A , KEYNUMT2CJNE A , STOREKEYNUMT2 ,TIME2_3AJMP TI
18、ME2_4TIME2_3: MOV STOREKEYNUMT2 , KEYNUMT2MOV A , ALARMMBUFF ADD A , #1DA AMOV ALARMMBUFF , AANLA,#0FHMOV ALARMMBUFF1 , AMOV A , ALARMMBUFFSWAP AANLA,#0FHMOV ALARMMBUFF2 , AMOV A , ALARMMBUFFCJNE A , #60H , TIME2_4MOV ALARMMBUFF , #00HMOV ALARMMBUFF2 , #00HMOV ALARMMBUFF1 , #00HMOV A , ALARMHBUFF AD
19、D A , #1DA AMOV ALARMHBUFF,AANLA,#0FHMOV ALARMHBUFF1 , AMOV A , ALARMHBUFFSWAP AANLA,#0FHMOV ALARMHBUFF2 , AMOV A , ALARMHBUFFCJNE A , #24H , TIME2_4MOV ALARMHBUFF , #00HMOV ALARMHBUFF2 , #00HMOV ALARMHBUFF1 , #00HTIME2_4:NOPJNB P3.3,TIME2_2 CLR ET1CLR TR1MOV KEYNUMT2 , #00HMOV NUMT2 , #00HMOV R2 ,
20、#10TIME2_7:MOV R1 , #200 TIME2_5:ACALL ALARMDISPLAYACALL DL1MSJNB P3.3 , TIME2_1DJNZ R1 , TIME2_5DJNZ R2 , TIME2_7TIME2_6:CLR ET1CLR PT1CLR TR1LJMP START1.*Ti 中断子程序 *.*INTERT1:N0PMOV TH1 , #3CHMOV TL1 , #0B0HPUSH ACCPUSH PSWCLR ET0CLR ET1MOV A , NUMT1INC AMOV NUMT1 , ACJNE A , #5 , INTERT1NEXT MOV A
21、 ,KEYNUMT1INC AMOV KEYNUMT1 , AMOV NUMT1 , #00HINTERT1NEXT:NOPMOVA,NUMT2INC AMOV NUMT2 , ACJNE A, #5,ENDINTERT1MOV A , KEYNUMT2INC AMOV KEYNUMT2 , AMOV NUMT2 , #00HENDINTERT1: SETB ET1SETB ET0POP ACCPOP PSWRETI.*J;*整点报时*.*ZDBS: MOV A , MBUFF JNZ ZDBSENDMOV A , SBUFFCJNE A , #3CH,ZDBSENDCLR P3.2ACALL
22、 DL0FIVESETB P3.2ZDBSEND:RET *J;*定闹显示子程序* *JALARMDISPLAY: MOV P1 ,#0FFH MOV A , ALARMHBUFF2MOVC A , A+DPTRSETB ACC.7MOV P1 , ACLR P3.0ACALL DL1MSSETB P3.0MOV A , ALARMHBUFF1 MOVC A , A+DPTRMOV C , DPMOV ACC.7 , CMOV P1 , ACLR P3.1ACALL DL1MSSETB P3.1MOV A ,ALARMMBUFF2 MOVC A , A+DPTRMOV C , DPMOV AC
23、C.7 , CMOV P1 , ACLR P3.4ACALL DL1MSSETB P3.4MOV A , ALARMMBUFF1 MOVC A , A+DPTRSETB ACC.7MOV P1,ACLR P3.5ACALL DL1MSSETB P3.5RET.* *晚上显示子程序NIGHTDISPLAY: NOP* *MOV P1 ,#0FFHMOV A , HBUFF2MOVC A , A+DPTRSETB ACC.7MOV P1 , ACLR P3.0ACALL DL1MS SETB P3.0ACALL DL1MSACALL DL1MS MOV A , HBUFF1MOVC A , A+D
24、PTRMOV C , DPMOV ACC.7 , CMOV P1 , ACLR P3.1ACALL DL1MSSETB P3.1ACALL DL1MSACALL DL1MS MOV A ,MBUFF2 MOVC A , A+DPTR MOV C , DP MOV ACC.7 , C MOV P1 , A CLR P3.4 ACALL DL1MSSETB P3.4ACALL DL1MS ACALL DL1MSMOV A , MBUFF1 MOVC A , A+DPTR SETB ACC.7 MOV P1,A CLR P3.5* *ACALL DL1MS SETB P3.5 ACALL DL1MS
25、 ACALL DL1MS RET显示子程序 * ;* DISPLAY: MOV P1 ,#0FFHMOV A , HBUFF2 MOVC A , A+DPTR SETB ACC.7 MOV P1 , A CLR P3.0ACALL DL1MS SETB P3.0MOV A , HBUFF1 MOVC A , A+DPTR MOV C , DP MOV ACC.7 , C MOV P1 ,A CLR P3.1 ACALL DL1MS SETB P3.1MOV A ,MBUFF2MOVC A , A+DPTRMOV C , DPMOV ACC.7 , CMOV P1 , ACLR P3.4ACAL
26、L DL1MSSETB P3.4MOV A , MBUFF1MOVC A , A+DPTRSETB ACC.7MOV P1,ACLR P3.5ACALL DL1MSSETB P3.5RETTAB: DB 88H,0BBH,94H,91H,0A3H ; 0 1 2 3 4 DB 0C1H,0C0H,9BH,80H,81H ; 5 67 8 9 *J;*延时程序* *JDL1MS: MOV R6 , #20 DL11: MOV R7 , #25DL12: DJNZ R7 , DL12DJNZ R6 , DL11RETDL100MS:M0V R6 , #200 DL100MS1:M0V R7 , #
27、250DL100MS2:DJNZ R7 , DL100MS2DJNZ R6 , DL100MS1RETDL11S: MOV R5 , #10DL1S0: MOV R6 , #200 DL1S1: MOV R7 , #250DL1S2: DJNZ R7 , DL1S2DJNZ R6 , DL1S1DJNZ R5 , DL1S0RETDL0FIVE:MOV R5 , #5DL0: MOV R6 , #100 ;DL1: MOV R7 , #250DL2: DJNZ R7 , DL2DJNZ R6 , DL1DJNZ R5 , DL0RET *J;*T0中断子程序* *JINTERTO:PUSH ACCPUSH PSWCLR ETO MOV A , SBUFFCJNE A ,#028H, SET1MOV R4 , #0DCH SET1: DJNZ NUM , ENDINTT0 MOV NUM , #8 CPL DPDJNZ SBUFF , ENDINTT0 MOV SBUFF , #03CHMOV R4 , #0DBHACALLADDBUFF0ENDINTT0: MOV A , NUMCJNE A , #04H , ENDT0OUT CPL DPENDT0OUT:POP PSWPOP ACCSETB ET0R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国锦纶切片行业竞争格局规划研究报告
- 2025-2030年中国铜矿采选行业发展状况及营销战略研究报告
- 2025-2030年中国蜂窝纸板市场运营状况及投资战略研究报告
- 2025-2030年中国药学教育发展模式及未来投资战略分析报告
- 2025-2030年中国聚碳酸酯pc行业运行状况规划分析报告
- 2025-2030年中国粗杂粮行业竞争格局及发展前景分析报告
- 2025-2030年中国空气污染治理设备市场经营状况及发展趋势分析报告
- 2025-2030年中国码垛机器人市场运行动态及发展前景分析报告
- 幼儿健康有营养的蔬菜教案(12篇)
- 中国传媒大学《电子与电工技术》2023-2024学年第二学期期末试卷
- 四川省2024年中考数学试卷十七套合卷【附答案】
- 北师大版二年级数学下册全册10套试卷(附答案)
- GB/T 2423.17-2024环境试验第2部分:试验方法试验Ka:盐雾
- 数字出版概论 课件 第六章 数字内容加工、管理技术
- 糖尿病并发症的早期筛查
- 2019年山东省职业院校技能大赛中职组“沙盘模拟企业经营”赛项规程
- GB/T 32399-2024信息技术云计算参考架构
- 初中体育与健康 初二 水平四(八年级)田径大单元教学设计+快速跑教案
- 2024年西南大学附中初升高选拔测试语文试卷真题(精校打印)
- 2024-2025学年华东师大版数学七年级上册计算题专项训练
- 移动通信运营商仓库安全管理制度
评论
0/150
提交评论