|
|
| | -文章搜索 - 最新文章 - | |
第3057篇:为什么51系列单片机常用11.0592MHz的晶振设计 |
| 发布时间:2006年10月15日 点击次数:3165 |
| 来源: 作者: |
当定时器1被用作波特率发生器时,波特率工作于方式1和方式3是由定时器1的溢出率和SMOD的值(PCON.7------双倍速波特率)决定: 方式1、3波特率= (定时器1的溢出率) 特殊时,定时器被设在自动重袋模式(模式2,TMOD的高四位为0100B),其为: 方式1、 3波特率= 11.0592MHZ晶振的一些典型波特率如下: 波特率 SMOD TH1 19200 1 0FDH 9600 0 0FDH 4800 0 0FAH 2400 0 0F4H 1200 0 0E8H 300 0 0A0H 更换一种计算方式,它将以修改公式达到我们需求的波特率来计算出晶振。 最小晶振频率=波特率x 384 x 2 SMOD 这就是我们所需波特率的最小晶振频率,此频率能成倍增加达到我们需求的时钟频率。 例如:波特率为19.2KH2的最小晶振频率: 3.6864=19200x384x2(波特率为19.2K的SMOD为1 ) 11.0592=3.6864x3 其中TH1是由倍乘数(3)确定 TH1=256-3=253=0FDH 用来确定定时器的重装值,公式也可改为倍乘数的因子: 晶振频率=波特率x(256-TH1)x384x2 SMOD 这是波特率为19.24K的晶振频率。 以上的例子可知,被乘数(3)是用来确定TH1: TH1=256-3=253=0FDH 19.2K波特率的晶振为 11.0592=19200x(256-0FDH)x384x2(19.2 k的SMOD为1) 其它值也会得出好的结果,但是11.0592MHZ是较高的晶振频率,也允许高波特率 |
|
|
|
|
[单片机] 相关文章: 编写适合自己需要的printf()函数简介: 对于嵌入式软件的开发人员而言,“printf调试(printf-debugging)”这个术语描述了将调试字符串从嵌入式目标空闲的串口压出,并在运行于宿主工作站的终端模拟器上显示结果的常见方法。 出于这个目的,许多程序员更喜欢使用有名的printf() C语言库函数,因为它在将文本输出和数据组合成单个函数调用上具有灵活性。但是,不在嵌入式系统中使用printf()无外乎两个常见的原因:不是因为printf()太慢了,就是因为它太大了。 事实上,很容易就会碰到这些局限性。如果你...... C程序优化 在C51中变量的空间分配几个方法 MCU的供电和去藕 自己制做显卡温控报警器装置 |
|
|
|