📄 at89c2051-38khz.asm
字号:
;发高电平时,每隔26us CPL一下I/O口;发低电平时I/O口为0
;2*AT89C2051/24M
; 发送:
ks: mov tmod,#22h
mov a,#01010101b
mov th0,#230
mov tl0,#230
mov r3,#80
setb tr0
fsqs: mov r3,#160 ; 发起始位
here: jnb tf0,here ;`13US
clr tf0
cpl p3.7 ;出38k
djnz r3,here ;发完起始位
lf: mov r3,#80 ;发8位数开始
mov r4,#8
rlc a
jc bfs ;0发1不发
here1: jnb tf0,here1
clr tf0
cpl p3.7
djnz r3,here1
djnz r4,lf ;8位发完?
ftzw: setb p3.7;发停止位
mov r3,#160
here2: jnb tf0,here2
clr tf0
djnz r3,here2
ljmp fsqs ;连发01010101
bfs: setb p3.7 ;发1
here3: jnb tf0,here3
clr tf0
djnz r3,here3
djnz r4,lf
ljmp ftzw
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -