⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo_6961.asm

📁 LED driver 6961 包括初始化
💻 ASM
📖 第 1 页 / 共 3 页
字号:
                 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 + -