基于单片机89C2051实现可编程时钟.docx

上传人:lao****ou 文档编号:540501 上传时间:2024-01-17 格式:DOCX 页数:10 大小:43.43KB
下载 相关 举报
基于单片机89C2051实现可编程时钟.docx_第1页
第1页 / 共10页
基于单片机89C2051实现可编程时钟.docx_第2页
第2页 / 共10页
基于单片机89C2051实现可编程时钟.docx_第3页
第3页 / 共10页
基于单片机89C2051实现可编程时钟.docx_第4页
第4页 / 共10页
基于单片机89C2051实现可编程时钟.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于单片机89C2051实现可编程时钟.docx》由会员分享,可在线阅读,更多相关《基于单片机89C2051实现可编程时钟.docx(10页珍藏版)》请在第一文库网上搜索。

1、基于单片机89C2051实现可编程时钟(一)设计思路时钟的最小计时单位是秒,但使用单片机定时器来进行计时,若使用6.OMHz的晶振,即使按工作方式1工作,最大的计时时间也只能到131ms,所以我们可把每个定时时间取125ms,这样定时器溢出8次(125ms8=1000ms)就得到最小的计时单位秒。而要实现8次计数用软件方法实现是轻而易举的。我们使用定时器1,以工作方式1工作,定时器进行125InS定时。采用中断方法进行溢出次数的累计,当计满8次即得到1秒的计时。一个时钟的计时累加,要实现分、时的进位,要用到多种进制,秒、分、时中的进位是十进制,秒向分进位和分想时进位却是六十进制,而每天又有十二

2、小时制或二十四小时制,它们分别又是十二进制和二十四进制。从秒到分和从分到小时可以通过软件累加和数值比较方法实现。在单片机的内部RAM中,需要设置显示缓冲区,显示的时、分、秒值是从显示缓冲区中取出的,在RAM中设置四个单元作为显示缓冲区,分别是7AH、7BH、7CH0为使电路和原理叙述方便,我们这里不显示秒值,秒的进位我们通过闪烁分值实现。这样我们一共有四位1ED分别显示时和分值。同时时钟都需要校准的。在程序中还需设置显示码表,要显示的数值通过查表指令将显示用的真正码值送到1ED上。我们用单片机AT89C2051的PP3.4和P3.5两个I/O口外接微动开关来实现时和分的校正,每按一次小时或分值

3、加1,连续按下数值累计下去,实现时钟的校准。(-)源程序中断入口程序ORGOOOOH1JMPSTARTORG0003HRETIORGOOOBH1JMPINTTOORG0013HRETIORGOO1BH1JMPINTT1ORG0023HRETIORG002BHRETI主程序,,,9,90START:C1eardisp:movMOV),RO,#70HMOVR7,#0BHMOV20H,#00HR0,#00HINCRODjNZR7,C1eardispMOV7AH,#0AHMOVTMOD,#1IHMOVT1O,#0BoHMOVTHO,#3CHMOVT11,#0BoHMOVTH1,#3CHSETBEASE

4、TBETOstart1:1CA11SETBTROMOVR4,#14HDISP1AYJNBP3.7,SETMM1SETMM1:SJMPStart11JMPSETMMI,;1秒定时,9,1程),序99I,INTTO:ADDSS:,9,1PUSHMOV),ACCPUSHPSWC1RETOC1RTROA,WHADDA,T1OMOVT1O,AMOVA,#3CHADDA,THOMOVTHO,ASETBTRODJNZR4,R4,#14H冲断同步修正OUTTO作者:IU1IO8152006-7400:22回复此发言2基于单片机89C2051实现可编程时钟加1程序MOVRO,#7IHACAI1ADD1MOVA,

5、R3C1RCCJNEA,#6011,ADDMMADDMM:JCOUHOACA11C1ROMOVR0,#77HACA11ADD1MOVA,R3C1RCCJNEA,#60H,ADDIIHADD1f1I:JCOUTTOACA11C1ROMOVR0,#79HACA11ADD1MOVA,R3C1RCCJNEA,#24H,HOURHOUR:JC0U0ACA11C1ROOUTTO:MOV72H,7611MOV73H,77HMOV74H,78HMOV75H,79HPOPPSWPOPACCSETBETORETT闪动调时程序ACCPSWT11,#0BOHTUI,#3CHR2,Inttiouttni:PUSHPUS

6、HMOVMOVDJNZMOVR2,#06HCP102HJB02H,F1ASH1MOV72H,76HMOV73H,77HMOV74H,78HMOV75H,79HIN10UT:POPf5SWPOPACCRETIF1ASH1:JB01H,F1ASH2MOV72H,7AHMOV73H,7AHMOV74H,78HMOV75H,79HAJMPIN10UTF1ASH2:MOV72H,76HMOV73H,77HMOV74H,7AHMOV75H,7AHAJMPIN10UT,;加1程序,,ADD1:MOVA,RODECROSWAPAOR1A,RoADDA,#01HDAAMOVR3,AAN1A,#0FHMOVRO,

