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