|
|
通過你強(qiáng)調(diào)的 0xFA 我查了一下,定時(shí)器1, 8位自動(dòng)重載, 22.1184MHz 的晶振,才能,0xFA 達(dá)到9600 波特率。
但是!! 轉(zhuǎn)折來了哦, 只限于標(biāo)準(zhǔn)51單片機(jī),或者 STC89, 90 系列單片機(jī)。
所以,你如果是 STC8h 那么,只能用 16位自動(dòng)重載模式,代碼一起給你吧。
void UartInit(void) //9600bps@22.1184MHz
{
SCON = 0x50; //8位數(shù)據(jù),可變波特率
AUXR |= 0x40; //定時(shí)器時(shí)鐘1T模式
AUXR &= 0xFE; //串口1選擇定時(shí)器1為波特率發(fā)生器
TMOD &= 0x0F; //設(shè)置定時(shí)器模式
TL1 = 0xC0; //設(shè)置定時(shí)初始值
TH1 = 0xFD; //設(shè)置定時(shí)初始值
ET1 = 0; //禁止定時(shí)器%d中斷
TR1 = 1; //定時(shí)器1開始計(jì)時(shí)
}
|
|