第五章 單片機的中斷與定時系統(tǒng)_第1頁
第五章 單片機的中斷與定時系統(tǒng)_第2頁
第五章 單片機的中斷與定時系統(tǒng)_第3頁
第五章 單片機的中斷與定時系統(tǒng)_第4頁
第五章 單片機的中斷與定時系統(tǒng)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第五章

中斷系統(tǒng)、定時器/計數(shù)器

§5-1MCS-51的中斷系統(tǒng)§5-2

定時/計數(shù)器

§5-1MCS-51的中斷系統(tǒng)一、中斷概述

1、

中斷概念某人看書 執(zhí)行主程序 日常事務(wù)電話鈴響 中斷信號INT=0 中斷請求暫停看書

暫停執(zhí)行主程序中斷響應(yīng)書中作記號當前PC入棧 保護斷點電話談話 執(zhí)行I/O程序 中斷服務(wù)繼續(xù)看書 返回主程序 中斷返回日常事務(wù)程序中斷服務(wù)程序2、

中斷源 中斷源指引起正在執(zhí)行的程序中斷,轉(zhuǎn)而執(zhí)行中 斷服務(wù)程序的設(shè)備或事件??煞譃橛仓袛?、軟中斷。

MCS-51單片機的5個中斷源: ①外部中斷2個:、,中斷請求信號分別由P3.2、P3.1輸入,低電平有效、脈沖下降沿有效可選。 入口地址:0003H,0013H。

②定時/計數(shù)溢出中斷2個:T0、T1,計數(shù)溢出時置“1”TF0、TF1位,從而發(fā)出內(nèi)部中斷請求。 入口地址:000BH,001BH。

③串行中斷1個:串行接收或發(fā)送完一幀數(shù)據(jù)時就產(chǎn)生一個內(nèi)部中斷請求RI或TI。 入口地址:0023H。

3、

中斷處理過程 包含:中斷請求、中斷響應(yīng)、中斷服務(wù)、中斷返回四個階段. ①中斷請求:中斷源將相應(yīng)請求中斷的標志位置 “1”,表示發(fā)出請求,并由CPU查詢。 ②中斷響應(yīng):在一條指令的最后一個周期按優(yōu)先級順序查詢中斷標志,為“1”并滿足響應(yīng)條件時響應(yīng)。響應(yīng)操作:斷點壓?!烦袛鄻酥尽P(guān)閉低同級中斷允許→中斷入口地址送PC。實際上響應(yīng)中斷的主要操作是有硬件自動產(chǎn)生一條長調(diào)用指令LCALL。 ③中斷服務(wù):根據(jù)入口地址轉(zhuǎn)中斷服務(wù)程序,包含保護現(xiàn)場、執(zhí)行中斷主體、恢復(fù)現(xiàn)場。 ④中斷返回:斷點出?!_放中斷允許→返回原程序。

4、中斷優(yōu)先級及其嵌套 優(yōu)先級2個---高優(yōu)先級、低優(yōu)先級,可通過SFR寄存器IP設(shè)置。 中斷嵌套原則為高優(yōu)先級的中斷不能被低優(yōu)先的中斷所中斷,同級中斷不能相互中斷。

5、中斷控制的特點①中斷是隨機發(fā)生的,并且是可編程的。②通過執(zhí)行特定功能的程序段而獲得預(yù)定目的。

6、MCS-51中斷匯集

二、中斷控制 通過對特殊功能寄存器TCON、SCON、IE、IP等四個寄存器的設(shè)定而實現(xiàn)。

1、中斷請求控制 (1)定時中斷、外中斷請求控制寄存器TCON

字節(jié)地址88H,位地址8FH~88H,與中斷請求有關(guān)的各位表示如下:TF1、TF0:T1/T0溢出中斷請求標志。IE1、IE0:外中斷/請求標志。IT1、IT0:外中斷/觸發(fā)方式定義位,“1”—后沿觸發(fā)

(2)串行中斷請求控制寄存器SCON

串行中斷請求由TI、RI的邏輯“或”得到。即不論是發(fā)送標志還是接收標志,都將發(fā)生串行中斷請求。 字節(jié)地址98H,位地址9FH~98H,與中斷請求有關(guān)的各位表示如下:

TI為發(fā)送中斷,RI為接收中斷,為“1”時,請求中斷,響應(yīng)后必須由用戶軟件清零。 (3)中斷請求的撤銷 中斷響應(yīng)后,必須及時清除TCON、SCON中的已響應(yīng)中斷請求標志,否則,會引起中斷的重復(fù)查詢和響應(yīng)。

①外中斷請求的撤銷:對于邊沿觸發(fā)方式:由于觸發(fā)信號過后就消失,撤銷自然也就是自動的。 對于電平觸發(fā)方式:需通過軟硬件結(jié)合的方法來實現(xiàn)撤銷。 ②定時中斷請求的撤銷:定時中斷后,硬件自動清“0”。③串行中斷請求的撤銷:不能自動清“0”,須用軟件的方法在中斷服務(wù)子程序中進行清“0”。

2、中斷允許控制 由SFR寄存器IE設(shè)置,分二級允許控制。以EA位作為總控,以各中斷源的允許位作為分控。

IE字節(jié)地址A8H,位地址AFH~A8H,與中斷允許有關(guān)的各位表示如下: 單片機復(fù)位后,(IE)=00H,因此,整個中斷系統(tǒng)為禁止狀態(tài)。

3、中斷優(yōu)先級控制 由SFR寄存器IP設(shè)置,有2個優(yōu)先級,相應(yīng)位置“1”,為高優(yōu)先級。相應(yīng)位置“0”,為低優(yōu)先級。

IP字節(jié)地址B8H,位地址BFH~B8H,與中斷允許有關(guān)的各位表示如下: 注意:5個中斷允許位全部置“1”時,和全部清0效果一樣,為同優(yōu)先級中斷,按自然優(yōu)先級處理,即為→T0→→T1→串行口,優(yōu)先級依次從高到低。 三、中斷應(yīng)用

1、中斷應(yīng)用的準備工作(1)中斷初始化設(shè)置:定義SP、IP、IE和外中斷觸發(fā)方式選擇;(2)中斷服務(wù)程序:中斷入口、現(xiàn)場保護、中斷主體程序、恢復(fù)現(xiàn)場返回。

2、應(yīng)用舉例

例6-1

通過P1.0~P1.7控制發(fā)光二極管,輸出兩種節(jié)日燈,并利用外中斷P3.2,在兩種狀態(tài)之間切換。 分析:主程序中狀態(tài):亮1燈左移循環(huán),中斷程序中的狀態(tài):以1秒間隔8燈依次亮起,再依次熄滅,循環(huán)3次后返回。

主流程圖(略),程序如下:

ORG 0000H LJMP MAIN ORG 0003H ;中斷入口

LJMP 0100H ORG 0030H

MAIN:

MOV SP, #60H SETB IT0;設(shè)定下跳有效

SETB EX0 ;開中

SETB EA MOV IP, #01H MOV A, #01H LOOP: MOV P1, A RL A LCALL DELAY AJMP LOOP

中斷服務(wù)程序流程圖:

中斷服務(wù)程序:

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

定時/計數(shù)器一、定時/計數(shù)器構(gòu)成1、定時方法軟件延時通過執(zhí)行循環(huán)而獲得延時,短時間延時;硬件延時由硬件電路實現(xiàn)延時,長時間延時;可編程定時通過對系統(tǒng)時鐘脈沖的計數(shù)而獲得延時。2、MCS-51單片機的定時/計數(shù)器

16位定時/計數(shù)器T0、T1,分別由4個8位計數(shù)器組成,均屬SFR寄存器。T0由TH0、TL0構(gòu)成,字節(jié)地址為8CH、8AH;T1由TH1、TL1構(gòu)成,字節(jié)地址為8DH、8BH;

MCS-51單片機定時器結(jié)構(gòu)示意圖3、MCS-51單片機定時/計數(shù)器的功能 歸根結(jié)底是計數(shù)器。 (1)定時功能對片內(nèi)機器周期進行計數(shù),即每個機器周期產(chǎn)生一個計數(shù)脈沖,計數(shù)加1。

(2)計數(shù)功能對片外從T0(P3.4)、T1(P3.5)引腳輸入的外部脈沖信號進行計數(shù),下降沿計數(shù)加1。

二、定時/計數(shù)器的控制寄存器 與定時/計數(shù)器有關(guān)的控制寄存器有3個:1、定時器控制寄存器TCON(88H)

SFR寄存器TCON既參與定時控制又參與中斷控制,有關(guān)定時控制的有4位,表示如下:

TF1/TF0:當T1/T0的計數(shù)器計數(shù)溢出時,該位置“1”。

TR1/TR0:T1/T0運行控制位。軟件將其置“1”時,啟動T1/T0工作。2、設(shè)定定時器工作方式寄存器TMOD(89H)

SFR寄存器TMOD用于2個定時器/計數(shù)器T1/T0的工作方式設(shè)定,各位的含義表示如下:

