?? dfg-a.asm
字號:
dis_f:
tm flag,#f_flash
jr nz,dis_f1
ld dis1,#0d9h ;E
ld dis2,#0f5h ;0
ld dis3,#6dh ;3
; or p0,#b_led2
; ld dis4,#10h ;close green led
ret
dis_f1:
ld dis1,#00h
ld dis2,#00h
ld dis3,#00h
; or p0,#b_led2
; ld dis4,#10h ;close green led
ret
dis00s:
ld dis1,#0f5h ;00h
ld dis2,#0f5h
ld dis3,#0f5h
; or p0,#b_led2
; ld dis4,#10h ;close green led
ret
dis00:
ld dis1,#0f5h ;00h
ld dis2,#0f5h
ld dis3,#0f5h
ledflash2:
ret
tm flag,#f_flash
jr nz,dis00a
; ld dis4,#18h
; and p0,#bn_led2
ld dis4,#18h ;open green led
ret
dis00a:
ld dis4,#10h ;close green led
; or p0,#b_led2
ret
;----------------------
disdelay:
ld r7,delayset
call numbcon
; or p0,#b_led2
; ld dis4,#10h ;close green led
ret
;----------------------
disdelay2:
ld r7,delayset
sub r7,hour
call numbcon
; or p0,#b_led2
; ld dis4,#10h ;close green led
ret
;----------------------
disad:
ld r7,wendu
call numbcon
jr ledflash2
ret
diskey:
ld r7,keynum
and r7,#00000110b
call numbcon
; and p0,#bn_led2
; ld dis4,#18h ;open en led
ret
;----------------------
dishold:
tm keyflag,#f_key
jr nz,disholda
tm ledflag,#f_ledf
jr z,disholda
tm flag,#f_flash
jr nz,disholda
clr dis1
clr dis2
clr dis3
ret
disholda
ld r7,holdset
call numbcon
jr ledflash2
ret
;----------------------
dishold2:
ld r7,holdset
sub r7,min ;hour
call numbcon
; and p0,#bn_led2
; ld dis4,#18h ;open green led
ret
;----------------------
;155- - - - 》 158
;165- - - - 》 167
;175- - - - 》 176
;185- - - - 》 185
;195- - - - 》 194
;205- - - - 》 203
diswendu:
tm ledflag,#f_ledf
jr z,diswendua
tm flag,#f_flash
jr nz,diswendua
disnot
clr dis1
clr dis2
clr dis3
ret
diswendua
cp wenduset,#w150
jp eq,disw150
cp wenduset,#w175
jp eq,disw175
cp wenduset,#w200
jp eq,disw200
cp wenduset,#w250
jp eq,disw250
cp wenduset,#w300
jp eq,disw300
cp wenduset,#w350
jp eq,disw350
cp wenduset,#w400
jp eq,disw400
jp disw400
disw150
ld dis1,#24h ;1
ld dis2,#0cdh ;5
ld dis3,#0f5h ;0
ret
disw175
ld dis1,#24h ;1
ld dis2,#64h ;7
ld dis3,#0cdh ;5
ret
disw200
ld dis1,#79h ;2
ld dis2,#0f5h ;0
ld dis3,#0f5h ;0
ret
disw250
ld dis1,#79h ;2
ld dis2,#0cdh ;5
ld dis3,#0f5h ;0
ret
disw300
ld dis1,#6dh ;3
ld dis2,#0f5h ;0
ld dis3,#0f5h ;0
ret
disw350
ld dis1,#6dh ;3
ld dis2,#0cdh ;5
ld dis3,#0f5h ;0
ret
disw400
ld dis1,#0ach ;4
ld dis2,#0f5h ;0
ld dis3,#0f5h ;0
ret
;----------------------
numbcon:
clr r2
clr r3
clr r4
clr r5
clr r6
; clr r7
dsw1:
cp r7,#100
jr ult,dsw2
sub r7,#100
inc r3
jr dsw1
dsw2:
cp r7,#10
jr ult,dsw3
sub r7,#10
inc r5
jr dsw2
dsw3:
ldc r0,#numc[rr2]
; cp r0,#77h
; jr ne,dsw3a
; ld dis1,#0
; jr dsw3b
dsw3a:
ld dis1,r0
dsw3b:
ldc r0,#numc[rr4]
; cp r0,#77h
; jr eq,dsw3d
dsw3c:
ld dis2,r0 ;2,r0
jr dsw4a
dsw3d:
cp dis1,#0
jr ne,dsw3c
ld dis2,#0
dsw4a:
ldc r0,#numc[rr6]
ld dis3,r0 ;3,r0
ret
;---------------------
ledset:
tm status,#f_heats
jr nz,ledflash
tm status,#f_holds
jr nz,ledhigh
ledlow
and ledflag,#fn_led2
ret
ledflash
tm flag,#f_flash
jr nz,ledlow
ledhigh
or ledflag,#f_led2
ret
;************************************************
; display p0
;************************************************
display:
; jr display1
cp disp,#0
jr eq,display1
cp disp,#1
jr eq,display2
cp disp,#2
jr eq,display3
cp disp,#3
jr eq,display4
; cp disp,#4
; jr eq,display5
clr disp
ret
display1:
inc disp
; or p0,#00010000b
; or p2,#00110000b
and p0,#11011111b ;p0.5--led2
and p2,#11101111b ;p24-dig3
ld r0,dis1
call disport
tm dispt,#00000001b
jr z,display1end
or p2,#00000010b
display1end
; and p2,#11101111b ;p24-dig3
ret
display2:
inc disp
; or p0,#00010000b
; or p2,#00110000b
and p2,#11011111b ;p25-dig2
or p2,#00010000b
ld r0,dis2
call disport
tm dispt,#00000010b
jr z,display2end
or p2,#00000010b
display2end
; and p2,#11011111b ;p25-dig2
; or p2,#00010000b
ret
display3:
inc disp
; or p0,#00010000b
; or p2,#00110000b
and p0,#11101111b ;p04-dig1
or p2,#00100000b
ld r0,dis3
call disport
tm dispt,#00000100b
jr z,display3end
or p2,#00000010b
display3end
; and p0,#11101111b ;p04-dig1
;or p2,#00100000b
ret
display4:
;inc disp
clr disp
and p0,#11011111b ;p0.5--led2
and p2,#11011111b ;p2.6--led1 power
or p0,#00010000b
or p2,#00110000b
tm status,#f_run
jr z,display4a
or p2,#01000000b ;p2.6--led1 power
; and p0,#11011111b ;p0.5--led2
tm ledflag,#f_led2
jr z,display4a
or p0,#00100000b
display4a
call key_scan
ret
display5:
clr disp
; call key_scan
ret
;-------------------
;dis F A B E G C Dp D
;P2 * A * * G C Dp D
;P0 F * B * * * * *
;P1 E
disport
and p2,#10110000b
and p0,#01011111b
and p1,#11111110b
ld r1,r0
and r1,#01001111b
or p2,r1
ld r1,r0
and r1,#10100000b
or p0,r1
tm r0,#00010000b
jr nz,disport1
jr disport2
;ret
disport1
or p1,#00000001b
disport2
; tm ledflag,#f_lock
; jr z,dislock
; or p2,#00000010b
dislock
ret
;************************************************
; key scan control
;************************************************
key_scan:
; or p0,#11110000b
; ld p2,#0
; and p0,#11101111b
ld P2CONL,#10100000b ;key input
; ld P2CONL,#10101010b ;bit3,2,1,0 ---10:out; 00:in
;ld P1CON,#10001110b ;p1.0--out11001010b ;use ext osc p1.0,p1.1:onput
ld P1CON,#11001101b ;p1.1--in
nop
nop
; nop
ld keynum,p2
tm p1,#00000001b
jr nz,sw3set
and keynum,#11111011b
jr key_scan2
sw3set
or keynum,#00000100b
key_scan2
ld P2CONL,#10101010b ;bit3,2,1,0 ---10:out; 00:in
ld P1CON,#10001110b
ret
;----------------------------------------------
key_jug:
tm keyflag,#f_power
jr nz,key_end
tm flag,#f_wendu_f
jr nz,key_end
tm status,#f_stop
jr nz,key_end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -