标题:
编写一段程序,接收主机串行口发送来的字符,在单片机接收到‘X’的时候返回一个‘...
[打印本页]
作者:
54778
时间:
2019-10-30 12:05
标题:
编写一段程序,接收主机串行口发送来的字符,在单片机接收到‘X’的时候返回一个‘...
1
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV SP,#60H
MOV TMOD,#20H ;设置T1 为方式2
MOV TH1,#0FDH ;设置波特率为9600
MOV TL1,#0FDH
MOV SCON,#50H ;设置串口为方式1
MOV PCON,#00H
SETB TR1 ;启动定时器1
LOOP: JNB RI,$
CLR RI
MOV A,SBUF
CJNE A,#'X',FSEND
MOV A,#'T'
AJMP SEND
FSEND: MOV A,#'F'
SEND: MOV SBUF,A ;回发数据
JNB TI,$
CLR TI
SJMP LOOP
END
2、采用串行口中断方式,实现与实验2相同的功能。
ORG 0000H
LJMP MAIN
ORG 0023H
LJMP ZRS232
ORG 0100H
MAIN: CLR EA
MOV SP,#60H ;给堆栈指针赋初值
MOV TMOD,#20H ;设置T1 为方式2
MOV TH1,#0FDH ;设置波特率为9600
MOV TL1,#0FDH
MOV SCON,#50H ;设置串口位方式1,允许接收
MOV PCON,#00H
SETB ES
SETB TR1 ;定时器1 开始计数
SETB EA
SJMP $
ZRS232: JB RI,ZR
ZT: CLR TI
AJMP ZEND
ZR: CLR RI
MOV A,SBUF
CJNE A,#'X',FSEND
MOV A,#'T'
AJMP SEND
FSEND: MOV A,#'F'
SEND: MOV SBUF,A ;回发数据
ZEND: RETI
END
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1