GATE:門控位,定義T1/T0的啟動方式,邏輯如圖:C/:定時/計數(shù)功能選擇位。 為“0”,作定時器用;為“1”,作計數(shù)器用。M1M0:工作方式選擇位。

00方式0 13位計數(shù)器

01方式1 16位計數(shù)器

10方式2 初值自動重裝8位計數(shù)器

11方式32個8位計數(shù)器,僅適用于T0

3、中斷允許控制寄存器IE(A8H)三、定時器/計數(shù)器工作方式1、工作方式0M1M0=00——13位計數(shù)器(1)結(jié)構(gòu)由TH0的全部8位和TL0的低5位構(gòu)成,如下頁圖。當TL0低5位計數(shù)滿時直接向TH0進位,并當全部13位計數(shù)滿溢出時,TF0置“1”。(2)TMOD值: 作定時器:TMOD=00000000=00H

作計數(shù)器:TMOD=00000100=04H(3)計數(shù)初值最大計數(shù)值為213=8192△T=(213—計數(shù)初值)×機器周期(12/fosc)計數(shù)初值=213—欲計數(shù)脈沖數(shù)=213—△T/機器周期

2、工作方式1M1M0=01——16位計數(shù)器方式1時的電路邏輯結(jié)構(gòu)如圖所示作定時器,TMOD=01H;作計數(shù)器,TMOD=05H;△T=(216—計數(shù)初值)×機器周期(12/fosc)計數(shù)初值=216—欲計數(shù)脈沖數(shù)=216—△T/機器周期 例如:定時500us,fosc=6MHz時, 初值=216—500/2=65536-250=65286=FF

06H

那么:TH0=FFH,TL0=06H

3、工作方式2M1M0=10——自動復(fù)位的8位計數(shù)器 以TL0作計數(shù)器,而TH0作為預(yù)置寄存器。當計數(shù)滿溢出時,TF0置“1”,同時TH0將計數(shù)初值以硬件方法自動裝入TL0。邏輯結(jié)構(gòu),如圖所示: 作定時器,TMOD=02H; 作計數(shù)器,TMOD=06H; 最大計數(shù)值為28=256,若fosc=12MHz,則方式2的最大定時時間為256us。當作為定時器用時,定時時間的計算公式: △T=(28—計數(shù)初值)×機器周期(12/fosc) 計數(shù)初值=28—欲計數(shù)脈沖數(shù)=28—△T/機器周期例如:定時500,fosc=6MHz時,初值=28—500/2=6=06H

則:TH0=TL0=06H4、工作方式3M1M0=11——2個8 位計數(shù)器(僅限于T0)在T0方式3下,T0、T1的設(shè)置和使用是不同的。(1)T0方式3TL0:使用T0原有控制資源,功能與方式0、1相同。TH0:借用T1的TR1、TF1,只能對片內(nèi)機器周期脈沖計數(shù),作8位定時器。

T0方式3時的T0、T1電路邏輯結(jié)構(gòu),如圖所示

T0方式3時的T0初值計算完全同方式2(2)T0方式3下的T1 T0方式3時,T1仍然可工作于方式0~方式2,如上頁圖所示。C/控制位仍可使T1工作在定時器或計數(shù)器方式,只是由于其TR1、TF1被T0的TH0占用,因而沒有計數(shù)溢出標志可供使用,計數(shù)溢出時只能將輸出結(jié)果送至串行口,即用作串行口波特率發(fā)生器。

T0方式3下的T1方式2,因定時初值能自動恢復(fù),用作波特率發(fā)生器更為合適。四、定時/計數(shù)器的應(yīng)用

【例6-2】已知fosc=6MHz,利用T1定時500us,在P1.0口輸出周期為1ms的方波脈沖,使用方式0~方式2編程。解:1)方波波形如圖所示:

2)計數(shù)初值:方式0:計數(shù)初值=213—欲計數(shù)脈沖數(shù)=213—△T/機器周期 =213-500/2=1F06H∴TH1=F8H,TL1=06H方式1:計數(shù)初值=216—欲計數(shù)脈沖數(shù)=216—△T/機器周期 =216-500/2=FF06H∴TH1=FFH,TL1=06H方式2:計數(shù)初值=28—欲計數(shù)脈沖數(shù)=28—△T/機器周期

=28-500/2=06H∴TH1=TL1=06H 3)定時到達P1.0的翻轉(zhuǎn)方法:查詢方式、中斷方式

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 $

中斷服務(wù)程序:

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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論