新手求助,想试验100波特率的串行通信,proteus仿真就是不成功,请指教
程序或者初值不对都请纠正出来,感谢感谢!!
程序如下:串行方式1,定时器1定时器方式1
#include <reg52.h>
/*************************************************************************
串口初始化,波特率9600改100,方式1
**************************************************************************/
void Init_Com(void)
{
TMOD = 0x10; //16位定时计数器,定时器1工作方式1
PCON = 0x00; //电源控制寄存器
SCON = 0x40; //串口寄存器,串口工作方式1
TH1 = (65536-10000)/256;
TL1 = (65536-10000)%256;
EA = 1;
ET1 = 1;
TR1 = 1;
}
/*********
中断服务子程序
**********/
void timer1() interrupt 1 //定时器T1中断服务子程序;
{
TH1=(65536-10000)/256;
TL1=(65536-10000)%256; //重装计数器;
}
/*************************************************************************
主函数
**************************************************************************/
void main()
{
Init_Com();//串口初始化
while(1)
{
SBUF=0X04;
while(!TI);
TI=0;
}
}
|