ORG 0040H
START: mov SP,#5fh ;
MOV TMOD,#22H ;设定时器工作方式
MOV SCON,#40H
MOV TH1,#0FAH ;速度9600
MOV PCON,#80H
SETB TR1
SETB REN ;允许接收
mov r0,#30h
mov r3,#8
loop: lcall led
WRIT: JB P3.2,loop;判断K1是否按下,如果没有按下就等待
ACALL DELAY10;延时10毫秒消触点抖动
JB P3.2,WRIT;去除干扰信号
JNB P3.2,$;等待按键松开
star: mov r0,#30h ;(验证接收码)
senda: clr a ;
mov a,@r0
senda_0:mov sbuf,a
JNB TI,$ ;串行发送一帧结束了吗?
CLR TI ;
inc r0
djnz r3,senda ;指针加一
Ljmp start
;10毫秒延时子程序
DELAY10:MOV R4,#20
D2: MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
RET
DELAY: MOV R7,#50
DL1: lcall delay10
DJNZ R7,DL1
RET
led: clr p1.4
lcall delay
setb p1.4
lcall delay
ret
end