永州壮期娱乐有限公司

你的位置:首頁 > 測試測量 > 正文

晶振對波特率的影響到底有多大?讓你見識見識

發(fā)布時(shí)間:2014-12-25 責(zé)任編輯:echolady

【導(dǎo)讀】單片機(jī)中的晶振在整個(gè)內(nèi)部電路中發(fā)揮著重要的作用,電路配合晶振的運(yùn)行能夠產(chǎn)生單片機(jī)所需的時(shí)鐘頻率??梢哉f,一切指令都是建立在時(shí)鐘頻率的基礎(chǔ)上,那么,晶振與波特率又有什么關(guān)系呢?兩者之間影響到底有多大呢?

在串行通信中,MCS—51串口可約定四種工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時(shí)器T1的溢出率決定。

波特率是指串行端口每秒內(nèi)可以傳輸?shù)牟ㄌ匚粩?shù)。這里所指的波特率,如標(biāo)準(zhǔn)9600不是每秒種可以傳送9600個(gè)字節(jié),而是指每秒可以傳送9600個(gè)二進(jìn)位,而一個(gè)字節(jié)要8個(gè)二進(jìn)位,如用串口模式1來傳輸,那么加上起始位和停止位,每個(gè)數(shù)據(jù)字節(jié)就要占用10個(gè)二進(jìn)位,9600波特率用模式1傳輸時(shí),每秒傳輸?shù)淖止?jié)數(shù)是9600÷10=960字節(jié)。

晶振對波特率的影響到底有多大?讓你見識見識
圖1
 
方式0和方式2的波特率

方式0的波特率是固定的,為fosc/12,以一個(gè)12M 的晶振來計(jì)算,那么它的波特率可以達(dá)到1M。

方式2的波特率是固定在fosc/64 或fosc/32,具體用那一種就取決于PCON 寄存器中的SMOD位,如SMOD 為0,波特率為focs/64,SMOD 為1,波特率為focs/32。

方式1和方式3的波特率

模式1和模式3的波特率是可變的,取決于定時(shí)器1或2(對于52芯片)的溢出速率,就是說定時(shí)器1每溢出一次,串口發(fā)送一次數(shù)據(jù)。可以用以下的公式去計(jì)算:
晶振對波特率的影響到底有多大?讓你見識見識
上式中如設(shè)置了PCON寄存器中的SMOD位為1時(shí)就可以把波特率提升2倍。通常會使用定時(shí)器1工作在定時(shí)器工作模式2下,這時(shí)定時(shí)值中的TL1做為計(jì) 數(shù),TH1做為自動(dòng)重裝值,這個(gè)定時(shí)模式下,定時(shí)器溢出后,TH1的值會自動(dòng)裝載到TL1,再次開始計(jì)數(shù),這樣可以不用軟件去干預(yù),使得定時(shí)更準(zhǔn)確。在這個(gè)定時(shí)模式2下定時(shí)器1溢出速率的計(jì)算公式如下:

溢出速率=(計(jì)數(shù)速率)/(256-TH1初值)

溢出速率=fosc/[12*(256-TH1初值)

上式中的“計(jì)數(shù)速率”與所使用的晶體振蕩器頻率有關(guān),在51 芯片中定時(shí)器啟動(dòng)后會在每一個(gè)機(jī)器周期使定時(shí)寄存器TH的值加1,一個(gè)機(jī)器周期等于十二個(gè)振蕩周期,所以可以得知51芯片的計(jì)數(shù)速率為晶體振蕩器頻率的1/12,一個(gè)12M 的晶振用在51芯片上,那么51的計(jì)數(shù)速率就為1M。通常用11.0592M 晶體是為了得到標(biāo)準(zhǔn)的無誤差的波特率,那么為何呢?計(jì)算一下就知道了。如我們要得到9600 的波特率,晶振為11.0592M 和12M,定時(shí)器1 為模式2,SMOD 設(shè)為1,分別看看那所要求的TH1 為何值。代入公式:

11.0592M:

9600=(2÷32)×((11.0592M/12)/(256-TH1))
TH1=250

12M:

9600=(2÷32)×((12M/12)/(256-TH1))
TH1≈249.49

上面的計(jì)算可以看出使用12M晶體的時(shí)候計(jì)算出來的TH1不為整數(shù),而TH1的值只能取整數(shù),這樣它就會有一定的誤差存在不能產(chǎn)生精確的9600波特率。當(dāng)然一定的誤差是可以在使用中被接受的,就算使用11.0592M 的晶體振蕩器也會因晶體本身所存在的誤差使波特率產(chǎn)生誤差,但晶體本身的誤差對波特率的影響是十分之小的,可以忽略不計(jì)。

相關(guān)閱讀:

電路設(shè)計(jì)普及:晶振振蕩電路設(shè)計(jì)
【絕對干貨】完曝51單片機(jī)晶振疑難雜癥
如何精準(zhǔn)的設(shè)計(jì)晶振的匹配電容問題?

要采購晶振么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉

大姚县| 绥阳县| 芒康县| 新安县| 沈丘县| 潢川县| 积石山| 赤城县| 蒙自县| 玉溪市| 额尔古纳市| 张家界市| 龙海市| 敖汉旗| 柘荣县| 夏河县| 吉木萨尔县| 城步| 灵璧县| 达州市| 东乡族自治县| 新巴尔虎左旗| 修文县| 岢岚县| 肃南| 邢台县| 昌都县| 陈巴尔虎旗| 海林市| 南通市| 玉田县| 迁西县| 喜德县| 开封市| 大厂| 茶陵县| 沿河| 银川市| 苍南县| 安多县| 长治市|