📄 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 + -