电子时钟的设计_第1页
电子时钟的设计_第2页
电子时钟的设计_第3页
电子时钟的设计_第4页
电子时钟的设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 PAGE 27 页 共 NUMPAGES 27 页电子时钟的设计摘要 电子时钟作为一个定时工具被广泛地应用于生产生活的各个方面,而电子表具有价格便宜、质量轻、定时误差小等优点。本次设计的数字电子钟采用了AT89C51单片机进行汇编,由8位8段数码管进行动态刷新显示,有四个独立按键。可以进行秒、分、时的调整,开始时显示CLOCK,按任意键开始计时,最右边一位显示的小数点每0.5秒内闪一次,实现电子时钟的设计。操作简单,计时误差小,显示亮度高,具有良好的实用价值,也可以提高学生动手能力。关键字: AT89C51芯片 , Keil软件 , Proteus软件, LED显示屏 , 电子时钟目录绪论

2、31.1.引言31.2.电子时钟的背景32.设计说明4 2.1.总体说明4 2.2.总体结构图53硬件设计5 3.1.原件清单5 3.2原理图6 3.3.电路原件说明及原理图6 3.3.1.LED数码显示器6 3.3.2.复位电路8 3.3.3.时钟电路9 3.3.4.单片机引脚说明104软件设计114.1.程序流程图114.2.源程序115运行结果116.总结117.参考文献128.附录13附1 13附214附3141绪论11引言时钟从它发明的那天起就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的

3、老朋友焕发青春呢?这就要求人们不断设计出新型时钟。现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。 1.2电子时钟的背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提

4、高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的

5、一次革命。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。2.设计说明2.1.总体说明用单片机设计一个具有特定功能的电子钟。采用单片机内部定时器,用软件对其进行秒、分、时的计数,单片机无法产生1s的定时时间,但是可以采用T1计数相结合的方法实现,采用中断方式,即通过中断服务程序进行计数器溢出次数的累计,把定时器/计数器设定为62.5ms,计数溢出16次就可以得到1s,计60次为1分,60分计60次则为1小时,然后通过数码管动态刷新显示出来,再设四个按键进行时间的

6、调整,一个键用作启动/调整键,其余三个分别用于时、分、秒的调整。该电子钟开始通电后能自动显示系统提示符“CLOCK”,再按任意键进入计时状态,电子钟能显示时、分、秒,且各用两位显示器显示,如显示20-28-36表示时间为20小时28分36秒,在时钟的最右边的一位显示小数点,每0.5秒内闪动一次,用T1实现电子时钟,能用键盘设置时间值。2.2.总体结构框架显示电路晶振电路复位电路键盘3.硬件设计3.1. 原件清单原件名称所属类所属子类AT89C51Microprocessor ICs8051 familyCAPCapacitorsGenericCAP-ELECCapacitorsGenericC

7、RYSTALMiscellameousRESResistorsGeneric7SEG-MPX8-CC-BLUEOptoelectronics6-Segmeng Displays74LS245TTL 74LS seriesTransceiversBUTTONSwitches &RelaysSwitchesSOUNDERSpeakers&SounderLED-YELLOWOptoelectronicsLEDs3.2.原理图(见附录1)3.3.电路元件说明及原理图3.3.1.LED数码显示器LED显示块是由发光显示二极管显示字段的显示器件。它实际上是由8个发光二极管,其中7个发光二极管构成七笔字形“

8、8”,另一个发光二极管构成小数点。七段显示块与单片机接口非常容易。只要将一个8位并行输出与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符,通常将控制发光二极管的8位字节数据称为段选码。LED数码显示器内部有两种不同的形式:共阳极显示和共阴极显示,此设计采用共阴极显示。其内部结构及共阴极显示其内部电路如下:LED数码显示字形(段)码表如下:显示字形字形码(共阳极)字形码(共阴极)0C0H3FH1F9H06H2A4H5BH3B0H4FH499H66H592H6DH682H7DH7F8H07H880H7FH990H6FHA88H77HB83H7CHCC6H3

9、9HDA1H5EHE86H79HF8EH71H3.3.2.复位电路复位电路有上电自动复位和手动复位,此设计用的是上电复位,电路图如上。Pin9:RESET/VPD复位信号复位脚,当8951通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统及初始复位。 3.3.3.时钟电路89C51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器C1和C2通常取30PF,可稳定频率并对振荡频率有微调作用。此振荡脉冲频率为12MHZ。单片机时钟电路振荡脉冲可以由内部方式和外部方

