?? keysmanagement.asm
字號:
inc r1
mov a,@r1 ;十時
swap a
orl a,b
mov @r0,a
call timer_write
call beep1
setb digital_bit
setb ex0
ret
keys_manage_101: mov aleart_byte,#0 ;清除狀態
mov r0,#4
mov a,#digital_byte
add a,#3
mov r1,a
keys_manage_102: mov a,@r1
clr acc.7
mov @r1,a
dec r1
djnz r0,keys_manage_102
mov r0,#digital_byte
mov r1,#aleart_data
mov a,@r0
anl a,#0fh
mov b,a
inc r0
mov a,@r0
anl a,#0fh
swap a
orl a,b
mov @r1,a
inc r1
inc r0
mov a,@r0
anl a,#0fh
mov b,a
inc r0
mov a,@r0
anl a,#0fh
swap a
orl a,b
mov @r1,a
call beep1
setb digital_bit
setb ex0
ret
;*****************************************************
;3鍵處理
;*****************************************************
keys_manage_3: call beep1
mov r0,#digital_byte ;調節閃爍位置的數值
mov r1,#8
keys_manage_30: mov a,@r0
jb acc.7,keys_manage_31
inc r0
djnz r1,keys_manage_30
setb digital_bit
ret
keys_manage_31: anl a,#0f0h
mov b,a
mov a,@r0
anl a,#0fh
cjne a,#9,keys_manage_32
mov a,b
mov @r0,a
inc r0
djnz r1,keys_manage_30
setb digital_bit
reti
keys_manage_32: mov a,@r0
inc a
mov @r0,a
inc r0
djnz r1,keys_manage_30
setb digital_bit
ret
;*****************************************************
;4鍵處理
;*****************************************************
keys_manage_4: clr ex0
call beep1
mov a,digital_flash_bit ;若目前處于時間設置狀態則提示并退出
jnb acc.7,keys_manage_400
call beep2
setb digital_bit
setb ex0
ret
keys_manage_400: mov a,aleart_byte ;設置目前處于鬧鐘設置狀態
setb acc.7
mov aleart_byte,a
anl a,#0fh
cjne a,#0,keys_manage_40
jmp keys_manage_49 ;將鬧鐘數據進行顯示
keys_manage_40: cjne a,#1,keys_manage_41
jmp keys_manage_45 ;第一位數字閃爍
keys_manage_41: cjne a,#2,keys_manage_42
jmp keys_manage_46 ;第二位數字閃爍
keys_manage_42: cjne a,#3,keys_manage_43
jmp keys_manage_47 ;第三位數字閃爍
keys_manage_43: cjne a,#4,keys_manage_44
jmp keys_manage_48 ;第四位數字閃爍
keys_manage_44: call beep2
setb digital_bit
setb ex0
ret
keys_manage_45: mov a,#digital_byte ;第一位數字閃爍
add a,#3
mov r0,a
mov a,@r0
setb acc.7
mov @r0,a
mov r0,#digital_byte
mov a,@r0
clr acc.7
mov @r0,a
inc aleart_byte ;指向下一位數據
setb digital_bit
ret
keys_manage_46: mov a,#digital_byte ;第二位數字閃爍
add a,#2
mov r0,a
mov a,@r0
setb acc.7
mov @r0,a
mov a,#digital_byte
add a,#3
mov r0,a
mov a,@r0
clr acc.7
mov @r0,a
inc aleart_byte ;指向下一位數據
setb digital_bit
ret
keys_manage_47: mov a,#digital_byte ;第三位數字閃爍
add a,#1
mov r0,a
mov a,@r0
setb acc.7
mov @r0,a
mov a,#digital_byte
add a,#2
mov r0,a
mov a,@r0
clr acc.7
mov @r0,a
inc aleart_byte ;指向下一位數據
setb digital_bit
ret
keys_manage_48: mov r0,#digital_byte ;第四位數字閃爍
mov a,@r0
setb acc.7
mov @r0,a
mov a,#digital_byte
add a,#1
mov r0,a
mov a,@r0
clr acc.7
mov @r0,a
mov a,aleart_byte ;指向第一位數據
anl a,#0f0h
inc a
mov aleart_byte,a
setb digital_bit
ret
keys_manage_49: mov r0,#digital_byte ;將鬧鐘數據進行顯示
mov r1,#aleart_data
mov a,@r1
anl a,#0fh
mov @r0,a
inc r0
mov a,@r1
swap a
anl a,#0fh
mov @r0,a
inc r0
inc r1
mov a,@r1
anl a,#0fh
mov @r0,a
inc r0
mov a,@r1
swap a
anl a,#0fh
mov @r0,a
inc r0
mov @r0,#20h
inc r0
mov @r0,#20h
inc r0
mov @r0,#20h
inc r0
mov @r0,#20h
inc aleart_byte
jmp keys_manage_45
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -