資源描述:
《單片機(jī)的定時(shí)與中斷系統(tǒng)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、3.1定時(shí)器/計(jì)數(shù)器3.1.1單片機(jī)定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)1.定時(shí)器/計(jì)數(shù)器的組成結(jié)構(gòu)MCS-51單片機(jī)內(nèi)部有兩個(gè)定時(shí)器/計(jì)數(shù)器(TO和T1)。它們都是16位的加法計(jì)數(shù)器,可用于定時(shí)控制和對(duì)外部事件的計(jì)數(shù)。當(dāng)用于定時(shí)操作時(shí),實(shí)際上就是通過(guò)計(jì)數(shù)器對(duì)單片機(jī)內(nèi)部時(shí)鐘電路產(chǎn)生的固定周期脈沖信號(hào)進(jìn)行加法計(jì)數(shù);當(dāng)用于計(jì)數(shù)操作時(shí),實(shí)際上就是對(duì)外部事件產(chǎn)生的脈沖信號(hào)進(jìn)行加法計(jì)數(shù)??梢?jiàn),不管是定時(shí)操作還是計(jì)數(shù)操作,都要由16位加法計(jì)數(shù)器完成。如果計(jì)數(shù)器事先設(shè)置的初始狀態(tài)不同,那么從開(kāi)始計(jì)數(shù)到計(jì)滿(mǎn)溢出為止所用的時(shí)間也就不同。因此,使用TO
2、或T1時(shí)要為其設(shè)置初始值,可通過(guò)軟件完成。定時(shí)器/計(jì)數(shù)器TO由兩個(gè)8位的特殊功能寄存器(TH0禾口TL0)組成,T1由TH1和TL1組成。定時(shí)、計(jì)數(shù)功能是通過(guò)兩個(gè)特殊功能寄存器(TMOD和TCON)控制的。如果定時(shí)器/計(jì)數(shù)器TO和T1相當(dāng)于兩臺(tái)電視機(jī),那么特殊功能寄存器TMOD、TCON就相當(dāng)于電視機(jī)上的控制按鈕。因此,掌握TMOD、TCON的功能是用好TO、T1的關(guān)鍵。圖3.1MCS-51定時(shí)器/計(jì)數(shù)器邏輯結(jié)構(gòu)圖2.定時(shí)器/計(jì)數(shù)器的方式寄存器和控制寄存器1)定時(shí)器/計(jì)數(shù)器的方式寄存器定時(shí)器/計(jì)數(shù)器的方式寄存器(TM
3、OD)用于控制TO和T1的操作方式,其字節(jié)地址為89H,是一個(gè)8位的特殊功能寄存器。使用時(shí)分為高4位和低4位兩部分,其中高4位控制T1,低4位控制TO。各位的含義如圖3.2所示。圖3.2TMOD的各位含義(1)GATE:門(mén)控位。用于控制TO或T1的啟動(dòng)。當(dāng)GATE=0時(shí),計(jì)數(shù)器的啟動(dòng)不受外部引腳信號(hào)INTO或INT1控制,只受特殊功能寄存器TCON中的啟動(dòng)位TRO或TR1控制;當(dāng)GATE=1時(shí),計(jì)數(shù)器的啟動(dòng)不僅受TR0或TR1控制,還要受外部引腳信號(hào)INTO或INT1控制。⑵C/T:定時(shí)器或計(jì)數(shù)器功能選擇位。當(dāng)C/T
4、=l時(shí),作為計(jì)數(shù)器實(shí)現(xiàn)對(duì)外部脈沖計(jì)數(shù):當(dāng)C/T=0時(shí),作為定時(shí)器實(shí)現(xiàn)定時(shí)控制。(3)Ml和M0:工作方式選擇位。定時(shí)器/計(jì)數(shù)器有4種工作方式,可通過(guò)Ml、M0的二進(jìn)制組合取值選擇不同的工作方式。對(duì)應(yīng)關(guān)系見(jiàn)表3-1。表3T定時(shí)器工作方式的選擇M1MO工作方式說(shuō)明0()方式()T()或T1是13位定時(shí)器/計(jì)數(shù)器01方式1T0或T1是16位定時(shí)器/計(jì)數(shù)器10方式2是常數(shù)自動(dòng)重裝的8位定時(shí)器/計(jì)數(shù)器1I方式3被拆為兩個(gè)8位定時(shí)器/計(jì)數(shù)器,僅適用于T02)定時(shí)器/計(jì)數(shù)器的控制寄存器定時(shí)器/計(jì)數(shù)器的控制寄存器(TCON)用于控制
5、定時(shí)器/計(jì)數(shù)器TO或T1的運(yùn)行,是一個(gè)8位的特殊功能寄存器,其字節(jié)地址為88H。低4位與中斷有關(guān),這里只介紹高4位。高4位中的高兩位控制T1,低兩位控制T0。(1)TF1:定時(shí)器/計(jì)數(shù)器T1的溢岀標(biāo)志位。當(dāng)T1計(jì)滿(mǎn)溢出時(shí),系統(tǒng)自動(dòng)將此位置1,并向CPU發(fā)出中斷申請(qǐng)。當(dāng)CPU響應(yīng)中斷時(shí),由硬件自動(dòng)將該位清0。⑵TR1:定時(shí)器/計(jì)數(shù)器T1的運(yùn)行控制位。用于控制T1的啟動(dòng)和停止.當(dāng)TMOD的門(mén)控位GATE=0時(shí),僅通過(guò)TR1置1就可以啟動(dòng)T1計(jì)數(shù);當(dāng)門(mén)控位GATE=1時(shí),需要TR1置1并且INT1為高電平,只有這兩個(gè)信號(hào)同
6、時(shí)存在才能啟動(dòng)T1計(jì)數(shù)°⑶TFO:定時(shí)器/計(jì)數(shù)器TO的溢出標(biāo)志位。其功能與T1相同。⑷TR0:定時(shí)器/計(jì)數(shù)器TO的運(yùn)行控制位。其功能與T1相同。1.1.2定時(shí)器/計(jì)數(shù)器的工作方式通過(guò)對(duì)TMOD的學(xué)習(xí)可知,Ml、M0的不同取值可以決定定時(shí)器/計(jì)數(shù)器的工作方式。TO具有方式0、方式1、方式2和方式3四種工作方式;T1具有方式0、方式1和方式2三種工作方式。下面對(duì)各種工作方式進(jìn)行說(shuō)明。1.方式0當(dāng)M1MO=()()時(shí),定時(shí)器/計(jì)數(shù)器工作在方式0下。方式0下的定時(shí)器/計(jì)數(shù)器是13位定時(shí)器/計(jì)數(shù)器。以TO為例,TH0和TLO本
7、身都是8位寄存器,但當(dāng)工作在方式()下時(shí),TLO只用低5位,高3位未用。其邏輯結(jié)構(gòu)如圖3.4所示。在圖中,TL0的低5位計(jì)滿(mǎn)溢出時(shí),將向TH0進(jìn)位,當(dāng)TH0計(jì)滿(mǎn)溢出時(shí),則將向TCON的TFO位進(jìn)位,將該中斷溢出標(biāo)志位置I。從圖3.4可以看出,T0是作為定時(shí)器還是作為計(jì)數(shù)器由C/T決定。當(dāng)C/T=O時(shí),多路開(kāi)關(guān)與分頻器相連,T0對(duì)振蕩器12分頻后的信號(hào)進(jìn)行加法計(jì)數(shù),即對(duì)機(jī)器周期進(jìn)行計(jì)數(shù)。計(jì)一個(gè)脈沖需要一個(gè)機(jī)器周期,則其定時(shí)時(shí)間為:定時(shí)時(shí)間=(213-T0初值)x機(jī)器周期當(dāng)C/T=l時(shí),多路開(kāi)關(guān)與T0引腳相連,對(duì)來(lái)自T0
8、引腳的外部脈沖信號(hào)進(jìn)行加法計(jì)數(shù)。門(mén)控位GATE=0時(shí),或門(mén)輸出A點(diǎn)恒為1,INTO無(wú)效,此時(shí)與門(mén)輸出B點(diǎn)只受TR0控制。即TRO=1時(shí),控制開(kāi)關(guān)閉合,啟動(dòng)計(jì)數(shù)器;TR0=0時(shí),控制開(kāi)關(guān)斷開(kāi),計(jì)數(shù)器停止計(jì)數(shù)。門(mén)控位GATE=1時(shí),或門(mén)輸出A點(diǎn)是1還是0取決于INTO的值。當(dāng)INTO=1且TRO=1時(shí),與門(mén)輸出B點(diǎn)才為1,控制開(kāi)關(guān)閉合,啟動(dòng)計(jì)數(shù)器計(jì)