51波特率发生器定时器初值计算方法

发布者:fuehrd努力的最新更新时间:2017-11-11 来源: eefocus关键字:波特率  发生器  定时器  初值 手机看文章 扫描二维码
随时随地手机看文章

在模式0和模式2下,串口波特率固定,模式0为Fosc/12。模式2为Fosc/32或Fosc/64,具体由PCON寄存器的SMOD位决定。

在模式1和模式3下,波特率是一个可变值,波特率可以由定时器1产生(8052可以由定时2产生),那么波特率到底为多少呢?波特率由定时器1的溢出率来决定:
Baud Rate = (2SMOD/32)*(Timer 1 Overflow Rate)
注意:2SMOD这里的SMOD是指数,SMOD为波特率双倍波特率位,该位在PCON寄存器中。
当使用timer 1作为波特率产生器时,通常需要将timer 1配置成8位自动重装的工作模式下,同时还要禁止timer 1中断,那么timer 1的溢出率是怎样计算的呢?溢出率即溢出的频率,假设晶振频率为12MHz,TH1值为0xFE,则只需要两个时钟脉冲就会溢出,溢出的周期为2us,那么溢出的频率就为500KHz。根据定时器一节,定时时间有如下计算公式:
定时时间=(最大计数值-计数器初值)*机器周期=(最大计数值-计数器初值)*(12/晶振频率(Hz))(s)=(256-TH1)*(12/OSC_FREQ(Hz))(s)。
那么溢出频率自然就为:
OSC_FREQ(Hz)/((256-TH1)*12)。
所以最后推到出波特率为:
(2SMOD/32)*(OSC_FREQ(Hz)/((256-TH1)*12))。

波特率的计算公式有了,那自然就可以根据波特率推导出TH1的初值了:
BAUD_RATE=(2SMOD/32)*(OSC_FREQ(Hz)/((256-TH1)*12))
32*12*(256-TH1)=(2SMOD*OSC_FREQ(Hz))/BAUD_RATE
256-TH1=(2SMOD*OSC_FREQ(Hz))/(BAUD_RATE*32*12)
TH1=256-(2SMOD*OSC_FREQ(Hz))/(BAUD_RATE*32*12)
假设晶振频率为11.0592MHz,波特率为9600,SMOD=0,TH1初值应该为多少呢?根据上面公式可以计算得TH1=256-11059200/(9600*32*12)=0xFD。


关键字:波特率  发生器  定时器  初值 引用地址:51波特率发生器定时器初值计算方法

上一篇:51单片机中断优先级设定
下一篇:51单片机内部EEPROM的读写解析及例程

推荐阅读最新更新时间:2024-03-16 15:44

