單片機(jī)波特率的設(shè)計(jì)
1、方式0和方式2
在方式0時(shí),每個(gè)機(jī)器周期發(fā)送或接收一位數(shù)據(jù),因此波特率固定為單片機(jī)時(shí)鐘頻率的1/12(即fosc/12),且不受SMOD的影響。若晶振頻率fosc=12MHz時(shí),則波特率=fosc/12=12MHz/12=1Mb/s,即1 μs移位一次。
方式2的波特率取決于PCON中的SMOD之值,當(dāng)SMOD=0時(shí),波特率為fOSC的1/64;若SMOD=1時(shí),則波特率為fOSC的1/32。即:
2、方式1和方式3
方式1、方式3的波特率可變,由定時(shí)器T1的溢出率與SMOD的值共同決定。即:
其中溢出率取決于計(jì)數(shù)速率和定時(shí)器的預(yù)置值。當(dāng)利用T1作波特率發(fā)生器時(shí),通常選用方式2,即8位自動(dòng)重裝載模式,其中TL1作計(jì)數(shù)器,THl存放自動(dòng)重裝載的定時(shí)初值。因此,對T1初始化時(shí),寫入方式控制字(TMOD)=00100000B。這樣每過“256-X”個(gè)機(jī)器周期,定時(shí)器T1就會(huì)產(chǎn)生一次溢出,溢出周期為:溢出率為溢出周期之倒數(shù),因此,波特率的公式還可寫成:
編輯:admin 最后修改時(shí)間:2019-07-06