📄 demo_6961.asm
字号:
mov pt6312_buf,#0c0h ;address set 00h
call pt6312_pat
mov r6,#14
cle:
mov pt6312_buf,#00h ;data set "0"
call pt6312_pat
djnz r6,cle
ret
;================================================================
setb_6312_ram:
call strobe_set
mov pt6312_buf,#40h ;write data display mode
call pt6312_pat
call strobe_set
mov pt6312_buf,#0c0h ;address set 00h
call pt6312_pat
mov r6,#14
cle1:
mov pt6312_buf,#0ffh ;data set "1"
call pt6312_pat
; call strobe_set
; mov pt6312_buf,#80h
; call pt6312_pat
djnz r6,cle1
ret
;================================================================
table:
db 11101110b ;0"
db 00100100b ;1"
db 11010110b ;2"
db 10110110b ;3"
db 00111100b ;4"
db 10111010b ;5"
db 11111010b ;6"
db 00100110b ;7"
db 11111110b ;8"
db 10111110b ;9"
;================================================================
t_end:
ret
time_show:
jnb play_flag,t_end
; push a
push psw
mov adr_buf,#0c0h
mov a,#37h
jnb pgm_flag,t_1
setb acc.7
t_1:
jnb am_flag,t_8
clr acc.0
t_8:
mov d1_q70,a
mov data_buf,a
call adr_da_set
;
mov adr_buf,#0c2h
mov a,#17h
jnb ubs_flag,t_2
mov a,#97h
t_2:
mov d2_q70,a
mov data_buf,a
call adr_da_set
;
mov adr_buf,#0c4h
mov a,#33h
jnb ran_flag,t_3
setb acc.7
t_3:
jnb am_flag,t_9
clr acc.0
t_9:
mov d3_q70,a
mov data_buf,a
call adr_da_set
;
mov adr_buf,#0c6h
mov a,#08h
jnb rpt_flag,t_4
setb acc.7
t_4:
mov d4_q70,a
mov data_buf,a
call adr_da_set
;
mov adr_buf,#0c8h
mov a,#5fh
jnb srs_flag,t_5
setb acc.7
t_5:
mov d5_q70,a
mov data_buf,a
call adr_da_set
;
mov adr_buf,#0cah
mov a,#7fh
jnb rock_flag,t_6
setb acc.7
t_6:
mov d6_q70,a
mov data_buf,a
call adr_da_set
;
mov adr_buf,#0cch
mov a,#35h
jnb jazz_flag,t_7
setb acc.7
t_7:
mov d7_q70,a
mov data_buf,a
call adr_da_set
;
pop psw
; pop a
ret
;================================================================
read_key:
call strobe_set
mov pt6312_buf,#42h
call pt6312_pat
mov key_number,#0
clr a
clr c
mov r2,#4
read_1:
mov r3,#8
read_2:
clr pt6312_clk
call stb_delay
setb pt6312_clk
mov c,pt6312_dout
jc read_3
inc key_number
djnz r3,read_2 ;读下个字节
setb pt6312_clk
call stb_delay
djnz r2,read_1
mov key_number,#0
setb pt6312_stb
ret
read_3:
inc key_number
setb pt6312_stb
ret
;================================================================
get_key:
clr a
mov a,key_number
k_0:
cjne a,#1,k_1
jb onoff_flag,k_e
call play_show
jmp get_end
k_1:
cjne a,#2,k_2
jnb play_flag,k_e
call onoff_show
jmp get_end
k_2:
cjne a,#3,k_4
jnb play_flag,k_e
jb onoff_flag,k_e
call dimup_show
jmp get_end
k_4:
cjne a,#4,k_5
jnb play_flag,k_e
jb onoff_flag,k_e
call dimdn_show
jmp get_end
k_5:
cjne a,#5,k_6
jnb play_flag,k_e
jb onoff_flag,k_e
call am_show
jmp get_end
k_6:
cjne a,#6,k_7
jnb play_flag,k_e
jb onoff_flag,k_e
call fm_show
jmp get_end
k_7:
cjne a,#9,k_8
jnb play_flag,k_e
jb onoff_flag,k_e
call srs_show
jmp get_end
k_8:
cjne a,#10,k_9
jnb play_flag,k_e
jb onoff_flag,k_e
call ubs_show
k_e:
jmp get_end
k_9:
cjne a,#11,k_10
jnb play_flag,k_e
jb onoff_flag,k_e
call pgm_show
jmp get_end
k_10:
cjne a,#12,k_11
jnb play_flag,k_e
jb onoff_flag,k_e
call ran_show
jmp get_end
k_11:
cjne a,#13,k_12
jnb play_flag,k_e
jb onoff_flag,k_e
call rpt_show
jmp get_end
k_12:
cjne a,#14,k_13
jnb play_flag,k_e
jb onoff_flag,k_e
call rock_show
jmp get_end
k_13:
cjne a,#17,k_14
jnb play_flag,k_e
jb onoff_flag,k_e
call jazz_show
jmp get_end
k_14:
cjne a,#18,k_15
jnb play_flag,k_e
jb onoff_flag,k_e
call clas_show
jmp get_end
k_15:
cjne a,#19,k_16
jnb play_flag,k_e
jb onoff_flag,k_e
call hall_show
jmp get_end
k_16:
cjne a,#20,k_17
jnb play_flag,k_e
jb onoff_flag,get_end
call vol_show
jmp get_end
k_17:
cjne a,#21,k_18
jnb play_flag,get_end
jb onoff_flag,get_end
call l_show
jmp get_end
k_18:
cjne a,#22,k_19
jnb play_flag,get_end
jb onoff_flag,get_end
call k1_show
jmp get_end
k_19:
cjne a,#25,k_20
jnb play_flag,get_end
jb onoff_flag,get_end
call k2_show
jmp get_end
k_20:
cjne a,#26,k_21
jnb play_flag,get_end
jb onoff_flag,get_end
call k3_show
jmp get_end
k_21:
cjne a,#27,k_22
jnb play_flag,get_end
jb onoff_flag,get_end
call khz_show
jmp get_end
k_22:
cjne a,#28,k_23
jnb play_flag,get_end
jb onoff_flag,get_end
call mhz_show
jmp get_end
k_23:
cjne a,#29,k_24
jnb play_flag,get_end
jb onoff_flag,get_end
call sg11_show
jmp get_end
k_24:
cjne a,#30,k_25
jnb play_flag,get_end
call pt_show
jmp get_end
k_25:
mov key_number,#0
get_end:
ret
;================================================================
play_show:
setb play_flag
clr pt_flag
mov time_count,#0
mov time_hour_10,#0
mov time_hour,#0
mov time_min_10,#0
mov time_min,#0
mov time_sec_10,#0
mov time_sec,#0
jb onoff_flag,play_end
call time_show
call show_disp
play_end:
ret
;================================================================
onoff_show:
jb onoff_flag,onoff_1
setb onoff_flag
call clr_6312_ram
jmp onoff_end
onoff_1:
clr onoff_flag
call play_show
call time_show
call show_disp
onoff_end:
ret
;================================================================
am_show:
clr am_flag
call time_show
ret
;================================================================
fm_show:
setb am_flag
call time_show
ret
;================================================================
srs_show:
jb srs_flag,srs_1
setb srs_flag
jmp srs_end
srs_1:
clr srs_flag
call play_show
srs_end:
ret
;================================================================
ubs_show:
jb ubs_flag,ubs_1
setb ubs_flag
jmp ubs_end
ubs_1:
clr ubs_flag
call play_show
ubs_end:
ret
;================================================================
pgm_show:
jb pgm_flag,pgm_1
setb pgm_flag
jmp pgm_end
pgm_1:
clr pgm_flag
call play_show
pgm_end:
ret
;================================================================
ran_show:
jb ran_flag,ran_1
setb ran_flag
jmp ran_end
ran_1:
clr ran_flag
call play_show
ran_end:
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -