中斷整體介紹

2021-08-29 18:53:48 字數 2748 閱讀 6943

外部中斷請求源:即外部中斷0 和1,經由外部引腳引入,在微控制器上有兩個引腳,外稱為int0、int1,也就是p3.2、p3.3這兩個引腳

>_<:mcs51>

微控制器內部的中斷模組在每個cpu週期都查詢各個中斷源的狀態,當其發生預期的中斷事件時,通知cpu將程式跳轉到中斷服務程式所在的程式儲存器(rom)位址。該位址稱為中斷向量。

中斷的實質仍然是查詢,只是不需要使用者程式查詢,不占用cpu執行時間而已。

51系列只有5個中斷向量,5x系列還增加乙個定時器2的中斷向量

——————————————————————————————

位址          |       中斷入口   |    中斷編號

——————————————————————————————

0x0000           |        復位      |

0x0003           |        外部中斷0  |            0

0x000b           |        定時器0   |            1

0x0013           |        外部中斷1   |          2

0x001b           |        定時器1     |          3

0x0023           |        串列埠       |           4

0x002b           |        定時器2(5x系列新增的)|  5

——————————————————————————————

>_<:mcs51>

以int0為例:中斷模組在每個cpu時鐘週期都查詢p3.2的狀態,當輸入的電平由高電平變為低電平時,cpu的程式執行會立即跳轉的到位址0x03。處理int0中斷的**放在位址為0x03開始的rom區域。c語言中採用一類特殊的函式來實現此**定位的功能,叫做 中斷服務函式,格式如下:

void 函式名()interrupt n

函式名可以任意,但一般要用乙個有意義的函式名,n代表中斷向量編號。

>_<:>

mcs51中斷系統中,中斷的允許或禁止是由片內可以進行位定址的8位中斷允許暫存器ie來控制的。

ex0 :外中斷0中斷允許

et0 :定時器0中斷允許

ex1 :外中斷1中斷允許

et1 :定時器1中斷允許

es :序列口中斷允許

et2 :定時器2中斷允許

ea :是總開關,若為0,則所有中斷都不允許。

>_<: tcon>

it0 :int0觸發方式控制位,邊沿/電平觸發模式

ie0 :int0中斷請標誌,

it1 :同上

ie1 :同上

tf0 :定時器/計數器0的溢位中斷標誌

tf1 :定時器/計數器1的溢位中斷標誌

>_<:>

觸發模式由it0和it1控制。

1)邊沿觸發:it0(it1)=1,int0(int1)為邊沿觸發方式。如果乙個週期中取樣到高電平,下個週期中取樣到低電平,則硬體使ie0(ie1)置1,向cpu請求中斷。

2)電平觸發:it0(it1)=0,int0(int1)為電平觸發方式。此時外部中斷是通過檢測p3.2(p3.3)腳的輸入電平(低電平)來觸發的。採用電平觸發時,輸入腳的外部中斷源必須保持低電平有效,直到該中斷被響應。同時在中斷返回前必須使用電平變高,否則將會再次產生中斷。

一般採用邊沿觸發方式,因為此模式抗干擾能力較強,極少採用電平觸發模式。

51微控制器 中斷1 中斷整體介紹

外部中斷請求源 即外部中斷0 和1,經由外部引腳引入,在微控制器上有兩個引腳,外稱為int0 int1,也就是p3.2 p3.3這兩個引腳 mcs51 微控制器內部的中斷模組在每個cpu週期都查詢各個中斷源的狀態,當其發生預期的中斷事件時,通知cpu將程式跳轉到中斷服務程式所在的程式儲存器 rom ...

Hadoop整體介紹

檔案目錄 bin sbin 集群工具 etc 配置檔案 include lib libexec windows c 依賴庫及工具 share hadoop所有jar包及文件 hdfs hdfs 框架 namenode,datanode,secondnamenode,hdfs client commo...

Kettle 整體介紹

etl是什麼 etl extract transform load的縮寫,即資料抽取 轉換 裝載的過程 對於企業或行業應用來說,我們經常會遇到各種資料的處理,轉換,遷移等工作,kettle就是來幹這件事的。kettle概述 kettle 是一款開源etl處理工具,支援對多種不同資料來源進行資料抽全 ...