10、式产生,XTAL1(19引脚)XTAL2(18引脚)即为单片机的两个时钟引脚。3.3.4按键功能按键处理设置为:如没有按键,则时钟正常走时。当按下k0按键时,时钟停止,进入时间调整状态;按K1可K2按键可对小时进行加1或减1操作;继续按K0键后可对分进行加1或减1操作;按K3键可将秒位进行清零;第三次按K0后,时钟在当前状态下重新开始计时运行。按键功能的实现,是通过对P3.0, P3.1, P3.2, P3.3脚的电位判断进行程序跳转。其接法如下图所示:3.3.4.单片机引脚说明Pin20:接地脚。Pin40:正电源脚,工作时,接+5v电源。Pin19:时钟XTAL1引脚,片内振荡电路的输入端

11、。Pin18:时钟XTAL2脚,片内振荡电路的输出端。4软件设计4.1.程序流程图(见附录2)4.2源程序(见附录3)5.运行结果开始显示“CLOCK”按下任意键后,开始计时,电子时钟可以显示小时-分钟-秒,可以用键盘设置时间值。(见附录4) 6.小结通过此次课程设计,我重新把单片机及相关知识联系在了一起,虽然掌握的知识不是很多,但通过查找资料我还是对单片机有了很好的了解和掌握。 在设计中我才发现单片机虽然体积小但是功能很强大,在生活中很多地方都可以用到它。单片机这门学科博大精深,在以后的学习中只有多看书,理论与实践结合才能把这门课掌握好。同时我也体会到合作的好处。让我懂得了如何合作,对不同看

12、法发表自己的意见。此次设计中最要的一点是,让我知道了,理论联系实践的好处。不管理论学的再怎么好都必须联系实践,只有在实践中我们才会更加懂得如何运用自己的所学,在实践中将自己的知识实物化。理论联系实践是我们获取知识的最佳途径。7.参考文献1张毅刚,彭喜元,单片机原理及接口技术M,人民邮电出版社. 2013-122程国钢,51单片机应有开发案例手册M,电子工业出版社,2011-113赵建领 崔昭霞,精通51单片机开发技术与应用实例M,电子工业出版社,2012-6 8.附录附1:附2:附3 :SEC EQU 30HMINEQU 31HHOUREQU 32HSECGEEQU 7FHSECSHIEQU

13、7EHMINGEEQU 7CHMINSHIEQU 7BHHOURGE EQU 79HHOURSHIEQU 78H;系统起始程序区 ORG 0000HSTART: LJMP MAINORG 000BHLJMP TC0;系统监控程序区ORG0030HMAIN:MOVSP,#80H ;初始化数据MOVPSW,#00HMOVTMOD,#01H ;定时器0工作方式1MOVTH0,#0D8H ;10MSMOVTL0,#0F0HSETBEASETBET0MOV R0, #20H ;RAM区首地址 MOV R7, #5FH ;RAM区单元个数 95个CHUSHI:MOV R0, #00H INC R0 ;将R

14、AM全部清零,初始化 DJNZ R7, CHUSHI TSF: MOV DPTR, #DISBH ;系统初始化 “CLOCK”字符代码表首地址 MOV R5, #08H MOV R0, #78HDISPTSF:CLR A MOVC A, A+DPTR MOV R0, A INC R0 INC DPTR DJNZ R5, DISPTSFD:LCALL DISP ;调显示子程序显示提示符“CLOCK”LCALLKEYJB20H.0,KEYALJMPD;键功能程序区:;S2键功能程序KEYA:MOVSEC, #0 ;寄存器初始化,秒寄存器MOVMIN, #0 ;分寄存器MOVHOUR, #0 ;时寄

15、存器MOV DPTR, #DISBI ;“00-00-00”字符代码表首地址 MOV R5, #08H MOV R0, #78HDISPTSG:CLR A MOVC A, A+DPTR MOV R0, A INC R0 INC DPTR DJNZ R5, DISPTSGKEYAS:SETB TR0 ;开定时器DI:LCALL DISPLCALL KEYJB 20H.0,CP LJMP DICP:CLR TR0;S2键按下,进入调整状态DD:LCALL DISPLCALL KEYJB 20H.0,KEYASJB 20H.1,KEYBJB 20H.2,KEYCJB 20H.3,KEYDLJMP D

