|
1.12T是就是12分頻,STC89系列的速度本來就是12T,所以不用設(shè)置。
2.AUXR是一個輔助寄存器,AUXR&=0x7f就是對AUXR進(jìn)行位操作,相當(dāng)于賦值,在STC12系列單片機(jī)里面AUXR&=0x7f就是設(shè)置為12分頻。
3.以定時器T0為例,有關(guān)的特殊功能寄存器有:
IE(中斷允許寄存器),位可尋址,所以直接寫位名稱就可以了,與T0有關(guān)的是ET0,相當(dāng)于定時器T0的電源,ET0=1時,接通電源。此外,還有一位是EA,相當(dāng)于所有中斷的總開關(guān),EA=1時,總開關(guān)打開;
IP(中斷優(yōu)先級寄存器),位可尋址,與T0有關(guān)的是PT0,當(dāng)PT0=1時,T0優(yōu)先級最高,多個中斷同時來的話,會優(yōu)先處理T0;
TMOD(模式寄存器),位不可尋址,所以使用的時候,我們直接對它進(jìn)行位操作,設(shè)置定時器的工作模式;
TCON(控制寄存器),位可尋址,與T0有關(guān)的是TR0、TF0,相當(dāng)于T0的開關(guān),TR0=1時,定時器T0打開。TF0是中斷請求標(biāo)志位,當(dāng)計數(shù)器達(dá)到設(shè)定的模值時,系統(tǒng)自動將TF0位置一,并向CPU提出中斷申請,CPU響應(yīng)相應(yīng)的中斷請求,并進(jìn)入中斷服務(wù)程序中后,硬件電路自動將TF0位清0;
還有就是定時器里面的計數(shù)器,TH0和TL0,存放計數(shù)值的地方,達(dá)到設(shè)定的模值時,會自動清零;
我們在用定時器中斷的時候,先設(shè)置好定時器的工作模式,設(shè)定好模值,打開定時器開關(guān),還有優(yōu)先級。當(dāng)中斷來了之后,會暫停正在執(zhí)行的程序,先執(zhí)行中斷服務(wù)程序,執(zhí)行完中斷服務(wù)程序后,再回到剛剛暫停的地方,接著往下執(zhí)行。
|
|