0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文詳解MCS-51單片機的中斷系統(tǒng)

MCU開發(fā)加油站 ? 來源:網絡整理 ? 作者:工程師陳翠 ? 2018-07-28 11:26 ? 次閱讀

MCS-51中斷系統(tǒng):5個中斷源(兩個外部中斷, 兩個定時器, 一個串口),2個優(yōu)先級

一文詳解MCS-51單片機的中斷系統(tǒng)

中斷相關概念

中斷:當CPU正在處理某件事情時,單片機外部或內部發(fā)生的某一緊急事件請求CPU立即去處理,于是,CPU暫時中止當前的工作,轉去處理這個緊急事件,待處理完畢后,再回到原來被中止的地方,繼續(xù)原來的工作。

中斷過程

中斷發(fā)生:CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理;

中斷響應和中斷服務:CPU暫時中斷當前的工作,轉去處理事件B(B的優(yōu)先級要高于A);

中斷返回:待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A ;

中斷源(中斷請求源):能夠向CPU發(fā)出中斷申請的部件。

中斷系統(tǒng)結構

一文詳解MCS-51單片機的中斷系統(tǒng)

外部中斷0和1:低電平或者脈沖下降沿時產生中斷請求;

定時器/計數器0和1:計數值由FF變?yōu)?0時產生中斷請求;(定時功能:計數脈沖來源于片內;計數功能:計數脈沖來源于片外);

串行口:發(fā)送或者接受1字節(jié)數據時產生中斷請求;

中斷控制

4個特殊功能寄存器來實施中斷控制: ? 中斷允許寄存器 IE ? 中斷優(yōu)先級寄存器 IP ? 定時/計數器及外部中斷控制寄存器 TCON ? 串口控制寄存器 SCON

中斷允許寄存器 IE

一文詳解MCS-51單片機的中斷系統(tǒng)

EA 中斷允許總控制位。0禁止,1允許。

ES 串行中斷允許控制位。0禁止,1允許。

ET1 定時計數器1中斷允許控制位。0禁止,1允許。

EX1 外部中斷1允許控制位。0禁止,1允許。

ET0 定時計數器0中斷允許控制位。0禁止,1允許。

EX0 外部中斷0允許控制位。0禁止,1允許。

中斷優(yōu)先級寄存器 IP

一文詳解MCS-51單片機的中斷系統(tǒng)

PX0 外部中斷0的優(yōu)先級控制位。1為高,0為低

PT0 定時中斷0的優(yōu)先級控制位。1為高,0為低

PX1 外部中斷1的優(yōu)先級控制位。1為高,0為低

PT1 定時中斷0的優(yōu)先級控制位。1為高,0為低

PS 串行中斷的優(yōu)先級控制位。1為高,0為低

串行口控制寄存器 SCON

一文詳解MCS-51單片機的中斷系統(tǒng)

TI:串口發(fā)送中斷標志,響應中斷時用軟件將TI標志清零

RI:串口接收中斷標志,響應中斷時用軟件將RI標志清零

定時/計數器的控制寄存器 TCON

一文詳解MCS-51單片機的中斷系統(tǒng)

外部中斷觸發(fā)方式位 IT0、IT1(ITx)

ITx = 0 低電平觸發(fā),響應中斷后IEx不自動清0ITx = 1 脈沖下降沿觸發(fā),響應中斷后IEx自動清0

外部中斷請求0/1的中斷請求標志位IE0、IE1

定時器/計數器T0/T1的溢出中斷請求標志位TF0/TF1(TFx)

啟動T0/T1計數后,從初值加1計數,直到最高位產生溢出時,硬件將TFx置“1”,向CPU請求中斷。 響應中斷后TFx自動清0;

TR0,TR1與中斷無關,僅與定時器/計數器T0/T1有關;

中斷響應

中斷響應就是CPU對中斷源發(fā)出的中斷請求做出的響應。

中斷響應條件

