單片機(jī)中斷方面的知識
對于中斷通俗點說:就是讓單片機(jī)的cpu暫停執(zhí)行當(dāng)前任務(wù)轉(zhuǎn)去執(zhí)行引起中斷的任務(wù)。剛開始學(xué)習(xí)單片機(jī)時非常排斥中斷方面的東西因為要記憶很多寄存器相關(guān)的東西什么IE,IP等
但是仔細(xì)一想如果不懂中斷就只能寫最簡單的順序執(zhí)行程序而且非常浪費單片機(jī)的這些中斷方面的資源,所以咬咬牙就拼命的學(xué)習(xí)這些特殊功能寄存器。今天寫此文章也是為了以后
忘記時查閱著方便。閑話少說言歸正傳。
51單片機(jī)有5個中斷源分別是:
1、INT0——外部中斷0,由P3.2端口引入,低電平或下降沿引起。默認(rèn)優(yōu)先級最高
2、INT1——外部中斷1,由P3.3端口引入,低電平或下降沿引起。默認(rèn)優(yōu)先級第二
3、T0——定時器/計數(shù)器0中斷,由T0計數(shù)器計滿回零引起。默認(rèn)優(yōu)先級第三
4、T1——定時器/計數(shù)器1中斷,由T1計數(shù)器計滿回零引起。默認(rèn)優(yōu)先級第四
5、T2——定時器/計數(shù)器2中斷,由T2計數(shù)器計滿回零引起。默認(rèn)優(yōu)先級第五
另外52單片機(jī)多加一個中斷源
6、TI/RI——串行口中斷,串行端口完成一幀字符發(fā)送/接收后引起。默認(rèn)中斷優(yōu)先級最低
--------------------------------------------------------------------------------------------------------------------------------------------------------------
以上中斷的開關(guān)由IE特殊功能寄存器控制,優(yōu)先級由IP特殊功能寄存器控制
--------------------------------------------------------------------------------------------------------------------------------------------------------------
當(dāng)我們要使用以上那些中斷功能時需要設(shè)置兩個控制這些中斷開關(guān)和優(yōu)先級的寄存器:中斷允許寄存器IE和中斷優(yōu)先級寄存器IP。
<<關(guān)于中斷允許寄存器IE>>,能夠控制各個中斷源的打開和關(guān)閉。特殊功能寄存器,可位尋址。單片機(jī)復(fù)位時IE全部被清0。字節(jié)地址為A8H,位地址由低位到高位A8H-AFH。
———————————————————————————————————————————————————————————————
|位序號 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
———————————————————————————————————————————————————————————————
中斷允許寄存器IE ====> |位符號 | EA | -- | ET2 | ES | ET1 | EX1 | ET0 | EX0 |
———————————————————————————————————————————————————————————————
|位地址 | AFH | -- | ADH | ACH | ABH | AAH | A9H | A8H |
———————————————————————————————————————————————————————————————
EA——全局中斷允許位。EA=1,打開全局中斷控制,在此條件下才能控制各個相應(yīng)中斷的打開或者關(guān)閉。EA=0,關(guān)閉全部中斷。
ET2——定時器/計數(shù)器2中斷允許位。ET2=1,打開T2中斷。ET2=0,關(guān)閉T2中斷。
ES——串行口中斷允許位。ES=1,打開串行口中斷。ES=0,關(guān)閉串行口中斷。
ET1——定時器/計數(shù)器1中斷允許位。ET1=1,打開T1中斷。ET1=0,關(guān)閉T1中斷。
EX1——外部中斷1中斷允許位。EX1=1,打開外部中斷1中斷。EX1=0,關(guān)閉外部中斷1中斷。
ET0——定時器/計數(shù)器0中斷允許位。ET0=1,打開T0中斷。ET0=0,關(guān)閉T0中斷。
EX0——外部中斷0中斷允許位。EX0=1,打開外部中斷0中斷。EX0=0,關(guān)閉外部中斷0中斷。
<<關(guān)于中斷優(yōu)先級寄存器IE>>,能夠設(shè)定各個中斷源屬于兩級中斷的哪一級。特殊功能寄存器,可位尋址。單片機(jī)復(fù)位時IP全部被清0。
字節(jié)地址B8H,位地址由低位到高位B8H-BFH。
———————————————————————————————————————————————————————————————
|位序號 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
———————————————————————————————————————————————————————————————
中斷優(yōu)先級寄存器IP ====> |位符號 | -- | -- | -- | PS | PT1 | PX1 | PT0 | PX0 |
———————————————————————————————————————————————————————————————
|位地址 | -- | -- | -- | BCH | BBH | BAH | B9H | B8H |
———————————————————————————————————————————————————————————————
PS——串行口中斷優(yōu)先級控制位。PS=1,串行口中斷定義為高優(yōu)先級中斷。PS=0,串行口中斷定義為低優(yōu)先級中斷。
PT1——定時器/計數(shù)器1中斷優(yōu)先級控制位。PT1=1,定時器/計數(shù)器1中斷定義為高優(yōu)先級中斷。PT1=0,定時器/計數(shù)器1中斷定義為低優(yōu)先級中斷。
PX1——外部中斷1中斷優(yōu)先級控制位。PX1=1,外部中斷1中斷定義為高優(yōu)先級中斷。PX1=0,外部中斷1中斷定義為低優(yōu)先級中斷。
PT0——定時器/計數(shù)器0中斷優(yōu)先級控制位。PT0=1,定時器/計數(shù)器0中斷定義為高優(yōu)先級中斷。PT0=0,定時器/計數(shù)器0中斷定義為低優(yōu)先級中斷。
PX0——外部中斷0中斷優(yōu)先級控制位。PX0=1,外部中斷0中斷定義為高優(yōu)先級中斷。PX0=0,外部中斷0中斷定義為低優(yōu)先級中斷。
編輯:admin 最后修改時間:2019-08-05