📄 发送.asm
字号:
send_data equ 30h ;当前发送的数据
send_byte equ 31h ;需要发送的字节数
send_bytee equ 32h ;已经发送发送的字节数
send_bit equ 32h ;发送的位数字
org 0000h
ajmp start
org 0040h
start:
mov sp,#60h
mov p1,#0
mov r5,#100
mov r6,#100
mov r7,#10
clr p3.7
delay:
djnz r5,delay
mov r5,#100
djnz r6,delay
mov r6,#100
djnz r7,delay
mov r0,#20h
mov @r0,#0aah
mov send_bytee,#0
saalll:
mov send_byte,#1
lcall sendseveralbyte
ajmp saalll
sendseveralbyte: ;发送多字节
kaka:
mov send_data,@r0
lcall sendonebyte
inc r0
inc send_bytee
djnz send_byte,kaka
ret
sendonebyte: ;发送1字节
mov a,send_data ;把发送的字节移动到a
mov send_bit,#8
start1:
jnb acc.7,next
lcall send1
lcall delay_y
ajmp haha
next:
lcall send0
lcall delay_y
haha:
rl a
djnz send_bit,start1
ret
send0: ;发送一位0
mov r6,#15
nextwww:
lcall send_once
djnz r6,nextwww
ret
send1: ;发送一位1
mov r6,#30
nextww:
lcall send_once
djnz r6,nextww
ret
send_once: ;发送一个脉冲
setb p3.7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
clr p3.7
nop
nop
nop
nop
nop
nop
ret
delay_y: ;发完一位后清零一段时间。
clr p3.7
mov r4,#5
mov r3,#100
qing:
djnz r3,qing
mov r3,#100
djnz r4,qing
ret
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -