因?yàn)樗軌驕?zhǔn)確地劃分成時(shí)鐘頻率,與UART(通用異步接收器/發(fā)送器)量常見(jiàn)的波特率相關(guān)。特別是較高的波特率(19600,19200),不管多么古怪的值,這些晶振都是準(zhǔn)確,常被使用的。 當(dāng)定時(shí)器1被用作波特率發(fā)生器時(shí),波特率工作于方式1和方式3是由定時(shí)器1的溢出率和SMOD的值(PCON.7------雙倍速波特率)決定:
方式1、3波特率= (定時(shí)器1的溢出率)
特殊時(shí),定時(shí)器被設(shè)在自動(dòng)重袋模式(模式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
更換一種計(jì)算方式,它將以修改公式達(dá)到我們需求的波特率來(lái)計(jì)算出晶振。
最小晶振頻率=波特率x 384 x 2 SMOD
這就是我們所需波特率的最小晶振頻率,此頻率能成倍增加達(dá)到我們需求的時(shí)鐘頻率。
例如:波特率為19.2KH2的最小晶振頻率: 3.6864=19200x384x2(波特率為19.2K的SMOD為1 ) 11.0592=3.6864x3 其中TH1是由倍乘數(shù)(3)確定 TH1=256-3=253=0FDH
用來(lái)確定定時(shí)器的重裝值,公式也可改為倍乘數(shù)的因子:
晶振頻率=波特率x(256-TH1)x384x2 SMOD
這是波特率為19.24K的晶振頻率。
以上的例子可知,被乘數(shù)(3)是用來(lái)確定TH1:
TH1=256-3=253=0FDH 19.2K波特率的晶振為 11.0592=19200x(256-0FDH)x384x2(19.2 k的SMOD為1)
其它值也會(huì)得出好的結(jié)果,但是11.0592MHZ是較高的晶振頻率,也允許高波特率 |