




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第五章
中斷系統、定時器/計數器
§5-1MCS-51的中斷系統§5-2
定時/計數器
§5-1MCS-51的中斷系統一、中斷概述
1、
中斷概念某人看書 執行主程序 日常事務電話鈴響 中斷信號INT=0 中斷請求暫停看書
暫停執行主程序中斷響應書中作記號當前PC入棧 保護斷點電話談話 執行I/O程序 中斷服務繼續看書 返回主程序 中斷返回日常事務程序中斷服務程序2、
中斷源 中斷源指引起正在執行的程序中斷,轉而執行中 斷服務程序的設備或事件。可分為硬中斷、軟中斷。
MCS-51單片機的5個中斷源: ①外部中斷2個:、,中斷請求信號分別由P3.2、P3.1輸入,低電平有效、脈沖下降沿有效可選。 入口地址:0003H,0013H。
②定時/計數溢出中斷2個:T0、T1,計數溢出時置“1”TF0、TF1位,從而發出內部中斷請求。 入口地址:000BH,001BH。
③串行中斷1個:串行接收或發送完一幀數據時就產生一個內部中斷請求RI或TI。 入口地址:0023H。
3、
中斷處理過程 包含:中斷請求、中斷響應、中斷服務、中斷返回四個階段. ①中斷請求:中斷源將相應請求中斷的標志位置 “1”,表示發出請求,并由CPU查詢。 ②中斷響應:在一條指令的最后一個周期按優先級順序查詢中斷標志,為“1”并滿足響應條件時響應。響應操作:斷點壓棧→撤除中斷標志→關閉低同級中斷允許→中斷入口地址送PC。實際上響應中斷的主要操作是有硬件自動產生一條長調用指令LCALL。 ③中斷服務:根據入口地址轉中斷服務程序,包含保護現場、執行中斷主體、恢復現場。 ④中斷返回:斷點出棧→開放中斷允許→返回原程序。
4、中斷優先級及其嵌套 優先級2個---高優先級、低優先級,可通過SFR寄存器IP設置。 中斷嵌套原則為高優先級的中斷不能被低優先的中斷所中斷,同級中斷不能相互中斷。
5、中斷控制的特點①中斷是隨機發生的,并且是可編程的。②通過執行特定功能的程序段而獲得預定目的。
6、MCS-51中斷匯集
二、中斷控制 通過對特殊功能寄存器TCON、SCON、IE、IP等四個寄存器的設定而實現。
1、中斷請求控制 (1)定時中斷、外中斷請求控制寄存器TCON
字節地址88H,位地址8FH~88H,與中斷請求有關的各位表示如下:TF1、TF0:T1/T0溢出中斷請求標志。IE1、IE0:外中斷/請求標志。IT1、IT0:外中斷/觸發方式定義位,“1”—后沿觸發
(2)串行中斷請求控制寄存器SCON
串行中斷請求由TI、RI的邏輯“或”得到。即不論是發送標志還是接收標志,都將發生串行中斷請求。 字節地址98H,位地址9FH~98H,與中斷請求有關的各位表示如下:
TI為發送中斷,RI為接收中斷,為“1”時,請求中斷,響應后必須由用戶軟件清零。 (3)中斷請求的撤銷 中斷響應后,必須及時清除TCON、SCON中的已響應中斷請求標志,否則,會引起中斷的重復查詢和響應。
①外中斷請求的撤銷:對于邊沿觸發方式:由于觸發信號過后就消失,撤銷自然也就是自動的。 對于電平觸發方式:需通過軟硬件結合的方法來實現撤銷。 ②定時中斷請求的撤銷:定時中斷后,硬件自動清“0”。③串行中斷請求的撤銷:不能自動清“0”,須用軟件的方法在中斷服務子程序中進行清“0”。
2、中斷允許控制 由SFR寄存器IE設置,分二級允許控制。以EA位作為總控,以各中斷源的允許位作為分控。
IE字節地址A8H,位地址AFH~A8H,與中斷允許有關的各位表示如下: 單片機復位后,(IE)=00H,因此,整個中斷系統為禁止狀態。
3、中斷優先級控制 由SFR寄存器IP設置,有2個優先級,相應位置“1”,為高優先級。相應位置“0”,為低優先級。
IP字節地址B8H,位地址BFH~B8H,與中斷允許有關的各位表示如下: 注意:5個中斷允許位全部置“1”時,和全部清0效果一樣,為同優先級中斷,按自然優先級處理,即為→T0→→T1→串行口,優先級依次從高到低。 三、中斷應用
1、中斷應用的準備工作(1)中斷初始化設置:定義SP、IP、IE和外中斷觸發方式選擇;(2)中斷服務程序:中斷入口、現場保護、中斷主體程序、恢復現場返回。
2、應用舉例
例6-1
通過P1.0~P1.7控制發光二極管,輸出兩種節日燈,并利用外中斷P3.2,在兩種狀態之間切換。 分析:主程序中狀態:亮1燈左移循環,中斷程序中的狀態:以1秒間隔8燈依次亮起,再依次熄滅,循環3次后返回。
主流程圖(略),程序如下:
ORG 0000H LJMP MAIN ORG 0003H ;中斷入口
LJMP 0100H ORG 0030H
MAIN:
MOV SP, #60H SETB IT0;設定下跳有效
SETB EX0 ;開中
SETB EA MOV IP, #01H MOV A, #01H LOOP: MOV P1, A RL A LCALL DELAY AJMP LOOP
中斷服務程序流程圖:
中斷服務程序:
ORG 0100H PUSH ACC CLR A MOV R0, #00H LOOP1: SETB C RLC A MOV P1, A LCALL DELAY JNB ACC.7, LOOP1 LOOP2: CLR C RLC A MOV P1, A LCALL DELAY JB ACC.7, LOOP2 INC R0 CJNE R0, #03H, LOOP1 POP ACC
RETI DELAY: (略) ;1秒延時
§5-2
定時/計數器一、定時/計數器構成1、定時方法軟件延時通過執行循環而獲得延時,短時間延時;硬件延時由硬件電路實現延時,長時間延時;可編程定時通過對系統時鐘脈沖的計數而獲得延時。2、MCS-51單片機的定時/計數器
16位定時/計數器T0、T1,分別由4個8位計數器組成,均屬SFR寄存器。T0由TH0、TL0構成,字節地址為8CH、8AH;T1由TH1、TL1構成,字節地址為8DH、8BH;
MCS-51單片機定時器結構示意圖3、MCS-51單片機定時/計數器的功能 歸根結底是計數器。 (1)定時功能對片內機器周期進行計數,即每個機器周期產生一個計數脈沖,計數加1。
(2)計數功能對片外從T0(P3.4)、T1(P3.5)引腳輸入的外部脈沖信號進行計數,下降沿計數加1。
二、定時/計數器的控制寄存器 與定時/計數器有關的控制寄存器有3個:1、定時器控制寄存器TCON(88H)
SFR寄存器TCON既參與定時控制又參與中斷控制,有關定時控制的有4位,表示如下:
TF1/TF0:當T1/T0的計數器計數溢出時,該位置“1”。
TR1/TR0:T1/T0運行控制位。軟件將其置“1”時,啟動T1/T0工作。2、設定定時器工作方式寄存器TMOD(89H)
SFR寄存器TMOD用于2個定時器/計數器T1/T0的工作方式設定,各位的含義表示如下:
GATE:門控位,定義T1/T0的啟動方式,邏輯如圖:C/:定時/計數功能選擇位。 為“0”,作定時器用;為“1”,作計數器用。M1M0:工作方式選擇位。
00方式0 13位計數器
01方式1 16位計數器
10方式2 初值自動重裝8位計數器
11方式32個8位計數器,僅適用于T0
3、中斷允許控制寄存器IE(A8H)三、定時器/計數器工作方式1、工作方式0M1M0=00——13位計數器(1)結構由TH0的全部8位和TL0的低5位構成,如下頁圖。當TL0低5位計數滿時直接向TH0進位,并當全部13位計數滿溢出時,TF0置“1”。(2)TMOD值: 作定時器:TMOD=00000000=00H
作計數器:TMOD=00000100=04H(3)計數初值最大計數值為213=8192△T=(213—計數初值)×機器周期(12/fosc)計數初值=213—欲計數脈沖數=213—△T/機器周期
2、工作方式1M1M0=01——16位計數器方式1時的電路邏輯結構如圖所示作定時器,TMOD=01H;作計數器,TMOD=05H;△T=(216—計數初值)×機器周期(12/fosc)計數初值=216—欲計數脈沖數=216—△T/機器周期 例如:定時500us,fosc=6MHz時, 初值=216—500/2=65536-250=65286=FF
06H
那么:TH0=FFH,TL0=06H
3、工作方式2M1M0=10——自動復位的8位計數器 以TL0作計數器,而TH0作為預置寄存器。當計數滿溢出時,TF0置“1”,同時TH0將計數初值以硬件方法自動裝入TL0。邏輯結構,如圖所示: 作定時器,TMOD=02H; 作計數器,TMOD=06H; 最大計數值為28=256,若fosc=12MHz,則方式2的最大定時時間為256us。當作為定時器用時,定時時間的計算公式: △T=(28—計數初值)×機器周期(12/fosc) 計數初值=28—欲計數脈沖數=28—△T/機器周期例如:定時500,fosc=6MHz時,初值=28—500/2=6=06H
則:TH0=TL0=06H4、工作方式3M1M0=11——2個8 位計數器(僅限于T0)在T0方式3下,T0、T1的設置和使用是不同的。(1)T0方式3TL0:使用T0原有控制資源,功能與方式0、1相同。TH0:借用T1的TR1、TF1,只能對片內機器周期脈沖計數,作8位定時器。
T0方式3時的T0、T1電路邏輯結構,如圖所示
T0方式3時的T0初值計算完全同方式2(2)T0方式3下的T1 T0方式3時,T1仍然可工作于方式0~方式2,如上頁圖所示。C/控制位仍可使T1工作在定時器或計數器方式,只是由于其TR1、TF1被T0的TH0占用,因而沒有計數溢出標志可供使用,計數溢出時只能將輸出結果送至串行口,即用作串行口波特率發生器。
T0方式3下的T1方式2,因定時初值能自動恢復,用作波特率發生器更為合適。四、定時/計數器的應用
【例6-2】已知fosc=6MHz,利用T1定時500us,在P1.0口輸出周期為1ms的方波脈沖,使用方式0~方式2編程。解:1)方波波形如圖所示:
2)計數初值:方式0:計數初值=213—欲計數脈沖數=213—△T/機器周期 =213-500/2=1F06H∴TH1=F8H,TL1=06H方式1:計數初值=216—欲計數脈沖數=216—△T/機器周期 =216-500/2=FF06H∴TH1=FFH,TL1=06H方式2:計數初值=28—欲計數脈沖數=28—△T/機器周期
=28-500/2=06H∴TH1=TL1=06H 3)定時到達P1.0的翻轉方法:查詢方式、中斷方式
4)流程、程序如下:
方式0:采用查詢方式 程序:流程:
ORG 0030H START: MOV TMOD,#00H MOV TH1, #0F8H MOV TL1, #06H MOV IE, #00H SETB TR1 WT: JNB TF1, WT CPL P1.0 CLR TF1 MOV TH1, #0F8H MOV TL1, #06H SJMP WT 方式1:采用中斷方式
ORG 0000H LJMP START ORG 001BH LJMP 0100H ORG 0030H START: MOVTMOD,#10H MOV TH1, #0FFH MOV TL1, #06H MOV IE, #88H MOV IP, #00001000B SETB TR1 SJMP $
中斷服務程序:
ORG 0100H CPL P1.0 MOV TH1, #0FFH MOV TL1, #06H RETI
方式2:采用中斷方式
ORG 0000H LJMP START ORG 001BH LJMP 0100H ORG 0030H START: MOV TM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年常州信息職業技術學院高職單招語文2019-2024歷年真題考點試卷含答案解析
- 2025年宿遷澤達職業技術學院高職單招(數學)歷年真題考點含答案解析
- 2025年安徽揚子職業技術學院高職單招職業技能測試近5年常考版參考題庫含答案解析
- 簡約職場自我介紹
- 企業概述與發展戰略
- 人教版數學小學六年級下冊《第四課圓錐的認識》習題
- 三門峽社會管理職業學院《普通物理實驗》2023-2024學年第二學期期末試卷
- 廣西物流職業技術學院《人體解剖生理學實驗》2023-2024學年第一學期期末試卷
- 莘縣2025年數學四下期末達標測試試題含解析
- 石家莊鐵道大學《鋼琴與即興伴奏一》2023-2024學年第一學期期末試卷
- 強化學習 課件 第1章 強化學習概述
- 零部件試裝報告
- 2024年寧波職業技術學院單招職業技能測試題庫及答案解析
- 房建工程監理大綱范本(內容全面)
- (完整文本版)新概念英語第一冊單詞表默寫版1-144
- 《氣胸護理查房》課件
- 肝膿腫的pbl查房
- 筼筜湖生態環境整治提升一期項目環境影響報告
- 建設用地報批服務投標方案(技術方案)
- 護理身份識別制度課件
- 志愿者申請登記表
評論
0/150
提交評論