16、D;S3键功能程序KEYB:LCALLHOUR_ ;调时LC:LCALLDISPLCALLKEYJB20H.0,KEYASJB20H.1,KEYBJB20H.2,KEYCJB20H.3,KEYDLJMPLC;S4键功能程序KEYC:LCALLMIN_ ;调分DIIS:LCALL DISP LCALLKEYJB20H.0,KEYASJB20H.1,KEYBJB20H.2,KEYCJB 20H.3,KEYDLJMPDIIS;S5键功能程序KEYD:LCALLSEC_ ;调秒DISS:LCALLDISPLCALLKEYJB20H.0,KEYASJB20H.1,KEYBJB20H.2,KEYCJB20

17、H.3,KEYDLJMPDISS;中断服务程序INTT0:PUSH ACCPUSH PSWMOV TH0,#4CHMOV TL0,#00HDJNZ 50H,RETI1 ;0.5秒到MOV 50H,#10CPL 0AH ;取反闪动位DJNZ 51H,RETI1MOV 51H,#2;1秒到MOV A,SECADD A,#01H TC0:PUSHACCPUSH BPUSHPSWSETBRS1CLRRS0MOVTH0,#0D8HMOVTL0,#0F0HINC33HMOVA,33HCJNE A,#100,REMOV33H,#0INCSECMOVA,SECMOVB,#10DIVABMOVSECSHI,AM

18、OVSECGE, BMOVA,SECCJNEA,#60,REINCMINMOVSEC,#00HMOVSECGE,#0MOVSECSHI,#0MOVA,MINMOVB,#10DIVABMOVMINSHI, AMOVMINGE, BMOVA,MINCJNEA,#60,REINCHOURMOVMIN,#00HMOVMINGE,#0MOVMINSHI,#0MOVA,HOURMOVB,#10DIVABMOVHOURSHI,AMOVHOURGE, BMOVA,HOURCJNE A,#24,REMOVHOUR,#0MOVHOURGE,#0MOVHOURSHI,#0RE:POPPSWPOPBPOP ACCRE

19、TI;延时1毫秒子程序 DL: PUSH PSW SETB RS1 SETB RS0 MOV R7, #02HDL1:MOVR6, #0FFHDL2:DJNZR6, DL2DJNZR7, DL1 POP PSWRET;显示子程序;入口:77H,78H,79H,7AH,7BH,7CH,7DH,7EH,7FH,DISP: PUSHDPHPUSHDPLPUSHACCPUSHPSW CLR RS1 ;改变当前寄存器组为组1 SETB RS0 MOV R1, #78H ;显示缓冲存储单元首地址 MOV R2, #0FEH ;从右至左显示,共阳极 DISP1:MOVA, R1MOV DPTR, #TABM

20、OVC A, A+DPTRMOV P0, A ;送段控 MOV P2, R2 ;送位控LCALL DL ;延时2毫秒MOV A, R2JNB ACC.7, DISP2 ;为0转移;RL AINC R1MOV R2, ALJMP DISP1DISP2:POP PSW ;恢复当前寄存器组的组号POP ACCPOP DPLPOP DPHRET ;键扫描子程序KEY:LCALL KEYCHULI ;调P1口数据处理子程序 JZ EXIT ;没有键按下,转返回LCALL DISP ;调显示子程序去抖动LCALL DISP LCALL KEYCHULI ;调P1口数据处理子程序 JZ EXIT ;没有键按下,转返回MOV B,20H ;保存取反后的键值KEYSF:LCALL KEYCHULI ;调P1口数据处理子程序JZ KEY1 ;键释放,转恢复键值LCALL DISP ;调显示子程序延时 LJMP KEYSF ;等待释放KEY1:MOV 20H, B ;键值送20H保存EXIT:RET ;子程序返回;P1口数据处理子程序KEYCHULI:PUSH PSW ;保护现场CLR RS1 ;改变当前寄存器组为组1SETB RS0MOVP1,#0FFH ;先向P1口写1MOV A,P1 ;读P1口数据CPL A ;P1口数据取反MOV20H, A ;保存取反后的键值CLRRS1 ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论