C8051F320AD转换和温度传感器
C8051F320内部有一个10位逐次逼近型ADC,可以工作在单端方式或者差分方式。 一、简要原理 单片机内集成了2个多路选择器,分别作为ADC的正输入信号和负输入。 正输入端由寄存器AMX0P控制输入信号,可以是P1~P3、温度传感器、VDD之一; 负输入端由寄存器AMX0N控制输入信号,可以是P1~P3、VREF、GND之一。 单负输入端选择GND时,采用单端方式;其他情况则采用差分方式,即用正端相对于负端的电压进行转换。 *采用并行口作为输入信号时,必须将对应输入引脚设为模拟输入,并且对应的SKIP要设置为1,即跳过 二、寄存器 1、转换结果保存在两个8位寄存器ADC0H
[单片机]
MSP430系列串口波特率计算方法
MSP430系列,usart模块的波特率值设定是通过以下三个参数决定的:UxBR0,UxBR1,UxMCTL 波特率=BRCLK/N BRCLK:时钟源,可以通过寄存器设定何为时钟源; N:波特率产生的分频因子。N=UxBR1+UxBR0+UxMCTL,其中UxBR1+UxBR0为整数部分,UxMCTL为设定小数部分 举个实例:波特率=2400,时钟源=32.768kHz N=32768/2400=13.65 很明显:UxBR1+UxBR0=13,即UxBR1=0,UxBR0=13,主要是小数部分对于初学者不是很好理解; 首先把小数部分0.65×8,即5.2,取整后为5。这个5的意思就是在UxMCTL中的8位里要有5个1,剩下
[单片机]
STM32定时器有什么功能?STM32的用法详解
2.2 计数器模式 TI M2-TIM5可以由向上计数、向下计数、向上向下双向计数。向上计数模式中,计数器从0计数到自动加载值(TIMx_ARR计数器内容),然后重新从0开始计数并且产生一个计数器溢出事件。 在向下模式中,计数器从自动装入的值(TIMx_ARR)开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件。而中央对齐模式(向上/向下计数)是计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器溢出事件;然后再从0开始重新计数。 2.3 编程 步骤 1. 配置系统 时钟 ; 2. 配置NVIC; 3. 配置GPIO; 4. 配置TIMER; 其中
[单片机]
STM32<font color='red'>定时器</font>有什么功能?STM32的用法详解
STM32单片机串口通信波特率计算方法
1. 什么是波特率 不管是什么单片机,在使用串口通信的时候,有一个非常重要的参数:波特率。什么是波特率:波特率就是每秒传送的字节数。双方在传输数据的过程中,波特率一致,这是通讯成功的基本保障。下面以STM32单片机为例,讲解一下串口波特率的计算方法。 2. STM32波特率相关的寄存器 STM32单片机设置波特率的寄存器只有一个:USART_BRR寄存器,如下图所示。 该寄存器的有效位数为16位,前4位用于存放小数部分,后12位用于存放整数部分。将波特率算出来后,数值填入这个波特率就可以了。下面介绍如何计算。 3. 波特率计算方法 STM32的数据手册给出了计算方法,有一个公式,如下图所示: 在这个公式上,共有三
[单片机]
STM32单片机串口通信<font color='red'>波特率</font>计算方法
STM32 通用定时器作为输入捕获 学习笔记
STM32 通用定时器作为输入捕获 通用定时器作为输入捕获的使用。我们将用TIM5的通道1(PA0)来做输入捕获,捕获PA0上高电平的脉宽(用 WK_UP 按键输入高电平),通过串口打印高电平脉宽时间。 输入捕获简介: 输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。 STM32 的输入捕获,简单的说就是通过检测 TIMx_CHx 上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候, 将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA
[单片机]
基于C8051F015芯片在开发板上实现μC/OS-II的移植
在嵌入式应用中,使用RTOS的最主要原因是提高系统的可靠性,其次是提高开发效率、缩短开发周期。μC/OS-II 是一个基于优先级的抢占式实时内核,支持56 个用户任务,90%的代码使用标准的ANSI C语言书写,程序可读性强,移植性好,代码可固化,可裁剪,非常灵活。C8051F是美国Cygnal公司生产的与51系列兼容的微控制器,流水线指令结构70%的指令的执行时间为1个或2个系统时钟周期。当时钟频率为25MHz时,速度可达25MIPS,是一款不错的片上系统。 1 开发工具和运行环境 实现μC/OS-II的移植,要求所用的C编译器支持混合编程。KEIL C51可为众多的8051派生器件编程。我们选用的是KEIL7.02集成开发
[单片机]
基于C80<font color='red'>51</font>F015芯片在开发板上实现μC/OS-II的移植
单片机开发中断及一些理解
强制类型转换 a = 0x0000; b = 0xaa55;(uint16) a = (uint8)(b); a = 0x55; a = 0x00; b = 0x10; a = (bit)(表达式); 中断响应条件 一、中断源有中断请求; 二、此中断源的中断允许位为1; 三、CPU开中断(即EA=1); 以上三个条件同时满足时,CPU才有可能响应中断。 EA =1;开总中断 EX0=1;开外部中断0 都是IE寄存器 触发方式 电平与跳变沿 IT0 = 0; 跳边沿触发由于单片机上电所有寄存器就是0 可以不用设置 电平触发方式不好,会始终不走了停在中断当中,所以应该采用跳变沿方式 IT1 =1
[单片机]
如何使用555定时器构建一个简单的节拍器
555定时器IC是一种多功能元件,可用于各种电路,包括节拍器。节拍器是音乐家在练习过程中用来保持稳定节奏的装置。在本教程中,您将学习如何使用555定时器IC构建一个简单的节拍器。 零件清单 1×9V电池 1×555定时器IC 1×电位器,VR1250kΩ 1×电阻,R11kΩ 2×电容器,C1和C222μF 1×扬声器,8Ω 555定时器配置为非稳态模式,这意味着它可以生成连续的脉冲序列。这些脉冲的频率决定了节拍器的速度。 时序组件:电阻(VR1和R1)和电容器(C1)决定脉冲间隔,可以通过改变VR1的电阻来调整。 电容放电:输出在高电平和低电平状态之间切换,导致C2充电和放电,进而在扬声器中产生声音。 喇叭输出:当输出引
[嵌入式]
如何使用555<font color='red'>定时器</font>构建一个简单的节拍器
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved