在8051串行口編程的4種工作方式。方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時(shí)器T1溢出率來決定的。所以,串行口的四種工作方式對應(yīng)著三種波特率。各種方式的波特率計(jì)算公式是不同的。
1.方式0的波特率
方式0時(shí),波特率固定為振蕩頻率的十二分之一。
波特率=fosc/12 2.方式2的波特率
方式2波特率的產(chǎn)生與方式0不同,即輸入的時(shí)鐘源不同,方式2波特率取決于PCON中SMOD位的值。當(dāng)SMOD=0時(shí),波特率為fosc的六十四分之一;若SMOD=1,則波特率為fosc的三十二分之一,即:
波特率=2SMOD* fosc/64 3.方式1和方式3的波特率
8051串行口方式1和方式3的波特率由定時(shí)器T1的溢出率與SMOD值同時(shí)決定。
方式1、方式3波特率=T1溢出率/n。
當(dāng)SMOD=0時(shí),n=32;SMOD=1時(shí),n=16。所以,可用下式確定方式1和方式3的波特率:
波特率*T1溢出率=2SMOD * T1溢出率/32 其中,T1溢出率取決于T1的計(jì)數(shù)率(計(jì)數(shù)率=fosc/12)和T1預(yù)置的初值。若定時(shí)器T1采用模式1時(shí),波特率公式如下:
例如:8051單片機(jī)時(shí)鐘振蕩頻率為12MHz,選用定時(shí)器T1工作方式2作波特率發(fā)生器,初值為FFH,波特率控制位(SMOD)=1,求波特率。
解:波特率=(2/32)*(12*106/12)*(1/(256-255))=62500波特
|