📄 sjtx.asm
字号:
;甲机的通讯程序
org 0000h
p_key: MOV P2,#0FFH
MOV P0,#0FFH
mov a,p0
;jb acc.1,p_key ;发送键按下
main: mov tmod,#20h
mov th1,#0e8h
mov tl1,#0e8h
setb tr1
mov scon,#50h
mov pcon,#80h
start: mov dph,31h
mov dpl,30h
mov r7,#02h
mov r6,#00h
tx_ack: mov a,#06h
mov sbuf,a
wait1: jbc ti,rx_yes
sjmp wait1
rx_yes: jbc ri,next1
sjmp rx_yes
next1: mov a,sbuf
cjne a,#00h,tx_ack
tx_bytes:mov a,r7
mov sbuf,a
add a,r6
mov r6,a
wait2: jbc ti,tx_news
sjmp wait2
tx_news: movx a,@dptr
mov sbuf,a
add a,r6
mov r6,a
inc dptr
wait3: jbc ti,next2
sjmp wait3
next2: djnz r7,tx_news
tx_sum: mov a,r6
mov sbuf,a
wait4: jbc ti,rx_0fh
sjmp wait4
rx_0fh: jbc ri,if_0fh
sjmp rx_0fh
if_0fh: mov a,sbuf
cjne a,#0fh,IF_0FH
SJMP SPEAK
sjmp $
speak: clr p2.0
acall dl1ms
setb p2.0
acall dl1ms
sjmp speak
dl1ms: mov r1,#32h
lp: mov r2,#0ffh
lp1: nop
nop
djnz r2,lp1
djnz r1,lp
ret
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -