📄 7219display.asm
字号:
addr_7219 equ 28h
data_7219 equ 29h
;------------------------------------
org 0000h
ljmp init
org 0030h
;------------------------------------
;对7219控制寄存器的初始化
init:
mov addr_7219,#09h ;Decode Mode
mov data_7219,#0fh ;对八个数码管进行译码
lcall dis_7219
mov addr_7219,#0ah ;Intensity
mov data_7219,#0ah
lcall dis_7219
mov addr_7219,#0bh ;Scan Limit
mov data_7219,#07h ;设定扫描八个显示器
lcall dis_7219
mov addr_7219,#0ch ;Shutdown
mov data_7219,#01h
lcall dis_7219
mov addr_7219,#0fh ;Display Test
mov data_7219,#00h ;正常状态
lcall dis_7219
;------------------------------------
main_loop:
lcall delay
lcall change
ljmp main_loop
;------------------------------------
;in:
;out:
;fun:利用7219来显示
;var:addr_7219,data_7219,r4,r5,r6,r7
;------------------------------------
dis_7219:
mov a,addr_7219 ;送地址
mov r7,#08h
clr c
clr p1.0
dis_lp0:
rlc a
mov p3.0,c
setb p3.1
nop
nop
clr p3.1
djnz r7,dis_lp0
mov a,data_7219 ;送数据
mov r7,#08h
clr c
dis_lp1:
rlc a
mov p3.0,c
setb p3.1
nop
nop
clr p3.1
djnz r7,dis_lp1
setb p1.0
ret
;------------------------------------
delay:
mov r7,#00h
mov r6,#00h
delay_1ms:
djnz r7,$
djnz r6,delay_1ms
ret
;------------------------------------
change:
mov addr_7219,#xx ;选择第几个数码管
mov data_7219,#xx ;显示内容
lcall dis_7219
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -