pc与单片机的串口通信,pc能正确接收单片机的数据,单片机能接收,但不能正确接收pc机的数据,怎么回事?
pc机与单片机发送的都是16进制数据ORG0000HLJMPSTARTORG0100HSTART:MOVSCON,#50HSETBEX1MOVTMOD,#20HMOVTH...
pc机与单片机发送的都是16进制数据
ORG 0000H
LJMP START
ORG 0100H
START:
MOV SCON,#50H
SETB EX1
MOV TMOD,#20H
MOV TH1,#253;波特率配置,9600
MOV TL1,#253
SETB EA
SETB TR1
MOV SBUF,#0B0H ; 将16进制数B0发送给pc
JNB TI,$
CLR TI
MOV P1,SBUF ;从pc接收一个16进制数A4 (2的段代码)P1接LED数码管,数码管应显示2,可是数码管显示8
JNB RI,$
CLR RI
END 展开
ORG 0000H
LJMP START
ORG 0100H
START:
MOV SCON,#50H
SETB EX1
MOV TMOD,#20H
MOV TH1,#253;波特率配置,9600
MOV TL1,#253
SETB EA
SETB TR1
MOV SBUF,#0B0H ; 将16进制数B0发送给pc
JNB TI,$
CLR TI
MOV P1,SBUF ;从pc接收一个16进制数A4 (2的段代码)P1接LED数码管,数码管应显示2,可是数码管显示8
JNB RI,$
CLR RI
END 展开
3个回答
展开全部
.......
MOV SBUF,#0B0H ; 将16进制数B0发送给pc
JNB TI,$
CLR TI
JNB RI,$ ;等待接收
CLR RI
MOV P1,SBUF ;从pc接收一个16进制数
SJMP $
END
MOV SBUF,#0B0H ; 将16进制数B0发送给pc
JNB TI,$
CLR TI
JNB RI,$ ;等待接收
CLR RI
MOV P1,SBUF ;从pc接收一个16进制数
SJMP $
END
追问
你这个程序按道理说是正确的,可是我试了一下,LED数码管什么也不显示,程序好像是卡在了
JNB RI,$ ,(我是用软件仿真来做的)把你的QQ号给我,我加你,再向你请教,我的QQ835885423,我把用proteus画的图传给你
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询