云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于单片机的智能电子钟系统设计设计 - 图文

基于单片机的智能电子钟系统设计设计 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/7 5:39:18

ADJUST: MOV R3, #00H A1: LCALL DISPLAY MOV P1, #0FFH JNB P1.2, K3 JNB P1.1, K2 JNB P1.0, K1 JNB P1.3, K4

LJMP A1 ;如果没有键按下重新检测

;等待按键抬起来 J3: JB P1.2, A1 LCALL DISPLAY LJMP J3 J2: JB P1.1, A1 LCALL DISPLAY LJMP J2 J1: JB P1.0, A1 LCALL DISPLAY LJMP J1 J4: JB P1.3, A1 LCALL DISPLAY LJMP J4 K3: LCALL DELAY

JB P1.2, A1 ;确实有键按下,进入下面处理,否则严重干扰,重测 MOV A, @R1 ANL A, #0FH

CJNE A, #09H, M1 MOV A, @R1 ADD A, #10H ANL A, #0F0H MOV @R1, A JMP M2 M1: INC @R1 M2: LCALL DISPLAY

LJMP J3 ;等按键弹起来,按一次,只加一次 K2: LCALL DELAY JB P1.1, A1 MOV A, @R1

ANL A, #0FH JNZ NONBOUND MOV A, @R1 CLR C

SUBB A, #06H MOV @R1, A NONBOUND: DEC @R1 LCALL DISPLAY LJMP J2 K1: LCALL DELAY JB P1.0, A1 INC R3

CJNE R3, #01H, TWICE1 MOV R1, #30H JMP S1

TWICE1: CJNE R3, #02H, DONE MOV R1, #31H S1: LCALL DISPLAY LJMP J1 K4: LCALL DELAY JB P1.3, N1 JMP N2 N1: LJMP A1 N2: CLR TR0 SETB TR1 INC R3

CJNE R3, #01H, TWICE2 MOV R1, #30H JMP S2

TWICE2: CJNE R3, #02H, DONE MOV R1, #31H S2: LCALL DISPLAY LJMP J4

DONE: NOP RET

完了完了;

;

IT0P: PUSH Acc ;保护现场 PUSH PSW CLR EA MOV TH0, #3CH ;重新装入计数初值 MOV TL0, #0B0H

DJNZ 19H, HALF ;半秒 MOV 19H, #05H MOV A, 29H RL A MOV 29H, A

HALF: DJNZ 20H, RETURN ;1s还没有到,那么就返回继续计数100s MOV 20H, #0AH ;否则,重新装入中断次数计数值 MOV A, #01H ; ADD A, 32H ;秒单元增1

DA A ;将二进制的秒数转换成BCD码,以便显示 MOV 32H, A ;返回到秒单元保存

CJNE A, #60H, RETURN;如果不满60s,继续下一个1s的计时 MOV 32H, #00H ;否则,秒单元就要清零 MOV A, #01H ADD A, 31H ;针对分单元加1 DA A MOV 31H, A

CJNE A, #60H, RETURN;如果不满60分钟,则继续下一个1s的计数 MOV 31H, #00H ;否则分单元清零 MOV A, #02H ADD A, 30H ;针对时单元加1 DA A MOV 30H, A

CJNE A, #24H, RETURN;如果不满24小时,则继续计数,否则,全部清零

MOV 30H, #00H ;时单元清零 RETURN: SETB EA POP PSW POP Acc RETI

DISPLAY:;CLR EA PUSH Acc PUSH PSW PUSH 01H

LOOP0: DJNZ 18H, START

LJMP FINISH START: MOV DPTR, #0100H MOV C, (29H).7 ;29H的最高两位每隔半秒互调一次,只要不断调用显示程序,输出就会每隔半秒变化一次 MOV P3.7, C MOV C, (29H).6 MOV P3.6, C MOV A, #11H

CJNE A,30H,NEXT1 ;若是12小于小时数,则Cy被置位,否则清零 NEXT1: JC NIGHT ;C为0,是早上 SETB P3.0 ;6亮,绿灯 CLR P3.1 JMP MOON

NIGHT: SETB P3.1 ;C为1,是晚上 CLR P3.0 ;7亮,黄灯 MOON: NOP NOP

MOV 10H, #01H ;存放片选码 MOV R0, #30H ;寄存器间接寻址

SETB (21H).0 ;指示将要显示的是十位还是个位,1表示十位,0表示个位 LOOP1: MOV A, @R0 ;A中是待显示的两位数BCD码 JNB (21H).0,NEXT ;若将要显示个位则直接相与取位 SWAP A ;否则,十位与个位交换再取位 NEXT: CPL (21H).0 ;指示位取反,为下次显示做准备 ANL A, #0FH ;取得待显示的一位BCD码 MOVC A, @A+DPTR ;取得待显示段码 MOV P0, A ;准备显示 MOV P2, 10H ;片选,亮了 NOP NOP NOP MOV P0, #0FFH ;关闭数码管 MOV A, 10H

RL A ;为下次显示做准备 MOV 10H, A JNB (21H).0,LOOP1 ;若将显示个位,则R0不变 INC R0 ;否则,加一

CJNE R0,#33H,LOOP1 ;若刚才显示的是秒并且是个位,也就是显示结束,那么重新置数

AJMP LOOP0 ;否则,继续显示

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

ADJUST: MOV R3, #00H A1: LCALL DISPLAY MOV P1, #0FFH JNB P1.2, K3 JNB P1.1, K2 JNB P1.0, K1 JNB P1.3, K4 LJMP A1 ;如果没有键按下重新检测 ;等待按键抬起来 J3: JB P1.2, A1 LCALL DISPLAY LJMP J3 J2: JB P1.1, A1 LCALL DISPLAY LJMP J2 J1: JB P1.0, A1 LCALL DISPLAY LJMP J1 J4: JB P1.3, A1 LCALL DISPLAY LJMP J4 K3: LCALL DELAY JB P1.2, A1 ;确实有键按下,进入下面处理,否则严重干扰,重测 MOV A

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com