单片机基础知识点 05 (中断-1)
一.中斷概念
先來了解中斷的概念,我們拿生活中舉個例子,就比如你原本在洗衣服,洗著洗著水開了,這時候你跑過去把關火,把水灌入水瓶后,在回來洗衣服,那么這個過程實際上就是發生一次中斷。
對單片機來講,中斷是指CPU在處理某一事件A時,發生了另一事件B,請求CPU迅速處理(中斷發生);CPU暫時停止當前工作(中斷響應),轉去處理事件B(中斷服務);待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續處理事件A(中斷返回),這一過程稱之為中斷。
涉及中斷——優先級。單片機在執行程序試同一時刻發生兩個中斷。單片機該先執行哪個?這時候我們就要設置中斷優先級寄存器,來告訴單片機先執行哪個。
對于51/52單片機來講,若沒設置中斷優先級,它內部自己有一套優先級,如下:
注:定時器T2是52單片機特有的。
二. 中斷允許寄存器IE
中斷允許寄存器用來設定各個中斷源的打開和關閉。IE在特殊功能寄存器中,字節地址為A8H,位地址(由低位到高位)分別是A8H~AFH,該寄存器可進行位尋址,即可對該寄存器的每一位進行單獨操作。單片機復位時IE全部被清零。
只有打開全局開關(EA),其它各位的開關才可以開啟。
每個位開關賦值為1則開,賦值為0則關。
使用方法:
1)整體賦值:如IE=0x81; (開啟全局中斷,打開外部中斷0)
2)單獨賦值:如EA=1;EX0=1;(開啟全局中斷,打開外部中斷0)
三. 中斷優先級寄存器IP
中斷優先級寄存器用來設定各個中斷源屬于兩級中斷中的哪一級。IP在特殊功能寄存器中,字節地址為B8H,位地址(由低位到高位)分別是B8H~BFH,可進行位尋址,單片機復位時IP全部被清零。
PS——串行口中斷優先級控制位。
PS=1,串行口中斷定義為高優先級中斷。
PS=0,串行口中斷定義為低優先級中斷。
PT1——定時器/計數器1中斷優先級控制位。
PT1=1,定時器/計數器1中斷定義為高優先級中斷。
PT1=0,定時器/計數器1中斷定義為低優先級中斷。
PX1——外部中斷1中斷優先級控制位。
PX1=1,外部中斷1定義為高優先級中斷。
PX1=0,外部中斷1定義為低優先級中斷。
PT0——定時器/計數器0中斷優先級控制位。
PT0=1,定時器/計數器0中斷定義為高優先級中斷。
PT0=0,定時器/計數器0中斷定義為低優先級中斷。
PX0——外部中斷0中斷優先級控制位。
PX0=1,外部中斷0定義為高優先級中斷。
PX0=0,外部中斷0定義為低優先級中斷。
在51單片機系列中,高優先級中斷能夠打斷低優先級中斷以形成中斷嵌套,同優先級中斷之間,或低級對高級中斷則不能形成中斷嵌套。若幾個同級中斷同時向CPU請求中斷響應,在沒有設置中斷優先級情況下,按照默認中斷級別響應中斷,在設置中斷優先級后,則按設置順序確定響應的先后順序。
總結
以上是生活随笔為你收集整理的单片机基础知识点 05 (中断-1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 70行代码撸一个桌面自动翻译神器(采用M
- 下一篇: HBase学习笔记(三)——布隆过滤器(