版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4章定時器和中斷定時器/計數(shù)器概述4.1定時器/計數(shù)器的工作方式
4.2定時器/計數(shù)器應用舉例
4.3中斷系統(tǒng)
4.44.1定時器/計數(shù)器概述4.1.1定時方法概述4.1.2定時/計數(shù)器的結構和工作原理4.1.3定時器/計數(shù)器工作方式控制寄存器TMOD4.1.4定時/計數(shù)器控制寄存器TCON4.1.5定時器/計數(shù)器的初始化
1.軟件定時軟件定時是靠執(zhí)行一個循環(huán)程序以進行時間延時。軟件定時要占用CPU。2.硬件定時對于定時時間較長的定時,常使用硬件定時完成。不占CPU時間。3.可編程定時器定時這種定時方法是通過對系統(tǒng)時鐘脈沖的計數(shù)來實現(xiàn)。4.1.1定時方法概述定時器/計數(shù)器工作原理
16位的定時器/計數(shù)器實質上是一個加1計數(shù)器,其控制電路受軟件控制、切換。定時器工作前先裝入初值,利用送數(shù)指令將初值裝入TH0和TL0或TH1和TL1,高位數(shù)裝入TH0和TH1,低位數(shù)裝入TL0和TL1。當發(fā)出啟動命令后,裝初值寄存器開始計數(shù),連續(xù)加1,每一個機器周期加1一次,加到滿值(各位全1)。若再加1,則溢出,同時將初值寄存器清零。4.1.3定時器/計數(shù)器工作方式控制寄存器TMODTMOD(89H)GATEC/TM1M0GATEC/TM1M0T1T0M1,M0:工作方式定義位(定義4種方式):00:13位Timer——用它無益,不要記它!01:16位Timer——經常用到10:可自動重裝的8位Timer——經常用到11:T0分為2個8位Timer;T1此時不工作——因為沒有帶來甚麼好處,幾乎無用C/T:計數(shù)器/定時器選擇位=1外部事件計數(shù)器。對Tx引腳的負脈沖計數(shù);=0片內時鐘定時器。對機器周期脈沖計數(shù)
GATE門控位:Timer可由軟件與硬件兩者控制GATE=0——普通用法Timer的啟/停由軟件對TRx位寫“1”/“0”控制
GATE=1——門控用法Timer的啟/停由軟件對TRx位寫“1”/“0”和在INTx引腳上出現(xiàn)的信號的高/低共同控制注意:TMOD不能位尋址,只能由字節(jié)設置T/C的工作方式,低半字節(jié)設定T/C0,高半字節(jié)設定T/C1。選擇工作方式,即對TMOD賦初值。給定時器賦初值,即把初始常數(shù)裝入TH0TL0或TH1TL1。根據需要設置中斷控制字。啟動定時/計數(shù)器。設初值為X,最大計數(shù)值為M。初值X與機器周期T機及定時時間T的關系為 (M?X)T機=T
其中,T機=12個時鐘周期=12/fOSC
X=M-?T/T機4.1.5定時器/計數(shù)器的初始化4.2定時器/計數(shù)器的工作方式
方式013位計數(shù)方式當TL1的低5位溢出時,向TH1進位,而TH1溢出(回零)時向TF1標志進位(硬件置位TF1),并申請中斷。還可以通過查詢TF1是否置位來判斷TH1是否回零溢出。振蕩器12TLxTHx(5位)(8位)TFx申請中斷Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制=1開關接通或門與門方式1一個16為定時器/計數(shù)器。方式1的結構幾乎與方式0完全一樣,唯一的差別是:方式1中的TH1(TH0)和TL1(TL0)均是8位的,構成16位計數(shù)器。
振蕩器12TLxTHx(8位)(8位)TFx申請中斷Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制=1開關接通或門與門方式3振蕩器12TL0(8位)TF0申請中斷T0端TR0位GATE位INT0端≥1&C/T=0C/T=1控制=1開關接通或門與門TH0(8位)TF1申請中斷TR1位控制=1T0成為雙8位TimerT1不再有Timer功能TF1,TR1出借給TH0例如:若晶振頻率為6MHz,計算單片機的最小與最大定時時間分析:已知fosc
=6MHz則:(振蕩周期)1Tc=1/6MHz(機器周期)1Tm=12Tc=12/6MHz=2S粗略地說:Tmin2S16位定時器最大數(shù)值為:216=65536=0FFFFH+1故選擇方式1工作可以得到:
Tmax=655362=131072S=131.072mS
4.3定時器/計數(shù)器的應用舉例例如:要求對T0產生100mS定時進行初始化。(晶振=6MHz)分析:已知fosc
=6MHz則:(機器周期)1Tm=12Tc=12/6MHz=2S100mS÷2S=5000016位定時器最大數(shù)值為:216=65536(=0FFFFH+1)故選擇方式1工作可以滿足要求。計算初值:65536-50000=15536=3CB0H初始化:MOVTMOD,#01H;選T0方式1MOVTH0,#3CH;賦初值高8位MOVTL0,#0B0H;賦初值低8位SETBTR0;啟動T0定時若需要定時器0產生中斷還應當寫如下語句:SETBET0;開T0中斷允許SETBEA;開總中斷允許以及相應的中斷服務程序。
ORG0000HAJMPMAINORG001BH;T1的中斷矢量CPLP1.0;中斷服務:P1.0取非RETI;中斷返回MAIN:MOVTMOD,#20HMOVTH0,#6MOVTL0,#6SETBET1SETBEASETBTR1HERE:AJMPHERE;原地等待中斷END利用GATE門控位測量從INT1引腳輸入的正脈沖寬度。確定工作方式(TMOD)=10010000B=90H;T/C1定時,方式1,GATE為1。計算初值由于被測正脈沖寬度未知,假設寬度<=65.536ms,fosc=12MHz,則:計數(shù)個數(shù):X=65536(最大)定時初值:C=65536-X=65536-65536=0,(TH1)=00H,(TL1)=00H。
ORG0000HSJMP0030HORG0030HMAIN:MOVTMOD,#90H ;置T1方式控制字MOVTL1,#00H ;MOVTH1,#00H ;T1從0開始計數(shù)JBP3.3,$ ;等低電平SETBTR1;T1允許計數(shù)JNBP3.3,$;等高電平JBP3.3,$;等低電平CLRTR1 ;停止計數(shù)4.4.1中斷有關的概念中斷就是利用軟硬件配合,根據某種需要斷開正在執(zhí)行的程序而轉向另一專門程序,結束后再返回到原斷開處繼續(xù)執(zhí)行被中止的程序,這個過程稱為中斷。中斷后轉向執(zhí)行的程序叫中斷服務或中斷處理程序。原程序被斷開的位置(地址)叫做斷點。發(fā)出中斷信號的設備稱為中斷源。中斷源要求中斷服務所發(fā)出的標志信號稱為中斷請求或中斷申請。中斷源向CPU發(fā)出中斷申請,CPU經過判斷認為滿足條件,則對中斷源做出答復,叫中斷響應。
TCON見定時部分。SCON:串行口控制寄存器SCON(低兩位與串行口中斷有關)(SCON
4.4.28051中斷標志及控制寄存器TIR1(98H)RI,TI:串行口收/發(fā)數(shù)據申請中斷標志位為1:申請中斷;為0:不申請中斷IE(A8H)EA—ET2ESET1EX1ET0EX0EX0/EX1/ET1/ET0/ES位:分別是INT0/1,Timer0/1,串行口的中斷允許控制位:=0時禁止中斷;=1時允許中斷。ET2:T2中斷允許控制位(僅52子系列有)=0時禁止中斷;=1時允許中斷。EA:總的中斷允許控制位(總開關):=0時禁止全部中斷;=1時允許中斷。4.4.3中斷響應的條件及響應過程IE0EX0TF0IE1TF1TIESET1EX1ET0外部中斷請求0外部中斷請求1內部定時器0內部定時器1內部串行口TRRIIE寄存器EA位IP寄存器各單路開關總開關中斷源標志位查詢機構高中斷級中斷請求低中斷級中斷請求中斷入口中斷源標志位INT0INT1中斷入口中斷源標志位中斷響應條件在中斷源提出了中斷申請且CPU此前已經允許中斷的前提下,還須滿足以下三個條件:沒有同級的中斷或更高級別的中斷正在處理;正在執(zhí)行的指令必須執(zhí)行完最后1個機器周期;若正在執(zhí)行RETI,或正在訪問IE或IP寄存器,須執(zhí)行完上述指令和下一條指令以后方能響應中斷。中斷處理過程外部中斷(INT0,INT1)申請過程:在CPU已經開放了外部中斷允許的前提下:在INT0/INT1引腳輸入一個負脈沖或低電平,TCON寄存器中的IE0/IE1標志位自動變“1”,檢測到IE0/IE1變“1”后,將產生指令:LCALL0003H(/0013H)執(zhí)行中斷服務程序,并將IE0/IE1標志位自動清“0”,以備下次申請。中斷請求的撤除CPU響應某中斷請求后,在中斷返回前,應撤除相應的中斷請求,否則會引起下一次中斷。對于T0、T1和邊沿激活的外中斷,CPU響應中斷后,內部的硬件結構會自動清除,無須其他措施。對于串行口和由低電平觸發(fā)的外部中斷,CPU響應后,必須通過軟件清除中斷請求。4.4.4中斷程序設計思想中斷程序設計的基本任務
(1)設置中斷允許控制寄存器IE,允許相應中斷源中斷。(2)設置中斷優(yōu)先級寄存器IP,選擇分配所使用中斷源的優(yōu)先級。(3)若是外部中斷源,還要設置中斷請求觸發(fā)方式IT1或IT0,決定采用邊沿觸發(fā)方式還是電平觸發(fā)方式。(4)編寫中斷服務程序,處理中斷請求。注意:前3條一般放在初始化主程序中。采用中斷時主程序結構
由于各中斷入口地址是固定的,而程序又必須先從主程序起始地址0000H執(zhí)行,所以在0000H起始地址的幾個字節(jié)中,要用無條件轉移指令,跳轉到主程序;另外,各種中斷入口地址之間依次只差8個字節(jié),一般在中斷進入后,利用一條無條件轉移指令,把中斷服務程序調轉到遠離其他中斷入口的適當?shù)刂贰V袛嗯e例已知:(B)=01h,要求采用邊沿觸發(fā),低優(yōu)先級。此例的實際意義:在INT1引腳接一個按鈕開關到地,每按一下按鈕就申請一次中斷,中斷服務則是:依次點亮八盞燈中的一盞。INT1300ORG0000HLJMPMAINORG0013H;中斷矢量LJMPINTMAIN:SETBEA;開總中斷允許“開關”
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超市員工培訓及安全管理制度
- 瀏覽器知識培訓
- 濟南消防入職培訓
- 漿液循環(huán)泵檢修課件培訓
- 流行詞與職場培訓
- 宏觀經濟深度報告:有形之手(1):財政ABC之“四本賬”-
- 10kv線路改造高處作業(yè)施工方案
- 活動接待禮儀培訓
- 2024-2025學年廣東省佛山市高一下學期6月期末地理試題(解析版)
- 2024-2025學年陜西省榆林市高二下學期期中考試歷史試題(解析版)
- 醫(yī)護人員職業(yè)防護與安全
- 2025年市場監(jiān)督管理局招聘面試題及答案
- 八年級地理上冊季風氣候顯著新版湘教版教案
- 工地打卡協(xié)議書
- 天泵租賃合同范本
- 物業(yè)企業(yè)成本控制與效益提升報告
- 2025年度鎮(zhèn)黨委主要負責人履行推進法治建設第一責任人職責情況的報告
- 動物醫(yī)院年度總結匯報
- 招標代理工作實施方案詳解
- 安全生產安全法律法規(guī)
- 2026年中考數(shù)學壓軸題專項練習-圓中的最值問題(學生版+名師詳解版)
評論
0/150
提交評論