|
如下所示是代碼,發(fā)現(xiàn)發(fā)送16進(jìn)制的數(shù)據(jù)0x30,接收到的也是0x30.但是單片機(jī)的顯示不是0x30,而是顯示0xc0。為了驗(yàn)證這個(gè),加了if判斷發(fā)送0x30時(shí)是否在單片機(jī)內(nèi)部數(shù)據(jù)為0xc0,結(jié)果真的是這樣。請(qǐng)問(wèn)一下這是怎么回事??
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar ch;
void main (void)
{
SCON = 0x50;
PCON = 0x00;
TMOD = 0x20;
TH1 = 0xfd;
TL1 = 0xfd;
TR1 = 1;
EA = 1;
ES = 1;
while (1) ;
}
void serial(void) interrupt 4
{
ES=0;
RI=0;
ch=SBUF;
SBUF=ch;
while(TI==0);
TI=0;
if(ch==0xc0)
{
P1=0xfe;
}
else
{
P1=0x00;
}
ES=1;
}
|
|