JNB K1,DS03A
JMP DS030
DS03A: CPL 20H.1 ;报警标记取反
JNB 20H.1,DS031
MOV 4AH,#01H ;报警标记=1,允许报警
AJMP DS032
DS031: MOV 4AH,#00H ;报警标记=0,禁止报警
DS032: LCALL DS_DELAY
JMP DS030
;--------------------------------------------
DS04: CLR TR0
CLR 0AH
CALL BEEP_BL
LCALL DS_DELAY
RET
;=============================================
;定时时间数据处理子程序
;=============================================
DS_CHULI:
MOV A,48H ;处理分数据
ANL A,#0FH
MOV 58H,A
MOV 70H,A
MOV A,48H
ANL A,#0F0H
SWAP A
MOV 59H,A
MOV 71H,A
MOV A,49H ;处理时数据
ANL A,#0FH
MOV 5AH,A
MOV 72H,A
MOV A,49H
ANL A,#0F0H
SWAP A
MOV 5BH,A
MOV 73H,A
MOV A,4AH ;处理定时标记
ANL A,#01H
MOV 5CH,A
MOV 74H,A
RET
;==================================================
;定时时间查表取数子程序
;==================================================
DS_SP: ;MOV R0,#58H
MOV R3,#05H
DS_SP1: MOV A,@R0
MOV DPTR,#TAB_NU
MOVC A,@A+DPTR
MOV @R0,A
INC R0
DJNZ R3,DS_SP1
RET
;==================================================
;定时时间显示子程序
;==================================================
DS_DISPLAY:
;MOV R0,#58H ;取得设定显示单元首地址
MOV R1,#07FH ;从第一个数码管开始
MOV R2,#07H ;共7个数码管
DSPLAY: MOV P0,@R0 ;获得当前单元数据
MOV A,R1
MOV P2,A ;数码显示
JB ACC.5,DSLP1 ;第三位数码管显示“-”
MOV P0,#0f7H
JMP DSLP3
DSLP1: JB ACC.2,DSLP2 ;第六位数码管显示“-”
MOV P0,#0f7H
JMP DSLP3
DSLP2: INC R0
DSLP3: MOV A,R1 ;为下一个数准备
RR A ;下一个单元
MOV R1,A ;保存
LCALL DELAY
DJNZ R2,DSPLAY ;重复显示,直到全部数据刷新过
RET ;返回
;====================================================
;实时时间与设定时间比较子程序
;20H.0 止闹标记,=0,允许,=1,禁止。
;20H.1 报警标记,=1,允许,=0,禁止。
;====================================================
COMP: JNB 20H.1,COMP1
MOV R0,#TIME_DATA
LCALL TIME_DISPLAY
MOV A,42H ;实时时间与设定时间比较
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页
本文关键字:数码管 51单片机,单片机-工控设备 - 51单片机