用51单片机+11.0592的晶振,如何产生115200的波特率

简介: 原文地址http://homezzy.blog.hexun.com/29601793_d.html以前自己也遇到过这种情况,模块115200波特率而且不能更改,如何用51产生115200波特率,最近朋友也可能遇到这个问题,,特转载一下原文博客大神的文章今天解决了一个小问题(查书后才得到确切结论。

原文地址http://homezzy.blog.hexun.com/29601793_d.html

以前自己也遇到过这种情况,模块115200波特率而且不能更改,如何用51产生115200波特率,最近朋友也可能遇到这个问题,,特转载一下原文博客大神的文章

今天解决了一个小问题(查书后才得到确切结论。。。)用51单片机+11.0592的晶振,如何产生115200的波特率?

本来感觉这个小意思,直接初始化定时器1,程序如下:

void init_com( void ) 
{ 
 SCON = 0x50 ; //串口工作方式1,8位UART,波特率可变
 TMOD |= 0x20 ; //定时器1,工作方式2,自动再装入8位定时器 
 PCON |= 0x80 ; //SMOD=1; 波特率加倍
 TH1 = 0xfa ; //波特率:9600 晶振=11.0592MHz 
 IE |= 0x90 ; //使能串口中断 
 TR1 = 1 ; // 定时器1开始 
}

 

结果发现这样只能得到9600的波特率。。。

当SMOD=1时,K=2,波特率加倍,公式为:

波特率=K×11059200/32×12×(256-TH1)

所以,TH1=0xfa=256-(2×11059200/384×波特率) 其中波特率为9600

这时,及时令TH1=0xff,所得波特率最大只能为57600,也就是说,这样无法得到115200的波特率。。。

 

这样就只有采用其他方法了:

1、换晶振,用22.1184M晶振,在TH1=0xff时,刚好可以产生115200波特率。

2、采用6个时钟周期的单片机(换单片机啊。。。)

3、增强型51单片机有定时器2!(幸好偶用的是增强型。。。)

就用第三种方法啦!这时的公式如下:

波特率=11059200/32×[65535-(RCAP2H,RCAP2L)]

其中的RCAP2H,RCAP2L为自动重装值,由上式得:

RCAP2H,RCAP2L=65536-11059200/32×波特率

这样得波特率为115200时,RCAP2H,RCAP2L=0xff,0xfd,初始化程序如下:

void init_com( void ) 
{ 
    SCON=0x50; //串口工作方式1,8位UART,波特率可变  
    TH2=0xFF;           
    TL2=0xFD;   //波特率:115200 晶振=11.0592MHz 
    RCAP2H=0xFF;   
    RCAP2L=0xFD; //16位自动再装入值 

/*****************/
    TCLK=1;   
    RCLK=1;   
    C_T2=0;   
    EXEN2=0; //波特率发生器工作方式

/*****************/
    TR2=1 ; //定时器2开始
}

 

OK!这样就实现用51单片机+11.0592的晶振,产生115200的波特率了,当然老鸟看来很基本,但好长时间不用了,再复习一下~~

目录
相关文章
|
算法 C语言
单片机不同晶振怎么计算延迟时间?
单片机C语言中,怎么通过循环次数计算延迟函数的延迟时间?   首先你要知道一个指令周期是几秒 算法是1/(晶振频率除以12) 然后你要知道循环究竟执行了几个指令周期 你可以用keil里在线反汇编命令看看你的循环编译成机器语言后到底是几个指令周期 这样就知道了延迟时间 当然你取近似值也可以的 比如...
1637 0
|
6月前
|
编译器 C语言 开发者
单片机原理与应用:探索微型计算机世界
单片机原理与应用:探索微型计算机世界
53 1
|
6月前
|
数据采集 数据处理 C语言
单片机:探索其原理、应用与编程实践
单片机:探索其原理、应用与编程实践
83 1
|
6月前
|
物联网
STC51单片机-实验开发装置仿真-物联网应用系统设计
STC51单片机-实验开发装置仿真-物联网应用系统设计
133 0
|
6月前
|
物联网
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
81 0
|
1月前
|
传感器 存储 物联网
单片机的原理与应用
单片机是一种将计算机的CPU、存储器、输入输出接口等功能集成在一块芯片上的微型计算机,被广泛应用于各类控制系统和智能设备中。
51 5
|
4月前
|
传感器 存储 程序员
《单片机原理与应用及C51编程技术》期末复习笔记
《单片机原理与应用及C51编程技术》期末复习笔记
|
6月前
|
传感器 人工智能 物联网
单片机:编程实践与应用探索
单片机:编程实践与应用探索
65 4
|
6月前
|
存储 芯片
【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)
|
6月前
|
传感器 安全 物联网
单片机在智能家居系统中的应用研究
单片机在智能家居系统中的应用研究
183 1