本帖最后由 zhaohualiang 于 2011-1-5 14:12 编辑
我用的是STC89C58,用串口调试助手与PC通讯,单片机发送数据给PC,上电后PC能接收到正确的数据,但是断电时PC又接收到一些乱码。百思不得其解,用另一块板子试验,结果一切正常。于是断定是板子的问题,但是电路一样啊,请各位帮忙看看。
#include <reg52.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
sfr T2MOD=0xC9;
uchar i;
uchar dat1[]="2010-1-5 11:55";
void com_init()
{
TCLK=1;
RCLK=1;
TH2=0xFF; //9600bps 11.0592MHz的时钟频率
TL2=0xDC;
RCAP2H=0xFF; //方式1和方式3的波特率=fosc/(32-(65535-(RCAP2H,RCAP2L))
RCAP2L=0xDC;
SCON=0X50;
TR2=1;
}
void print(uchar ch)
{
SBUF=ch;
while(TI==0)
{};
TI=0;
}
void main()
{
com_init();
for(i=0;i<strlen(dat1);i++)
print(dat1);
while(1);
} |