新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 串口通信工作方式1波特率的計(jì)算

串口通信工作方式1波特率的計(jì)算

作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
本文只討論串口通信工作方式1的波特率
公式:波特率=(2^SMOD/32)*(T1溢出率)
其中,當(dāng)SMOD=0,波特率正常
當(dāng)SMOD=1,波特率加倍.
T1溢出率就是T1定時(shí)器溢出的頻率,只要算出T1定時(shí)器每溢出一次所需的時(shí)間T,就可以算出溢出率1/T.單位為Hz。
T1定時(shí)器使用工作方式2(TMOD=0X20),即8位初值自動(dòng)重裝的定時(shí)器。其工作過程是,在TLX和THX中裝好相同的初值,在時(shí)鐘的作用下TLX加一計(jì)數(shù),當(dāng)TLX加滿溢出后,CPU會(huì)自動(dòng)將THX的值裝入TLX中......如此循環(huán)。
每計(jì)一個(gè)數(shù)的時(shí)間為一個(gè)機(jī)器周期,一個(gè)機(jī)器周期為12個(gè)時(shí)鐘周期。如采用11.0592MHz的晶振,機(jī)器周期為12*(1/11.0592MHz)(s),那么定時(shí)器溢出一次的時(shí)間為(256-X)*12/11.0592MHz(s),其中X為裝入的初值。取倒數(shù)即為T1的溢出率。
如要設(shè)為波特率為9600,此處SMOD取0,則9600=(1/32)*11059200/((256-X)*12),解得X=253,即十六進(jìn)制的0xfd。


關(guān)鍵詞: 串口通信工作方式波特

評(píng)論


技術(shù)專區(qū)

關(guān)閉