基于89c52单片机的电子时钟设计_毕业设计(编辑修改稿)内容摘要:

MOV R2,A。 SECONDS ACALL DISPLAY MOV DPTR,7D02H MOVX A,@DPTR MOV R1,A ACALL DISPLAY。 MINUTES MOV DPTR,7D04H MOVX A,@DPTR MOV R0,A。 HOURS ACALL DISPLAY ACALL DELAY 东华理工大学长江学院毕业设计(论文) 15 RET DISPLAY: MOV DPTR,TAB MOV SCON,00H MOV R3,A ANL A,0FH MOVC A,@A+DPTR MOV SBUF,A JNB TI,$ CLR TI MOV A,R3 SWAP A ANL A,0FH MOVC A,@A+DPTR MOV SBUF,A JNB TI,$ CLR TI RET DELAY: MOV R4,0FH DE1:MOV R5,0FFH DJNZ R5,$ DJNZ R4,DE1 RET TAB: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H,11H,0C1H,63H,85H,61H,71H END 日期的显示,秒表的显示,倒计时的显示,调闹铃,调定时的显示,闪烁的显示程序与以上的的扫描相似,有的以子程序的方式出现,通过子程序调用语句 ACALL调用;有点直接嵌套在相应的程序里面,顺序执行,或者用调转语句 AJMP调用。 东华理工大学长江学院毕业设计(论文) 16 液晶时钟显示调用程序 四个按键 控制 液晶时钟的显示 , 为调时选择键 ,按第 1 次为秒钟调整 ,按第 2 次为分钟调整 ,按第 3 次为时钟调整。 为加 1 键。 为减 1 键。 为确认键。 RS BIT RW BIT E BIT LCD EQU P0 H_BIT EQU 20H M_BIT EQU 21H S_BIT EQU 22H HH EQU 23H MM EQU 24H SS EQU 25H HH_BIT EQU 26H MM_BIT EQU 27H SS_BIT EQU 28H。 ================ ORG 00H AJMP MAIN ORG 0BH AJMP TIME0 ORG 30H。 ========主程序 ======================= MAIN: MOV SP,60H MOV P1,00H MOV R5,00H MOV H_BIT,00H MOV M_BIT,00H MOV S_BIT,00H MOV HH_BIT,00H MOV MM_BIT,00H 东华理工大学长江学院毕业设计(论文) 17 MOV SS_BIT,00H MOV HH,00H MOV MM,00H MOV SS,00H MOV TMOD,01H MOV TH0,3CH MOV TL0,0B0H SETB EA SETB ET0 SETB TR0 MOV LCD,01H LCALL LCDWC。 ===================================== LOOP: LCALL EY LCALL KEY LCALL EYY LJMP LOOP。 =========显示子程序 ================= EY: LCALL LOOP1 LCALL LCDSET MOV DPTR,TAB1 MOV A,H_BIT LCALL DISP MOV A,HH_BIT LCALL DISP MOV A,58 MOV LCD,A LCALL WRR MOV A,M_BIT LCALL DISP MOV A,MM_BIT LCALL DISP MOV A,58 东华理工大学长江学院毕业设计(论文) 18 MOV LCD,A LCALL WRR MOV A,S_BIT LCALL DISP MOV A,SS_BIT LCALL DISP RET。 =======BCD 码转换子程序 =============== LOOP1: MOV A,SS MOV B,10 DIV AB MOV S_BIT,A MOV SS_BIT,B MOV A,MM MOV B,10 DIV AB MOV M_BIT,A MOV MM_BIT,B MOV A,HH MOV B,10 DIV AB MOV H_BIT,A MOV HH_BIT,B RET。 ==========中断子程序 ================= TIME0: PUSH ACC PUSH PSW MOV TH0,3CH MOV TL0,0B0H INC R5 CJNE R5,20,LOOP2 MOV R5,00H INC SS 东华理工大学长江学院毕业设计(论文) 19 MOV A,SS CJNE A,60,LOOP2 MOV SS,00H INC MM MOV A,MM CJNE A,60,LOOP2 MOV MM,00H INC HH MOV A,HH CJNE A,24,LOOP2 MOV HH,00H LOOP2: POP PSW POP ACC RETI。 =====按键检测子程序 ==================== KEY: clr ea JNB ,SS_KEY KEY1: setb ea RET。 ========秒钟调整子程序 ================ SS_KEY: LCALL EY1 LCALL DIS1 JNB ,SS_KEY SSA: LCALL EY1 JNB ,S_ADDKEY JNB ,S_DECKEY LCALL DIS1 JNB ,MM_KEY JNB ,KEY3 LJMP SSA 东华理工大学长江学院毕业设计(论文) 20 KEY3: LJMP KEY1。 =========秒加 1========================== S_ADDKEY: lcall ey1 LCALL DIS1 JNB ,S_ADDKEY INC SS MOV A,SS CJNE A,60,SS_KEY1 MOV SS,00H SS_KEY1: LJMP SSA。 =========秒减 1========================= S_DECKEY: lcall ey1 LCALL DIS1 JNB ,S_DECKEY MOV A,SS CJNE A,00,SS_KEY2 MOV SS,60 SS_KEY2: DEC SS LJMP SS_KEY1。 =========分钟调整子程序 =============== MM_KEY: LCALL EY2 LCALL DIS1 JNB ,MM_KEY MMA: LCALL EY2 JNB ,M_ADDKEY JNB ,M_DECKEY LCALL DIS1 JNB ,HH_KEY 东华理工大学长江学院毕业设计(论文) 21 JNB ,KEY4 LJMP MMA KEY4: LJMP KEY1。 ============分加 1==================== M_ADDKEY: lcall ey2 LCALL DIS1 JNB ,M_ADDKEY INC MM MOV A,MM CJNE A,60,MM_KEY1 MOV MM,00H MM_KEY1: LJMP MMA。 ===========分减 1==================== M_DECKEY: lcall ey2 LCALL DIS1 JNB ,M_DECKEY MOV A,MM CJNE A,00,MM_KEY2 MOV MM,60 MM_KEY2: DEC MM LJMP MM_KEY1。 =======时钟调整子程序 ============== HH_KEY: LCALL EY3 LCALL DIS1 JNB ,HH_KEY HHA: LCALL EY3 JNB ,H_ADDKEY JNB ,H_DECKEY 东华理工大学长江学院毕业设计(论文) 22 LCALL DIS1 JNB ,SSB JNB ,KEY5 LJMP HHA KEY5: LJMP KEY1。 ==========时加 1================== H_ADDKEY: lcall ey3 LCALL DIS1 JNB ,H_ADDKEY INC HH MOV A,HH CJNE A,24,HH_KEY1 MOV HH,00H HH_KEY1: LJMP HHA。 ==========时减 1================= H_DECKEY: lcall ey3 LCALL DIS1 JNB ,H_DECKEY MOV A,HH CJNE A,00,HH_KEY2 MOV HH,24 HH_KEY2: DEC HH LJMP HH_KEY1 SSB: LJMP SS_KEY DISP: MOVC A,@A+DPTR MOV LCD,A LCALL WRR RET 东华理工大学长江学院毕业设计(论文) 23。 ============。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。