7、AMOVA,R3INCROSWAPAAN1A,#0FHMOVRO,ARET清零程序C1RO:C1RAMOVR0,ADECROMOVR0,ARET时钟调整程序SETMM:c1RETOC1RTRO1CA11D11SJBP3.7,C1osedisMOVR2,#06HSETBET1SETBTR1SET2:JNBP3.7,SET1作者:IUuO8152006-7-400:22回受此发言3基于单片机89C2051实现可编程时钟SETBOOIISET4:JBP3.7,SET31CA11D105SJNBP3.7,SETHHMOVR0,#7711;加1分程序1CA11ADD1HHH:JCMOVA,R3C1RCC

8、JNEA,#6011,IISET41CA11C1ROC1RCAJMPSET4C1osedts:setbetoSETBTROC1OSE:JB1CA11P3.7,C1OSEDISP1AYWAITH:JBP3.7,C1OSEJNBP3.7,WAITH1JMPSTART1SETHH:C1ROOHSETHH1:JNBP3.7,SET5SETBO1HSET6:JBP3.7,SET71CA11D105SJNBP3.7,SETOUTMOVRO,#79H1CA11ADD1MOVA,R3C1RCCJNEA,#24H,HOUUHOUU:JCSET61CA11C1ROAJMPSET6SETOUT:JNBP3.7,SE

9、TOUT11CA11DISP1AYJNBP3.7,SETOUTC1RO1HC1ROOHC1R02HC1RTR1C1RET1SETBTROSETBETO1JMPSTART1SET1:1CA11DISP1AYAJMPSET2SET3:1CA11DISP1AYAJMPSET4SET5:1CA11DISP1AYAJMPSETHH1SET7:1CA11DISP1AYAJMPSET6SETOUT1:1CA11DISP1AYAJMPSETOUT显示程序DISP1AY:MOVR1,#70HMOVR5,#OFEHP1AY:MOVA,R5MOVP3,AMOVA,1UMOVDPTR,#TABMOVCA,A+DPTR

10、MOVP1,A1CA11D11MSINCR1MOVA,R5JNBACC.5,ENDOUTR1AMOVR5,AAJMPP1AYENDOUT:SETBP3.5TAB:DBMOVP1,#OFFHRETOCOH,0F9H,0A4H,OBOH,99H,92H,82H,0F8H,80H,90H,OFFH延时程序;D11MS:D11:MOVR6,#14HMOVR7,#19HD12:DJNZR7,D12RETDS20MS:ACA11DISP1AYACA11DISP1AYACA11DISP1AYRETD11S:1CA11D105S1CA11D105SRETD105S:MOVR3,#20HD1O5S1:1CA11

11、DISP1AYDJNZR3,D1O5S1RETEND(三)硬件实现硬件实现方面电路我们以低价的AT89C2051单片机为微处理单元,这个芯片兼容C51指令系统,在C51上编写的程序,无需任何修改即可方便地移植到这个芯片上来。我们以PO口作为1ED的字段位驱动输出,秒的“进位”采用分值闪烁提示,亮0.5秒,熄0.5秒。,P3.1-P3.3用于位驱动,使用动态扫描方式显示,每位1ED的显示时间10-25ms之间均可,扫描频率不能太高,否则每位1ED显示的时间过短,亮度太低,不易于观看,以肉眼不感觉到1ED闪烁为宜。为了直观,我们的驱动输出没有采用集成电路,而是使用了分立元件一三极管,但工作原理却是

12、一致的电路原理图如下作者:IU11o81520067400:22回复此发言4回复:基于单片机89C2051实现可编程时钟(一)电子钟利用实验平台上4个1ED数码管,设计带有闹铃功能的数字时钟,要求:1 .在4位数码管上显示当前时间。显示格式“时时分分”2 .由1ED闪动做秒显示。3 .利用按键可对时间及闹玲进行设置,并可显示闹玲时间。4 .当闹玲时间到由P17控制蜂鸣器发出声响,并可通过按键使它停止。作者:IU11O8152006-7-400:26回复此发言5回复:四火的程序ORG5000H90HTAB1E:DB0C0H,0F9H,04H,OBOH,99H,92H,82H,0F8H,80H,M

13、AIN:ACA11PU1SEMOVRO,#00HMOVR1,SOOHMOVR2,#00HMOVR3,SOOHMOVTMOD,#06HMOVT1O,#0C4HMOVTHO,#0C4HSTART:SETBTROC1RTFOWAIT:JNBTFO,WAITC1RTROCJNER0,#09H,11CJNER1,#05H,12CJNER3,#02H,13CJNER2,#03H,14MOVRO,#00HMOVRI,#OOHMOVR2,#00HMOVR3,#00HSID:ACA11DISP1AYACA11C1OCKINT:JNBP1.2,MOACA11ZD1MO:JNBP1.7,M1ACA11ZD2M1:JNBP2.1,M2ACA11ZD3M2:AJMPSTART1I:INCROAJMPSID12:INC

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

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服