当前位置:首页 > 论文多功能打铃系统的设计
第五章 汇编程序与器材仪表
MAIN:
CJNE R1,#00H,MAIN1 ;是否为正常走时状态 LCALL BIJIAO1 ;调用起床、熄灯打铃比较子程序 LCALL BIJIAO2 ;调用上、下课打铃比较子程序 LCALL DALING1 ;调用响铃方式1执行子程序 LCALL DALING2 ;调用响铃方式2执行子程序 LCALL DALING3 MAIN1:
LCALL DISPLAY ;调用显示子程序 LCALL KEY_SCAN ;调用按键检测子程序 JZ MAIN ;无键按下则返回重新循环 LCALL SET_KEY ;调用选择键处理子程序
JB 46H,MAIN ;如果已进行长按调整(调时快进),则不再执行下面的单步调整
LCALL ADD_KEY ;调用增加键处理子程序 LCALL DEC_KEY ;调用减少键处理子程序
LCALL DALING_KEY ;处理强制打铃/强制关闭铃声键 LJMP MAIN ;重新循环
;/*****定时中断服务程序*****/ TIMER_0: PUSH ACC PUSH PSW ;保护现场 MOV TH0,#3CH
MOV TL0,#0B0H ;重新赋定时初值 CPL 47H ;产生脉冲用于调时快进时基 INC 24H
MOV A,24H
CJNE A,#10,ADD_TIME ;产生0.5秒基准时钟,用于调时闪烁 CPL 48H ;取反调时闪烁标志位
MOV 24H,#00H
ADD_TIME: INC 20H
- 16 -
第五章 汇编程序与器材仪表
MOV A,20H
CJNE A,#20,RETI1 ;产生1秒基准时钟 MOV 20H,#00H ;一秒钟时间到,清零20H CJNE R2,#01H,ADD_M INC R3 ADD_M: MOV A,21H ADD A,#01H
DA A ;作十进制调整 MOV 21H,A CJNE A,#60H,RETI1 MOV 21H,#00H ;一分钟到 MOV A,22H ADD A,#01H DA A MOV 22H,A CJNE A,#60H,RETI1 MOV 22H,#00H ;一小时到 MOV A,23H ADD A,#01H DA A MOV 23H,A CJNE A,#24H,RETI1
MOV 23H,#00H ;到24点,清零小时 RETI1:
POP PSW POP ACC ;恢复现场 RETI ;中断返回 ;/*****显示处理*****/ DISPLAY:
MOV A,21H ;秒 ANL A,#0FH
- 17 -
第五章 汇编程序与器材仪表
MOV 2FH,A ;转换出秒个位,存入2FH MOV A,21H ANL A,#0F0H SWAP A
MOV 2EH,A ;转换出秒十位,存入2EH
JB 46H,MIN ;如果长按按键(调时快进),则跳过闪烁处理 CJNE R1,#3,MIN ;如果R1为3,闪烁秒位待调整 JB 48H,MIN
MOV 2FH,#0AH ;使该位为10,查表得到使该位不显示的输出 MOV 2EH,#0AH MIN:
MOV A,22H ;分 ANL A,#0FH
MOV 2DH,A ;转换出分个位,存入2DH MOV A,22H ANL A,#0F0H SWAP A
MOV 2CH,A ;转换出分十位,存入2CH
JB 46H,HOUR ;如果长按按键(调时快进),则跳过闪烁处理 CJNE R1,#2,HOUR ;如果R1为2,闪烁分位待调整 JB 48H,HOUR
MOV 2DH,#0AH ;使该位为10,查表得到使该位不显示的输出 MOV 2CH,#0AH HOUR:
MOV A,23H ;时 ANL A,#0FH
MOV 2BH,A ;转换出时个位,存入2BH MOV A,23H ANL A,#0F0H SWAP A
MOV 2AH,A ;转换出时十位,存入2AH
JB 46H,DISP ;如果长按按键(调时快进),则跳过闪烁处理 CJNE R1,#1,DISP ;如果R1为1,闪烁时位待调整
- 18 -
第五章 汇编程序与器材仪表
JB 48H,DISP
MOV 2BH,#0AH ;使该位为10,查表得到使该位不显示的输出 MOV 2AH,#0AH
;/*****数码管动态扫描显示*****/ DISP:
MOV DPTR,#TABLE MOV A,2FH MOVC A,@A+DPTR MOV P0,A CLR P2.7 LCALL DELAY
SETB P2.7 ;显示秒个位 MOV A,2EH MOVC A,@A+DPTR MOV P0,A CLR P2.6 LCALL DELAY
SETB P2.6 ;显示秒十位 MOV A,#40H MOV P0,A CLR P2.5 LCALL DELAY SETB P2.5 ;显示“-” MOV A,2DH MOVC A,@A+DPTR MOV P0,A CLR P2.4 LCALL DELAY
SETB P2.4 ;显示分个位 MOV A,2CH MOVC A,@A+DPTR MOV P0,A CLR P2.3
- 19 -
共分享92篇相关文档