刚学C51,用
proteus仿真,结果发现乱码。求大师指导一下。
下面附上代码。
#include
#include
void initUsart(void);
void send_char(unsigned char data1);
void send_string(unsigned char *dat);
int main(void)
{
unsigned long counter;
initUsart();
while(1)
{
//SBUF='A';
//while(!ti); //等待发送完
//TI=0;
send_string("Receiving from 8051...rn"); //发送字符串,结尾回车换行
for(counter =0;counter<2000;counter++);
}
return 0;
}
void initUsart(void)
{
SCON = 0x40; //串口工作方式设置
TMOD = 0x20; //定时器工作方式设置
PCON = 0x00; //波特率倍增设置
TL1 = 0xfd; //波特率设置
TH1 = 0xfd; //
TI = 0; // 清0发送中断标志
TR1 = 1; //开启定时器
}
//字符发送函数
void send_char(unsigned char data1)
{
SBUF = data1; //将待发送的字符送入发送缓冲器
while(TI == 0); //等待发送完成
TI = 0; //发送中断标志请0
}
//字符串发送函数
void send_string(unsigned char *dat)
{
while(*dat != '