找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4747|回復(fù): 0
收起左側(cè)

單片機(jī)對(duì)12M和11.0592M的選擇

[復(fù)制鏈接]
ID:79827 發(fā)表于 2015-8-14 11:51 | 顯示全部樓層 |閱讀模式
51單片機(jī)常用晶振頻率是1.2M-12M,一般情況下,一個(gè)機(jī)器周期是12個(gè)時(shí)鐘周期,所以用12M時(shí),一個(gè)機(jī)器周期是1US,好計(jì)算,而且速度相對(duì)是最高的,當(dāng)然現(xiàn)在也有更高頻率的單片機(jī)。
而進(jìn)行通信是,一般選擇11.0592M,12M頻率進(jìn)行串行通信不容易實(shí)現(xiàn)標(biāo)準(zhǔn)的波特率,比如9600,4800,而11.0592M計(jì)算時(shí)正好可以得到,因此在有通信接口的單片機(jī)中,一般選11.0592M   
計(jì)算一下就知道了。如我們要得到9600 的波特率,晶振為11.0592M 12M,定時(shí)器1 為模式2,SMOD 設(shè)為1,分別看看那所要求的TH1 為何值。代入公式:     11.0592M            9600(2÷32)×((11.0592M/12)/(256-TH1))            TH1250     12M                9600(2÷32)×((12M/12)/(256-TH1))                   TH1249.49   上面的計(jì)算可以看出使用12M 晶體的時(shí)候計(jì)算出來(lái)的TH1 不為整數(shù),而TH1 的值只能取整數(shù),這樣它就會(huì)有一定的誤差存在不能產(chǎn)生精確的9600 波特率。當(dāng)然一定的誤差是可以在使用中被接受的,就算使用11.0592M 的晶體振蕩器也會(huì)因晶體本身所存在的誤差使波特率產(chǎn)生誤差,但晶體本身的誤差對(duì)波特率的影響是十分之小的,可以忽略不計(jì)

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表