52单片机串口波特率设置函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
52单片机串口波特率设置函数
波特率设置太麻烦了吧,用函数设置吧,不必东奔西走的找了,个人自己写的代码,欢迎使用,不需要金币,好用就评价一下吧
注意了,仅用于52系列单片机,代码如下:
/*----------52单片机波特率设置函数--------------
------------------------------------------------
作者:wenguang.li
Email:liwg@//wenguang.li@
MCU: *52
Cristal frequency unit MHz 晶体频率单位MHz
Baudrate as you desired
Example: set52_baudrate(11.0592,57600)
Use Timer2 使用定时器2
------------------------------------------------
----------------------------------------------*/
//if osc=11.0592M
//can set baudrate 110,300,600,1200,2400,4800,9600,19200,38400,57600,115200bps
void set52_baudrate(float frequency,long int baudrate)
{
unsigned int itmp;
unsigned char tlow,thigh;
itmp=(int)(65536-(frequency*1000000)/(baudrate*32));
thigh=itmp/256;
tlow=itmp%256;
SCON=0x56;
T2CON=0x30;
RCAP2H=thigh;
RCAP2L=tlow;
TH2=thigh;
TL2=tlow;
TR2=1; //set ok
}
///////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////