#include<reg52.h> void main() {
TMOD=0x20;//设置定时器1为工作方式2 TH1=0xfd; TL1=0xfd;//波特率9600 TR1=1; REN=1; SM0=0; SM1=1; while(1) { SBUF=0xff; while(!TI); TI=0; } } 就这么简单的一个串口程序,功能是一直向计算机发送ff,但是运行程序的时候串口调试助手收到不是ff,有时候是fd,有时候是fe。运行别的串口程序也出现类似的问题,不知道是什么原因,是硬件电路有问题?还是串口调试助手设置不对,我用的串口调试助手2.2。程序好像没有问题吧,这么简单?对了还有,我用过的是伟福调试软件,在串口观察窗口,发现显示的波特率不是9600,而且SBUF也不发生变化,一直是00,我就跟迷惑了,高手指点迷津吧,谢谢!!! |