《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > MCS-51單片機終端介紹及外中斷軟件編程
MCS-51單片機終端介紹及外中斷軟件編程
摘要: MCS-51單片機有多個中斷源,以8051為例,有5個中斷源,兩個外中斷、兩個定時中斷和一個串行中斷,這一節我們討論外中斷軟件編程。外中斷是由外部原因引起的中斷,有兩個中斷源。即外中斷0(INT0)和外中斷1(I
Abstract:
Key words :

MCS-51單片機有多個中斷源,以8051為例,有5個中斷源,兩個外中斷、兩個定時中斷和一個串行中斷,這一節我們討論外中斷軟件編程。
    外中斷是由外部原因引起的中斷,有兩個中斷源。即外中斷0(INT0)和外中斷1(INT1),中斷請求信號由引腳P3.2(INT0)和P3.3(INT1)輸入。

    外中斷請求信號有兩種方式,一是電平方式,二是脈沖方式??赏ㄟ^有關控制位的定義進行規定。

    電平方式為低電平有效,只需在單片機的(INT0)和(INT1)中斷請求輸入端采樣到有效的低電平時,就會激活外部中斷。

    脈沖方式則在脈沖的后負跳沿有效,即在相鄰兩個機器周期對中斷請求引入端進行采樣中,如前一次為高,后一次為低即為有效中斷請求。這就要求在這種中斷方式,中斷請求信號的脈沖寬度必須大于一個機器周期,以保證電平變化能被單片機采樣到。

      定時器控制寄存器 (TCON)

    外中斷請求方式的控制位在定時控制寄存器TCON(地址為88H)中的位88(IT0)和位8A(IT1)兩個位,當IT0(IT1)=0為電平方式,IT0(IT1)=1為脈沖方式。同時在此寄存器中的位89(IE0)和位8B(IE1)為外中斷請求標志位,當CPU采樣到INT0(INT1)端出現有效中斷請求時,此位由硬件置1。在中斷響應完成后轉向中斷服務時,再由硬件自動清0。
 

定時器控制寄存器 (TCON)
位地址 8F 8E 8D 8C 8B 8A 89 88
位符號 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
      中斷允許控制寄存器 (IE)

 
中斷允許控制寄存器 (IE)
位地址 AF AE AD AC AB AA A9 A8
位符號 EA   /   /  ES  ET1 EX1 ET0 EX0

    下面我們對有關控制位作說明:

    ·EA——中斷允許總控制位,EA=0,中斷總禁止,禁止所有中斷。EA=1,中斷總允許,總允許位打開后,各中斷的允許或禁止由各中斷允許控制位設置決定。

    ·EX0(EX1)——外部中斷允許控制位,EX0(EX1)=0,禁止外部中斷。EX0(EX1)=1,允許外部中斷。

    ·ET0(ET1)——定時/計數中斷允許控制位,ET0(ET1)=0,禁止定時/計數中斷。ET0(ET1)=1,允許定時/計數中斷。

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

    中斷的允許和禁止就是中斷的開放和關閉,中斷允許就是開放中斷,中斷的禁止就是關閉中斷。從以上說明我們可看出,MCS-51的中斷允許是通過兩級控制的,以EA位作為總中斷控制位,以各中斷控制位為分控制位。當總中斷位為禁止狀態時,不管分控制位是允許或禁止整個中斷都是禁止的。只有當EA=1(允許)時,才能由各分控制位設置各自的中斷允許與禁止。MCS-51單片機復位后,IE=00H,因此中斷處于禁止狀態。

    值得一提的是:單片機中斷響應后不會自動關閉中斷,因此在轉入中斷服務程序后,應由軟件指令禁止中斷。

      中斷優先級控制寄存器 (IP)

  MCS-51的中斷優先級控制比較簡單,只設置了高、低兩個級別的有限級,各中斷源的優先級別由優先寄存器(IP)進行控制。

 
中斷優先級控制寄存器 (IP)
位地址 BF BE BD BC BB BA B9 B8
位符號  /   /   /  PS  PT1 PX1 PT0 PX0

    ·PX0——外中斷0(INT0)優先級控制位。
    ·PT0——定時中斷0(T0)優先級控制位。
    ·PX1——外中斷1(INT1)優先級控制位。
    ·PT1——定時中斷1(T1)優先級控制位。
    ·PS ——串行中斷(ES)優先級控制位。

    控制位=0,優先級為低??刂莆?1,優先級為高。

    中斷優先級是為了中斷嵌套服務的,控制原則為:
    (1) 低優先級中斷不能打斷高優先級的中斷服務,而高優先級的中斷服務可以打斷低優先級的中斷服務。
    (2) 同級的中斷已經響應,其他中斷將被禁止。
    (3) 如果同級的多個中斷源同時出現,CPU將按查詢次序確定哪個中斷被響應,次序為:外中斷0→定時中斷0→外中斷1→定時中斷1→串行中斷。

      中斷控制寄存器的狀態設置

    在應用中,我們可以通過相應的控制寄存器來使用中斷系統,因此從使用的角度上看,這些控制寄存器是面向用戶的。這些控制寄存器既可以進行字節尋址,也可以進行位尋址,也就是對位狀態的尋址既可以使用字節操作指令也可以使用位操作指令,例如:

        MOV    IE,#81H

    如使用位操作指令,也可寫為:
        SETB    EA
        SETB    EX0

    對于一般的外中斷程序,我們可以這樣安排:

        ORG    0000H    ;主程序入口
START:  AJMP   MAIN

        ORG    0003H    ;外中斷程序入口
        AJMP   INT00

MAIN:   MOV    IE,#81H  ;允許總中斷和外中斷
        ……            ;主程序
        ……
        ……

INT00:  ……            ;外中斷服務程序
        ……
        RETI            ;中斷返回
 
此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 视频在线一区二区三区 | 日本一极毛片兔费看 | 国产精品国产三级在线高清观看 | 亚州在线播放 | 久久精品国产亚洲片 | 免费看成人播放毛片 | 欧美一级一毛片 | 久久青草免费免费91线频观看 | 男人一进一出桶女人视频 | 国产三级香港在线观看 | 日本a级三级三级三级久久 日本a级特黄三级三级三级 | 国产女乱淫真高清免费视频 | 亚洲国产欧美在线人成 | 欧美高清色视频在线播放 | 国产91无套剧情在线播放 | 亚洲视频偷拍自拍 | 亚洲香蕉影院 | 亚洲欧洲日产国码二区在线 | 亚洲最新视频在线观看 | 偷拍第1页 | 激情欧美一区二区三区 | 日韩美视频网站 | 偷窥女厕国产在线视频 | a毛片免费看 | 国内精品久久国产大陆 | 久草97| 一 级做人爱全视频在线看 一本不卡 | 99久久精品免费看国产一区二区 | 上海一级毛片 | 成人免费在线 | 一级女性全黄久久生活片 | 成人国产精品 | 久久中文字幕综合不卡一二区 | 国产一级在线观看视频 | 国产黄色三级三级三级 | 成人免费高清视频 | 美女图片131亚洲午夜 | 成人涩涩屋福利视频 | 国产中文字幕免费观看 | 国产成人精品免费视频 | 精品一区二区三区免费毛片爱 |