单片机电子钟的程序设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自己把按键接口改一下,加一个ROM,这是8051的程序只要改一下就可以用在8031 因为它们的指令系统是一样的 你看着办吧。 要是悬赏分多的话 我可以帮你改。嘎嘎 HOUR EQU 40H ;存放时信息的单元 MINUTE EQU 41H ;存放分信息的单元 SECOND EQU 42H ;存放秒信息的单元 NUM EQU 43H ;存放T0溢出次数的单元 ORG 0000H ;程序入口 AJMP MAIN ORG 0030H ;主程序入口 MAIN:MOV SP,#60H ;指定堆栈栈底 MOV HOUR,#00H MOV MINUTE,#00H MOV SECOND,#00H ;将时、分、秒分别清零 MOV NUM,#0 MOV TMOD,#01H ;设T0工作于方式1,用于定时 MOV TH0,#4CH ;设置T0的初始值 MOV TL0,#00H MOV IE,#00H ;关中断 SETB TR0 ;开启定时器T0 LOOP:NOP NOP ACALL DISPLAY ;调用显示子程序 NOP NOP LOOP1:JB TF0,TIME ;等待定时溢出 LJMP LOOP1 TIME:CLR TR0 ;关闭定逼? PUSH DPL ;保护现场 PUSH DPH PUSH ACC MOV TH0,#4CH ;重新设置T0的值 MOV TL0,#00H SETB TR0 ;开启T0 MOV A,NUM INC A ;溢出次数+1 MOV NUM,A CJNE A,#0AH,TT1 ;检测键盘 MOV P1,#0FH ;设键盘初值 MOV R0,#04H ;延时消抖 LCALL DELAY JNB P1.0,T0C1 ;为0表示P1.0按下,转T0C1调整秒 JNB P1.1,T0C2 ;为0表示P1.1按下,转T0C2调整分 JNB P1.2,T0C3 ;为0表示P1.2按下,转T0C3调整时 TT1: CJNE A,#140,RR4 MOV NUM,#00H T0C1:MOV A,SECOND INC A ;秒单元内容加1 DA A ;调整为BCD码 MOV SECOND,A CJNE A,#60H,RR4 ;不为60秒继续等待 setb flag: clr flag RR1: MOV SECOND,#00H ;为60秒将秒单元清零 T0C2:MOV A,MINUTE INC A ;分单元内容加1 DA A ;调整为BCD码 MOV MINUTE,A CJNE A,#60H,RR4 ;不为60分继续等待 RR2: MOV MINUTE,#00H ;为60分,分单元清零 T0C3:MOV P1,#0F0H ; 1小时闪一次 LCALL DELAY ;延时 MOV P1,#0FH MOV A,HOUR INC A ;时单元内容加1 DA A ;调整为BCD码 MOV HOUR,A CJNE A,#24H,RR4 ;不为24小时继续等待 RR3: MOV HOUR,#00H ;为24小时,时单元清零 RR4: POP ACC ;恢复现场 POP DPH POP DPL LJMP LOOP DELAY:MOV R1,#10H ;延时子程序 DELAY1:MOV R2,#20H DJNZ R2,$ DJNZ R1,DELAY1 DJNZ R0,DELAY RET DISPLAY:MOV DPTR,#TAB ;送表头基地址 MOV A,HOUR ANL A,#0FH ;屏蔽时高位 MOVC A,@A+DPTR ;查时高位 MOV P0,A CLR P2.6 ;开显示 MOV R0,#1 ;延时消除鬼影 LCALL DELAY SETB P2.6 ;关显示 MOV A,HOUR ANL A,#0F0H SWAP A MOVC A,@A+DPTR MOV P0,A CLR P2.7 MOV R0,#1 LCALL DELAY SETB P2.7 MOV A,MINUTE ANL A,#0FH MOVC A,@A+DPTR MOV P0,A CLR P2.4 MOV R0,#1 LCALL DELAY SETB P2.4 MOV A,MINUTE ANL A,#0F0H SWAP A MOVC A,@A+DPTR MOV P0,A CLR P2.5 MOV R0,#1 LCALL DELAY SETB P2.5 MOV A,SECOND ANL A,#0FH MOVC A,@A+DPTR MOV P0,A C

文档评论(0)

asd3366 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档