51单片机串口:为什么通过调试助手给单片机发送“1”时,数码管显示的不是“1” 求大神指点迷津

2025-01-05 10:08:15
推荐回答(2个)
回答1:

串口助手发送字符1时,实际发送1的asc码,即0x31
WAIT: MOV A,SBUF
MOV P1,A
应改为
WAIT: MOV A,SBUF
subb a,#30h
MOV P1,A

回答2:

程序似乎不对,应该是1收串口数据;2查表;3显示。
ORG 0000H
MAIN:
MOV TMOD,#20H
MOV TH1,#0F3H;250=0xfa
MOV TL1,#0F3H
MOV P1,#00H
SETB TR1
MOV SCON,#50H
WAIT: JNB RI,$
CLR RI

MOV A,SBUF
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
SJMP WAIT
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END