嵌入式學(xué)習筆記10——51單片機之中斷定時(shí)器中斷
(1)振蕩周期:為單片機提供定時(shí)信號的振蕩源的周期(晶振周期或外加振蕩周期)。
本文引用地址:http://dyxdggzs.com/article/201611/318671.htm(2)狀態(tài)周期:2個(gè)振蕩周期為1個(gè)狀態(tài)周期,用S表示。振蕩周期又稱(chēng)S周期或時(shí)鐘周期。
(3)機器周期:1個(gè)機器周期含6個(gè)狀態(tài)周期,12個(gè)振蕩周期(使用計時(shí)器時(shí),每隔一個(gè)機器周期計時(shí)器加1)。
(4)指令周期:完成1條指令所占用的全部時(shí)間,它以機器周期為單位。
2. 學(xué)習定時(shí)器前須明白:
(1)51單片機有2組定時(shí)器/計數器(52單片機有三組),可定時(shí)或計數。
(2)定時(shí)器/計數器和單片機的CPU是相互獨立的,定時(shí)器/計數器工作的過(guò)程是自動(dòng)完成的,不需要CPU的參與。
(3)51單片機中的定時(shí)器/計數器是根據機器內部的時(shí)鐘或者外部的脈沖信號對寄存器(即TH0、TL0和TH1、TL1)中的數據加1。
3. TMOD是定時(shí)/計數器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動(dòng)和停止及設置溢出標識。
GATE:門(mén)控位,用于控制定時(shí)器的啟動(dòng)是否受外部中斷源信號的影響。GATE=0時(shí),只要用軟件使TCON中的TR0或TR1為1,就可以啟動(dòng)定時(shí)/計數器工作。 GATE=1時(shí),用軟件置TR0或TR1為1,同時(shí)外部中斷引腳INT0/1也為高電平時(shí),才能啟動(dòng)定時(shí)/計數器工作。
C/T:C/T=0為定時(shí)模式;C/T=1為計數模式。
M1M0:工作方式設置位,共四種工作方式。
00——13位定時(shí)/計數器
01——16位定時(shí)/計數器
10——8位自動(dòng)重裝定時(shí)/計數器
11—— T0分成兩個(gè)獨立的8位定時(shí)/計數器;T1此方式停止計數。
TF0、TF1:T0、T1溢出時(shí),由硬件自動(dòng)將TF0、TF1置1,CPU響應中斷后TF0、TF1由硬件自動(dòng)清0;也可用軟件將TF0、TF1置1或清0,效果同硬件一樣。
4. 使用定時(shí)器,該做哪些工作?
(1)對TMOD賦值,以確定T0和T1的工作方式,TMOD各位如上面的圖片所示;
(2)計算初值,并將其寫(xiě)入TH0、TL0或TH1、TL1;
(3)開(kāi)EA,開(kāi)放定時(shí)器中斷(IE寄存器如下圖)。
(4)使TR0或TR1置位,啟動(dòng)定時(shí)/計數器定時(shí)或計數(在 TCON寄存器中)。
(5)寫(xiě)中斷服務(wù)程序,注意對應的中斷號。
評論