今天调试串口 用的是ZLG的51试验箱 显示字符出现乱码 后来发现规律 要减去0x20; 但是还是会有一些错误 有些字符不对 请问这是为什么? 代码如下 #include "reg51.h" #define uchar unsigned char #define uint unsigned int uchar code trdata[10]={'H','U','C','H','E','N','G',0X00}; void main() { uchar i; uint j; TMOD=0x20; //9600波特率 定时器1 TL1=0xFD;TH1=0xFD; SCON=0x50;PCON=0x00; //串口工作方式1 TR1=1; while(1){ i=0; while(trdata!=0x00) { SBUF=trdata-0x20; while(TI==0); TI=0; i++; } for(j=12500;j>0;j--); }
} |