📄 ts_led.asm
字号:
;===============================================================================================================
;串行发送DTLED-6显示
; 30H - 31H - 32H - 33H - 34H - 35H - 36H - 37H - 38H
; 小数点 - 数码管1- 数码管2- 数码管3- 数码管4- 数码管5- 数码管6-ID识别码-BZ识别码
;00000xxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx
;小数点=1~6,其它为不显示
;数码管1-6=0~15,
;ID识别码=0~15
;BZ识别码=BZ.3为蜂鸣输出控制位,0=关闭,1=打开
; BZ0~2为蜂鸣频率输出设定为,000=不分频, 最高频率输出=4800Hz;
; 001=一次分频,频率输出=4800/ 2 =2400Hz;
; 010=二次分频,频率输出=4800/ 4 =1200Hz;
; 011=三次分频,频率输出=4800/ 8 =600Hz;
; 100=四次分频,频率输出=4800/ 16=300Hz;
; 101=五次分频,频率输出=4800/ 32=150Hz;
; 110=六次分频,频率输出=4800/ 64=75Hz;
; 111=七次分频,频率输出=4800/128=38Hz;
;================================================================================================================
EN EQU P1.7
DOUT EQU P1.6
CLK EQU P1.3
DOT EQU 30H
D_1 EQU 31H
D_2 EQU 32H
D_3 EQU 33H
D_4 EQU 34H
D_5 EQU 35H
D_6 EQU 36H
ID EQU 37H
BZ EQU 38H
org 0000h
ajmp start
org 0100h
start:
mov ID,#01h
mov BZ,#00H
mov DOT,#01h
mov D_1,#00h
mov D_2,#01h
mov D_3,#02h
mov D_4,#03h
mov D_5,#04h
mov D_6,#05h
acall ts_led
sjmp $
ts_led:
mov r1,#30h
mov r2,#09h
clr CLK
clr EN
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
ts_loop1:
mov a,@r1
swap a
mov r3,#04h
ts_loop2:
setb CLK
rlc a
mov DOUT,C
clr C
nop
nop
nop
nop
nop
clr CLK
nop
nop
nop
nop
nop
djnz r3,ts_loop2
inc r1
djnz r2,ts_loop1
setb EN
ret
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -