版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
4.1中斷系統(tǒng)4.2
中斷程序設(shè)計(jì)
4.3定時(shí)/計(jì)數(shù)器
4.4定時(shí)/計(jì)數(shù)器的編程舉例
小結(jié)第4章中斷系統(tǒng)、內(nèi)部定時(shí)/計(jì)數(shù)器4.1中斷系統(tǒng)
“中斷”是指計(jì)算機(jī)在執(zhí)行某段程序的過程中,由于計(jì)算機(jī)系統(tǒng)內(nèi)、外的某種原因,當(dāng)出現(xiàn)CPU以外的某種情況時(shí),由服務(wù)對(duì)象向CPU發(fā)出中斷請(qǐng)求信號(hào),要求CPU暫時(shí)中斷當(dāng)前程序的執(zhí)行而轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理程序執(zhí)行完畢后,再返回繼續(xù)執(zhí)行原來被中斷的程序。
4.1.1中斷系統(tǒng)概述
1、中斷的概念
中斷系統(tǒng)是計(jì)算機(jī)的重要組成部分。實(shí)時(shí)控制、故障自動(dòng)處理、計(jì)算機(jī)與外圍設(shè)備間的數(shù)據(jù)傳送往往采用中斷系統(tǒng)。
2、中斷的特點(diǎn)◆分時(shí)操作
◆實(shí)時(shí)處理◆故障處理3、中斷系統(tǒng)的功能◆實(shí)現(xiàn)中斷響應(yīng)和中斷返回◆實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì)◆實(shí)現(xiàn)中斷嵌套4、中斷系統(tǒng)的結(jié)構(gòu)框圖4.1.2中斷源
1、外部中斷源
8051的兩條外部中斷請(qǐng)求信號(hào)輸入線,有低電平或負(fù)跳變兩種中斷觸發(fā)方式。中斷觸發(fā)方式由定時(shí)器控制寄存器TCON中IE0和IE1位的狀態(tài)設(shè)定。
2、定時(shí)器溢出中斷源3、串行口中斷源8051內(nèi)部定時(shí)/計(jì)數(shù)器溢出中斷屬于內(nèi)部中斷,通常用于進(jìn)行定時(shí)/計(jì)數(shù)控制。在內(nèi)部定時(shí)脈沖或T0/T1引腳上輸入的外部計(jì)數(shù)脈沖作用下,加1計(jì)數(shù)的定時(shí)/計(jì)數(shù)器溢出時(shí)提出中斷請(qǐng)求。
8051內(nèi)部串行口的發(fā)送和接收中斷也是內(nèi)部中斷。在串行口進(jìn)行發(fā)送/接收數(shù)據(jù)時(shí),每發(fā)送完一組串行數(shù)據(jù)時(shí),串行口控制寄存器SCON中的TI中斷標(biāo)志位置“1”,每接收完一組串行數(shù)據(jù)則使RI置“1”,并都自動(dòng)向CPU發(fā)出串行口中斷請(qǐng)求。
4.1.3中斷系統(tǒng)的控制
1、定時(shí)器控制寄存器TCON2、串行口控制寄存器SCON3、中斷控制寄存器4.1.4中斷響應(yīng)
1、中斷處理的過程
中斷處理過程分為4個(gè)階段,即中斷請(qǐng)求、中斷響應(yīng)、中斷服務(wù)和中斷返回。MCS-51系列單片機(jī)的中斷處理流程如圖所示。
2、中斷申請(qǐng)的撤除1) 定時(shí)器中斷請(qǐng)求的撤除
對(duì)于定時(shí)器T0或T1溢出中斷,CPU在響應(yīng)中斷后即由硬件自動(dòng)清除其中斷標(biāo)志位TF0或TF1,無需采取其他措施。2) 串行口中斷請(qǐng)求的撤除
對(duì)于串行口中斷,CPU在響應(yīng)中斷后,硬件不能自動(dòng)清除中斷請(qǐng)求標(biāo)志位TI、RI,必須在中斷服務(wù)程序中用軟件將其清除。2、中斷申請(qǐng)的撤除3) 外部中斷請(qǐng)求的撤除外部中斷可分為邊沿觸發(fā)型和電平觸發(fā)型。
對(duì)于邊沿觸發(fā)的外部中斷或,CPU在響應(yīng)中斷后,由硬件自動(dòng)清除其中斷標(biāo)志位IE0或IE1,無需采取其他措施。對(duì)于電平觸發(fā)的外部中斷,其中斷請(qǐng)求撤除的方法較為復(fù)雜,只有通過硬件配合相應(yīng)軟件的方式。
用戶對(duì)中斷的控制和管理,實(shí)際是對(duì)4個(gè)與中斷有關(guān)的寄存器IE、TCON、IP、SCON進(jìn)行控制或管理。4.2中斷程序設(shè)計(jì)
4.2.1匯編語言中斷程序設(shè)計(jì)匯編語言的中斷服務(wù)程序按規(guī)定的中斷矢量地址存入,由于5個(gè)中斷矢量地址0003H、000BH、0013H、001BH、0023H之間相距很近,往往裝不下一個(gè)中斷服務(wù)程序,所以通常將中斷服務(wù)程序安排在程序存儲(chǔ)器的其他地址空間,而在矢量地址單元中安排一條轉(zhuǎn)移指令。
例4.1
在圖4.3中,P1.4~P1.7接有4個(gè)發(fā)光二極管,P1.0~P1.3接有4個(gè)開關(guān),消抖電路用于產(chǎn)生中斷請(qǐng)求信號(hào),消抖電路的開關(guān)來回?fù)軇?dòng)一次將產(chǎn)生一個(gè)下降沿信號(hào),通過向CPU申請(qǐng)中斷,要求:初始發(fā)光二極管全黑,每中斷一次,P1.0~P1.3所接的開關(guān)狀態(tài)反映到發(fā)光二極管上,且要求開關(guān)合上時(shí)對(duì)應(yīng)發(fā)光二極管亮。4.2.2
C語言中斷程序設(shè)計(jì)1、中斷服務(wù)函數(shù)的定義中斷服務(wù)程序定義為函數(shù),函數(shù)的完整定義如下:
返回值函數(shù)名([參數(shù)])[模式][再入]Interruptn[Usingm](1) Interruptn:表示將函數(shù)聲明為中斷服務(wù)函數(shù),n為中斷源編號(hào)。
(2)
Usingm:定義函數(shù)使用的工作寄存器組。函數(shù)入口處將當(dāng)前寄存器保存,使用m指定的寄存器組,函數(shù)退出時(shí)原寄存器組恢復(fù)。選擇不同的工作寄存器組,可方便地實(shí)現(xiàn)寄存器組的現(xiàn)場(chǎng)保護(hù)。(3)
再入:屬性關(guān)鍵字reentrant將函數(shù)定義為再入函數(shù),在C51中,普通函數(shù)(非再入函數(shù))不能遞歸調(diào)用,只有再入函數(shù)才可被遞歸調(diào)用。2、編程舉例例4.2
用C語言對(duì)例4.1重新編程。解:編程如下:4.3定時(shí)/計(jì)數(shù)器
4.3.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)
8051單片機(jī)內(nèi)部有兩個(gè)
16
位的可編程定時(shí)/計(jì)數(shù)器,稱為定時(shí)器0(T0)和定時(shí)器1(T1),可編程選擇其用作定時(shí)器或計(jì)數(shù)器,其邏輯結(jié)構(gòu)如圖。4.3.2定時(shí)/計(jì)數(shù)器的工作原理當(dāng)設(shè)置為定時(shí)工作方式時(shí),計(jì)數(shù)器對(duì)內(nèi)部機(jī)器周期計(jì)數(shù),每過一個(gè)機(jī)器周期,計(jì)數(shù)器增1,直至計(jì)數(shù)器滿溢出。定時(shí)器的定時(shí)時(shí)間與系統(tǒng)的振蕩頻率緊密相關(guān),MCS-51單片機(jī)的一個(gè)機(jī)器周期由12個(gè)振蕩脈沖組成,所以計(jì)數(shù)頻率fc=(1/12)fosc。
當(dāng)設(shè)置為計(jì)數(shù)工作方式時(shí),計(jì)數(shù)器對(duì)來自輸入引腳T0(P3.4)和T1(P3.5)的外部信號(hào)計(jì)數(shù),外部脈沖的下降沿將觸發(fā)計(jì)數(shù)。在每個(gè)機(jī)器周期的S5P2期間采樣引腳輸入電平,若前一個(gè)機(jī)器周期采樣值為1,后一個(gè)機(jī)器周期采樣值為0,則計(jì)數(shù)器加1。
4.3.3定時(shí)/計(jì)數(shù)器的工作方式1、定時(shí)器工作方式寄存器TMOD2、定時(shí)/計(jì)數(shù)器的工作方式◆方式0方式0為13位定時(shí)/計(jì)數(shù)方式,由THx提供高8位、TLx提供低5位的計(jì)數(shù)初值,最大計(jì)數(shù)值為M=213=8192,每次啟動(dòng)計(jì)數(shù)前均需預(yù)置計(jì)數(shù)初值。設(shè)定時(shí)器初值為C,時(shí)鐘頻率為fosc,則其定時(shí)時(shí)間T為:T=(M-C)×12/fosc
=(8192-C)×12/fosc◆方式1◆方式2◆方式3方式1與方式0基本相同,唯一區(qū)別在于:方式1計(jì)數(shù)寄存器的位數(shù)為16位,由THx和TLx寄存器各提供8位計(jì)數(shù)初值,最大計(jì)數(shù)值為216=65536。定時(shí)時(shí)間:
T=(65536-M0)×12/fosc方式2是8位的可自動(dòng)重裝載計(jì)數(shù)初值的定時(shí)/計(jì)數(shù)方式,最大計(jì)數(shù)值為28=256。定時(shí)時(shí)間:
T=(256-M0)×12/fosc方式3只適合于定時(shí)/計(jì)數(shù)器0(T0)。當(dāng)T0工作在方式3時(shí),TH0和TL0成為兩個(gè)獨(dú)立的計(jì)數(shù)器。這時(shí)TL0可作定時(shí)/計(jì)數(shù)器,占用T0在TCON和TMOD寄存器中的控制位和標(biāo)志位;而TH0只能用作定時(shí)器,占用T1的資源TR1和TF1。在這種情況下,T1仍可用于方式0、1、2,但不能使用中斷方式。例4.3
用定時(shí)器1、方式0實(shí)現(xiàn)1s的延時(shí)。例4.4
用定時(shí)器0、方式3實(shí)現(xiàn)1s的延時(shí)。
(1) 根據(jù)定時(shí)時(shí)間要求或計(jì)數(shù)要求計(jì)算計(jì)數(shù)器初值。(2) 填寫工作方式控制字送TMOD寄存器。(3) 送計(jì)數(shù)初值的高8位和低8位到THx和TLx寄存器中。(4) 啟動(dòng)定時(shí)(或計(jì)數(shù))器,即將TRx置位。如果工作于中斷方式,需置位EA(中斷總開關(guān))及ETx(允許定時(shí)/計(jì)數(shù)器中斷),并編寫中斷服務(wù)程序。4.4定時(shí)/計(jì)數(shù)器的編程舉例1、定時(shí)/計(jì)數(shù)器的初始化編程步驟2、應(yīng)用編程舉例例4.6
用單片機(jī)定時(shí)/計(jì)數(shù)器設(shè)計(jì)一個(gè)秒表,由P1口連接的LED采用BCD碼顯示,發(fā)光二極管亮表示0,暗表示1。計(jì)滿60s后從頭開始,依次循環(huán)。解:定時(shí)器0工作于定時(shí)方式1,產(chǎn)生1s的定時(shí),程序類似于例4.4。定時(shí)器1工作在方式2,當(dāng)1s時(shí)間到時(shí),由軟件復(fù)位T1(P3.5)引腳產(chǎn)生負(fù)跳變,再由定時(shí)器1進(jìn)行計(jì)數(shù),計(jì)滿60次(1分鐘)溢出,再重新開始計(jì)數(shù)。按上述設(shè)計(jì)思路可知,方式寄存器TMOD的控制字應(yīng)為61H,定時(shí)器1的初值應(yīng)為:256-60=196=C4H小
結(jié)
中斷是指當(dāng)機(jī)器正在執(zhí)行程序的過程中,一旦遇到某些異常情況或特殊請(qǐng)求時(shí),暫停正在執(zhí)行的程序,轉(zhuǎn)入必要的處理(中斷服務(wù)子程序),處理完畢后,再返回到原來被停止程序的間斷處(斷點(diǎn))繼續(xù)執(zhí)行。引起中斷的事情稱為中斷源。中斷請(qǐng)求的優(yōu)先級(jí)由用戶編程和內(nèi)部?jī)?yōu)先級(jí)共同確定。中斷編程包括中斷入口地址設(shè)置、中斷源優(yōu)先級(jí)設(shè)置、中斷開放或關(guān)閉、中斷服務(wù)子程序等。本章通過實(shí)例分別介紹了采用匯編語言程序和C語言程序編寫中斷程序。小
結(jié)
MCS-51單片機(jī)內(nèi)部有兩個(gè)可編程定時(shí)/計(jì)數(shù)器0和1,每個(gè)定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《磨床操作知識(shí)》課件
- 工業(yè)機(jī)器人模擬題含參考答案
- 養(yǎng)老院老人生活?yuàn)蕵坊顒?dòng)組織人員管理制度
- 養(yǎng)老院老人家屬溝通聯(lián)系制度
- 《離散PID控制器》課件
- 2024年水電工程綠化養(yǎng)護(hù)合同范本3篇
- 授權(quán)委托書保證協(xié)議書(2篇)
- 《人力資源考核手冊(cè)》課件
- 2025年齊齊哈爾貨運(yùn)從業(yè)資格仿真考題
- 2025年宣城道路貨運(yùn)駕駛員從業(yè)資格證考試題庫完整
- 設(shè)備部常用維修工具使用課件
- 重大事故隱患檢查表
- 公路工程資料整理
- 頂管工程施工中的施工質(zhì)量控制
- 廣東省廣州市白云區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末化學(xué)試題
- 牛仔褲項(xiàng)目商業(yè)計(jì)劃書
- 《美術(shù)的主要分類》課件
- 建立兒童獨(dú)立性的培養(yǎng)
- 《晶體缺陷》課件
- 國(guó)開電大本科《理工英語4》機(jī)考總題庫2023年秋期考試版
- 2024年內(nèi)蒙古包鋼集團(tuán)招聘筆試參考題庫含答案解析
評(píng)論
0/150
提交評(píng)論