;实现PC机与单片机之间的串口通信,波特率为2400bits/s。PC机发送8
;个字节的数据给单片机,单片机接收完数据后发送两个确认字节55H和AAH
;给PC机(使用查询方式),接收的数据存储在30H地址开始的内部RAM中。
代码
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
SETB SM1
MOV TMOD,#20H
MOV TH1,#244;11.0596MHZ值,若12MHz,则243
MOV TL1,#244
SETB TR1
MOV R0,#30H;片内RAM间接寻址
LOOP:
MOV R7,#8;接收8个字节数据
REC_LOOP:
SETB REN
JNB RI,$;等待接收一个字节数据
;如果接收到了一个字节数据
CLR RI
MOV A, SBUF
MOV @R0,A;存储
INC R0
MOV SBUF,A
JNB TI
CLR TI
DJNZ R7,REC_LOOP
;发送确认字符
CLR REN
MOV SBUF,#55H
JNB TI,$;等待发送完成
CLR TI
MOV SBUF,#0AAH
JNB TI,$;等待发送完成
CLR TI
SJMP LOOP
END
```