晶振是11.0592M 但是在下载时显示的是 11.050154M
我想实现9600 8位数据,1位停止的串口
#include<STC90.h>
#include <stdio.h>
bit Flag;
unsigned int ReData,SenData;
void main (void) {
SCON = 0x50; //SM0/SM1=0/1----8位可变波特率 REN=1 使能串口接收模块
TMOD|= 0x20; //定时器1 操作模式2: 8位定时
PCON|= 0x00;
TH1= 0xfd ;
TL1= 0xfd ; //定时器1的低8位计数
TR1 = 1; //定时器1的启动控制位
ES = 1; //串口中断使能位
EA = 1; //总中断开关
while(1)
{
if (Flag==1)
{
SBUF=SenData; // SBUF---串口接收/发送数据
while(
ti==1); //TI发送完成中断标志,初始值为0,完成置1
TI=0;
Flag=0;
}
}
}
void ser_int (void) interrupt 4 using 1
{
if(RI == 1) //接收完成中断标志,初始值为0
{
RI = 0;
ReData = SBUF;
SenData=ReData;
Flag=1;
}
}
一周热门 更多>