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

2025年01月05日 10:08
有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