STC12C5A60S2单片机独立波特率发生器
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STC12C5A60S2单片机独立波特率发生器单片机
STC12C5A60S2单片机新增了一个独立波特率发生器,对与需要较多定时器的系统,这将可以完全解放定时器T1,是非常方便的。
以下程序是读取STC12C5A60S2单片机内部晶振频率,通过串口1发送出去,波特率为9600
#include<STC12C5A.h>
unsigned char *add;
unsigned char i;
unsigned char xtal[4];
void main()
{ AUXR|=0x04; //独立波特率发生器工作在1T模式
SCON=0x40; //设置串口工作方式
AUXR|=0x01; //选择独立波特率发生器作为串口1的波特率
BRT=0xd9; //设置独立波特率发生器的溢出率
PCON=0x00; //波特率不加倍
AUXR|=0x10; //独立波特率发生器开始工作
/**********读晶振频率号**********/
add=0xf8;
for(i=0;i<4;i++) // 单片机上电后,从内部RAM单元的
{ // F8H——FBH读取晶振频率,读取后,这些RAM单元的xtal[i]=*add; // 内容会改变
add++;
}
/**********串口发送***************/ for(i=0;i<4;i++)
{
SBUF=xtal[i];
while(TI==0);
TI=0;
}
while(1)
{
;
}
}。