CPU開中斷,即中斷允許寄存器IE中的中斷允許總控制位EA = 1;中斷源發(fā)出中斷請求;中斷源的中斷允許位為1;沒有同級或者高級的優(yōu)先級中斷正在執(zhí)行;

中斷響應的過程

由硬件根據中斷源的類型自動生成一條長調用指令LCALL addr16。CPU執(zhí)行LCALL addr16。

中斷響應的時間

響應時間在3~8個機器周期之內;最短響應時間:查詢中斷請求標志位(T)+LCALL(2T);

中斷響應的過程

將相應優(yōu)先級狀態(tài)觸發(fā)器置1(阻斷后來同級或低級中斷 )執(zhí)行硬件LCALL指令(PC入棧,中斷服務程序入口址送PC)執(zhí)行中斷服務程序PS:編寫中斷服務程序注意:中斷服務程序入口存放指令LJMP或AJMP;現(xiàn)場保護與現(xiàn)場恢復。

中斷返回

最后指令為RETI,功能為:

將斷點從堆棧彈送PC,CPU從原斷點繼續(xù)執(zhí)行將相應優(yōu)先級狀態(tài)觸發(fā)器清0,恢復原來工作狀態(tài)

8051中斷程序設計

中斷服務程序基本流程

關中斷:為了防止此時有高一級的中斷進入,以免現(xiàn)場保護的執(zhí)行過程被中斷。

現(xiàn)場保護:所謂現(xiàn)場是指中斷時刻單片機中某些寄存器和存儲器單元中的數據或狀態(tài)。為了不讓中斷服務程序的執(zhí)行破壞這數據或狀態(tài),以免中斷返回后影響主程序的運行,需要將他們送入堆棧保存起來。

開中斷:為了允許有更高級的中斷進入。這樣一來,除了現(xiàn)場保護和現(xiàn)場恢復外,中斷處理的過程仍允許中斷嵌套的功能。

中斷處理

關中斷:為了防止此時有高一級的中斷進入,以免現(xiàn)場恢復的執(zhí)行過程被中斷。

現(xiàn)場恢復:中斷處理結束后,在返回主程序前,把保存的現(xiàn)場的內容從堆棧中彈出,以恢復那些寄存器和存儲單元中的原有內容

開中斷:為了允許有更高級的中斷進入?,F(xiàn)場恢復后,仍允許中斷嵌套的功能。

中斷返回:必須是返回指令RETI。CPU執(zhí)行完這條指令后,把響應中斷時所置“1”的優(yōu)先級狀態(tài)觸發(fā)器清“0”,然后從堆棧中彈出棧頂上的兩個字節(jié)的斷點地址送到程序計數器PC,彈出的第一個字節(jié)送入PCH,第二個字節(jié)送入PCL,CPU從斷點處重新執(zhí)行被中斷的主程序。

實例

ORG 0000H ;程序開始LJMP START ;= LJMP 1000HORG 0003H ;外部中斷0入口地址

LJMP INTORG 1000H ;主程序入口START: MOV P1, #0AAH ; #0AAH=10101010BSETB EX0 ;允許外部中斷0SETB PX0 ;設置外部中斷0為高優(yōu)先級SETB IT0 ;設置外部中斷0為脈沖下降沿觸發(fā)SETB EA ;開中斷SJMP $ ;原地跳轉,等待中斷

INT: CLR EA ;關中斷PUSH PSW ;現(xiàn)場保護PUSH ACC ;SETB EA ;開中斷

CPL A ;對累加器A按位取反MOV P1, A ;累加器A值送P1端口

CLR EA ;關中斷POP ACC ;現(xiàn)場保護POP PSW ;SETB EA ;開中斷RETI ;```

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:MCS-51 單片機的中斷系統(tǒng)

文章出處:【微信號:mcugeek,微信公眾號:MCU開發(fā)加油站】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    詳解MCS-51單片機

    MCS-51單片機的硬件結構是由哪些部分組成的?MCS-51單片機的引腳功能有哪些呢?
    發(fā)表于 01-26 07:15

    新編MCS-51單片機應用設計

    新編MCS-51單片機應用設計
    發(fā)表于 03-21 22:03 ?576次下載

    mcs-51單片機應用教程

    mcs-51單片機應用教程以MCS-51系列單片機為主線,從實用的角度出發(fā),通過介紹大量單片機技能訓練實例和應用實例,指導讀者學習和使用
    發(fā)表于 10-28 16:21 ?77次下載
    <b class='flag-5'>mcs-51</b><b class='flag-5'>單片機</b>應用教程

    MCS-51單片機系統(tǒng)擴展技術

    1 MCS-51單片機系統(tǒng)擴展的基本概念2 程序存儲器擴展技術3 數據存儲器擴展4 輸入/輸出口擴展技術MCS-51單片機
    發(fā)表于 12-01 14:39 ?66次下載
    <b class='flag-5'>MCS-51</b><b class='flag-5'>單片機</b><b class='flag-5'>系統(tǒng)</b>擴展技術

    MCS-51系列單片機實用接口技術

    MCS-51系列單片機實用接口技術全面、系統(tǒng)地介紹了MCS-51系列單片機應用系統(tǒng)的各種實用接口
    發(fā)表于 12-23 14:27 ?165次下載
    <b class='flag-5'>MCS-51</b>系列<b class='flag-5'>單片機</b>實用接口技術

    MCS-51單片機系統(tǒng)擴展技術

    MCS-51單片機系統(tǒng)擴展技術:在MCS-51單片機的的內部雖已集成了很多資源,但這類單片機
    發(fā)表于 09-20 18:22 ?22次下載

    MCS-51單片機系統(tǒng)擴展技術(三)

    MCS-51單片機系統(tǒng)擴展技術簡述
    發(fā)表于 07-16 12:59 ?21次下載

    MCS-51單片機系統(tǒng)擴展技術(

    MCS-51單片機的內部雖已集成了很多資源,但這類單片機屬于種“通用”的單片機。
    發(fā)表于 08-08 17:18 ?26次下載

    MCS-51單片機系統(tǒng)結構

    2.1  MCS-51單片機的外特性2.2  MCS-51單片機內部結構2.3  CPU及復位電路2.4  IO端口2.5 
    發(fā)表于 08-12 11:33 ?46次下載

    MCS-51單片機中斷軟件編程

    MCS-51單片機中斷軟件編程 MCS-51單片機有多個中斷源,以8051為例,有5個
    發(fā)表于 03-06 10:08 ?1370次閱讀
    <b class='flag-5'>MCS-51</b><b class='flag-5'>單片機</b>外<b class='flag-5'>中斷</b>軟件編程

    MCS-51單片機應用設計

    本書從應用的角度,詳細地介紹了MCS-51單片機的硬件結構、指令系統(tǒng)、各種硬件接口設計、各種常用的數據運算和處理程序及接口驅動程序的設計以及MCS-51
    發(fā)表于 10-28 10:06 ?84次下載
    <b class='flag-5'>MCS-51</b><b class='flag-5'>單片機</b>應用設計

    MCS-51單片機應用系統(tǒng)

    MCS-51單片機應用系統(tǒng)詳解,感興趣的可以下載看看。
    發(fā)表于 11-06 18:19 ?2次下載

    MCS-51單片機的結構和原理

    MCS-51單片機的結構和原理
    發(fā)表于 12-11 23:41 ?0次下載

    MCS-51單片機的溫度控制系統(tǒng)

    MCS-51單片機的溫度控制系統(tǒng)
    發(fā)表于 09-21 13:50 ?25次下載
    <b class='flag-5'>MCS-51</b><b class='flag-5'>單片機</b>的溫度控制<b class='flag-5'>系統(tǒng)</b>

    MCS-51單片機應用設計

    MCS-51單片機應用設計說明。
    發(fā)表于 05-24 14:27 ?48次下載

    電子發(fā)燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品