新手求助,想試驗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;
}
}
|