外部中斷請求源:即外部中斷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處理工具,支援對多種不同資料來源進行資料抽全 ...