一組...定時(shí)器1可以是波特 rate 發(fā)生器,當(dāng)它是波特 rate 發(fā)生器時(shí),就不作為定時(shí)器使用。單片機(jī)波特 rate 發(fā)生器和定時(shí)器參考碼C51,波特 rate 發(fā)生器的寄存器設(shè)置是什么?為什么定時(shí)器/計(jì)數(shù)器T1作為串口波特 rate 發(fā)生器,80C51串口使用定時(shí)器1作為波特 rate 發(fā)生器。
80C51串口使用定時(shí)器1為波特 rate 發(fā)生器,應(yīng)該定義為工作模式2,即(自動(dòng)重裝)模式。假設(shè)晶振頻率為12MHZ,波特的范圍可以設(shè)置為(6000)到(4800)。原因如下:波特 rate ((2的SMOD1次方)/32)x(F/(12x(256TH1)),其中SMOD1是控制寄存器PCON的第7位(取值為0或1),F(xiàn)是晶振頻率TH1的初始值,即固定計(jì)數(shù)器Timer1的高8位TH1和低8位TL1。
Timer1可以作為波特 rate 發(fā)生器使用,當(dāng)它作為波特 rate 發(fā)生器使用時(shí),它不會(huì)作為計(jì)時(shí)器使用。只能是兩者之一。以下是初始化為波特:UART init(){ tmod 0x 20;TH10xfdTL10xfdSCON0x50TR11}注意,在做波特 rate 發(fā)生器時(shí),只啟動(dòng)定時(shí)器1,但定時(shí)器1中斷不能啟動(dòng)。
51單片機(jī)只有T1和T0,沒有T2(只有52)。如果工作在模式0、模式1、模式2,51單片機(jī)的T0和T1都可以做到波特 rate 發(fā)生器(一般是在模式2波特rate發(fā)生器)。但是T0可以工作在模式3,T1不能工作在模式3。在這種情況下,T1只能作為波特 rate 發(fā)生器,T1的資源TF1和TR1給t0,t0工作在模式3,可以作為定時(shí)器和計(jì)數(shù)器使用。
4、...選擇定時(shí)器T1的工作方式2作為 波特率 發(fā)生器,串口通信的 波特率為9600...vouduartinit(void)//9600 bps @ 11.0592 MHz { scon 0x 50;//8位數(shù)據(jù),變量波特rate AUXR | 0x 40;//定時(shí)器1時(shí)鐘為Fosc,即1TAUXR