📄 transmit.asm
字号:
;发送端的资源分配:1、手动控制 p1.0-接收发送控制 p1.1-上 p1.2-右 p1.3-下 p1.4-左
; p1.5-停止
; call long_delay
; mov sp,#60h
mov SCON,#50H
mov TMOD,#20h
; mov PCON,#80h
mov TH1,#0f3h
mov TL1,#0f3h ;串口速率2400
setb TR1
setb p1.0
; mov 30h,#00h
; mov 31h,#00h
call delay
s: clr TI
clr c
jb p1.6,lianxu
ljmp diandong
lianxu:
jb p1.2,key_left
mov a,#00h ;向右发送00h
s0:
mov SBUF,a
call long_delay
; jnb TI,s0
; call long_delay
jmp s
key_left:
jb p1.4,key_up
mov a,#01h ;向左发送01h
s1:
mov SBUF,a
call long_delay
; jnb TI,s1
; call long_delay
jmp s
key_up:
jb p1.1,key_down
mov a,#02h ;向上发送02h
s2:
mov SBUF,a
call long_delay
; jnb TI,s2
; call long_delay
jmp s
key_down:
jb p1.3,key_stop
mov a,#03h ;向下发送03h
s3:
mov SBUF,a
call long_delay
; jnb TI,s3
; call long_delay
jmp s
key_stop:
jb p1.5,key_out
mov a,#04h ;停止发送04h
s4:
mov SBUF,a
call long_delay
; jnb TI,s4
key_out:
jmp s
diandong:
jb p1.2,dian_key_left
mov a,#20h ;向右发送10h
dian_s0:
mov SBUF,a
call long_delay
; jnb TI,dian_s0
; call long_delay
jmp s
dian_key_left:
jb p1.4,dian_key_up
mov a,#21h ;向左发送11h
dian_s1:
mov SBUF,a
call long_delay
; jnb TI,dian_s1
; call long_delay
jmp s
dian_key_up:
jb p1.1,dian_key_down
mov a,#22h ;向上发送12h
dian_s2:
mov SBUF,a
call long_delay
; jnb TI,dian_s2
; call long_delay
jmp s
dian_key_down:
jb p1.3,dian_key_out
mov a,#23h ;向下发送13h
dian_s3:
mov SBUF,a
call long_delay
; jnb TI,dian_s3
; call long_delay
dian_key_out:
jmp s
long_delay:mov r2,#04
d23:
mov r0,#255
d13:
mov r1,#255
djnz r1,$
djnz r0,d13
djnz r2,d23
ret
delay: mov r2,#02
dl2:
mov r0,#255
dl1:
mov r1,#255
djnz r1,$
djnz r0,dl1
djnz r2,dl2
ret
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -