林銘波編著 --- 全華科技圖書公司 10.1
中斷要求的主要應用
中斷要求的主要應用有:
• 協調I/O動作與處理一些資料速率較緩慢的I/O資料轉移資料
• 偵測軟體程式執行時,可能產生的意外情況
• 偵測硬體電路的意外狀況
• 提供使用者存取系統資源的管道
• 提供危機性事件的處理
• 提醒CPU定時的處理某些例行性程式
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
中斷要求類型
中斷要求發生的來源有三種:
• 內部中斷(internal interrupt)或稱為TRAP:由CPU內部的硬體電路 產生的中斷要求;
• 軟體中斷(software interrupt):由CPU執行一個軟體中斷指令產生 的中斷要求;
• 外部中斷(external interrupt):由CPU外部經由中斷要求輸入線產 生的中斷要求。
• 可抑制式中斷要求
• 不可抑制式中斷要求
林銘波編著 --- 全華科技圖書公司 10.3
中斷要求類型
中斷要求依其決定中斷服務程式的起始位址的方式可以分成:
• 導向性中斷要求
• 非導向性中斷要求
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
導向性中斷要求動作
CPU IE
指令結束 中斷來源裝置
1. 產生中斷 (INT) 3. 讀取中斷類型
資料匯流排
2. 中斷認知
( ) INTA
林銘波編著 --- 全華科技圖書公司 10.5
多個I/O裝置利用單一中斷要求輸入線
INT
CPU
CSR
IE RDY 界面電路 1
0 1
CSR
IE RDY 界面電路 2
0 1
CSR
IE RDY 界面電路 3
1 1
0 0 1
註 註 註
註;;;CSR表控制與; 狀態暫存器(control and status register)
1
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
中斷優先權
解決多重中斷要求的方法中,最常用的有下列三種:
• 輪呼(polling)
• 鍵結優先權結構(daisy chain)
• 中斷優先權仲裁器(interrupt priority management hardware)
林銘波編著 --- 全華科技圖書公司 10.7
輪呼--- 程式10.2-1程式的輪呼程序表
輪呼程序表 CSR位址 ISR位址
}
CSR位址 ISR位址
}
CSR位址 ISR位址
}
}
0FFH POOLTAB
I/O裝置 1
I/O裝置 2
I/O裝置 3
END旗號
• • •
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
鍵結優先權結構
INT CPU
INTA IEI
IEO IEI
IEO IEI
IEO
裝置 1 界面
裝置 2 界面
裝置 N 界面
INT INT INT
開路 集極閘 +5V
IEI:中斷致能輸入 IEO:中斷致能輸出
最高優先權 次高優先權 最低優先權
裝置1認
知信號 裝置1中
斷要求 裝置2認
知信號
裝置2中 斷要求
裝置N認 知信號
裝置N中 斷要求 INTA
林銘波編著 --- 全華科技圖書公司 10.9
簡單的INT擴充方法
D7 D6 D5 D4 D3 D2 D1 D0
INT INTA
2Y4 2Y3 2Y2 2Y1 1Y4 1Y3 1Y2 1Y1
2A4 2A3 2A2 2A1 1A4 1A3 1A2 1A1
7 6 5 4 3 2 1 0 1G 2G
A2 A1 A0
EO
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 EI
GS 74LS148 74LS244
+5V
CPU IR0優先權最高
IR7優先權最低
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
中斷優先仲裁器
D0 D1 D2 D3 D4 D5 D6 D7
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
M0 M1 M2 M3 M4 M5 M6 M7
由CPU設定 I0 I1 I2 I3 I4 I5 I6 I7 O0 O1 O2 O3 O4 O5 O6 O7
0
1
6
7 A0 A1 A2
優先權編碼器 門閂
INT
INTA
OE
STROBE EO
罩網暫存器 中斷要求門閂
(接往CPU)
M
M
M
M
林銘波編著 --- 全華科技圖書公司 10.11
MCS-51中斷要求結構
TF0
IE0
INT1 IE1
TF1 RI TI
TF2
EXF2 中斷致能
全體致能
IE暫存器 IP暫存器 高優先
權中斷
低優先 權中斷
中斷輪 呼次序 INT0
0
0 1
1 IT0
IT1
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
中斷來源控制
TCON 位址: 88H 重置值: 00H 位元可存取
TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0
8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
定時器控制暫存器(TCON)內容
林銘波編著 --- 全華科技圖書公司 10.13
中斷要求致能暫存器(IE)
IE 位址: A8H 重置值: 00H 位元可存取
IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0
AFH AEH ADH ACH ABH AAH A9H A8H
EA - ET2* ES ET1 EX1 ET0 EX0
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
中斷優先權暫存器(IP)
IP 位址: B8H 重置值: 00H 位元可存取
IP.7 IP.6 IP.5 IP.4 IP.3 IP.2 IP.1 IP.0
BFH BEH BDH BCH BBH BAH B9H B8H
- - PT2 PS PT1 PX1 PT0 PX0
林銘波編著 --- 全華科技圖書公司 10.15
中斷處理程序
1. 已經有一個較高或是相同優先權層次的中斷服務程式正在執行;
2. 目前的輪呼動作不是在一個執行中的指令的最後一個週期;
3. 目前正在執行中的指令為RETI指令或是任何寫入暫存器IE或是IP 的指令。
MCS-51在認知一個中斷要求後,若無下列任何一個狀況發生時,
CPU即執行一個硬體的LCALL副程式呼叫動作,跳到中斷服務程式 中執行,並且抑制相同優先權層次的其它中斷要求產生中斷要求,
此一動作也稱為中斷要求處理程序,簡稱中斷程序:
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
MCS-51/52系列中斷向量表
中斷來源 中斷要求旗號 CPU 自動清除 中斷向量
INT0 IE0 是;位準不是 0003H
定時器 0 TF0 是 000BH
INT1 IE1 是;位準不是 0013H
定時器 1 TF1 是 001BH
串列通信埠 RI, TI 否 0023H
定時器 2 TF2, EXF2 否 002BH
林銘波編著 --- 全華科技圖書公司 10.17
MCS-51中斷要求反應時間
S5P2 S6
C1 C2 C3 C4 C5
閂入中斷要求 中斷要
求啟動
輪呼中斷要求 LCALL到指定的中斷向量 中斷要求 服務程式
1 24 43
1 2 4 4 3
1 24 43(a) 最短的中斷要求遲滯時間
(b) 最長的中斷要求遲滯時間 S5P2 S6
C0 C1 C2 C3 C4
中斷要求啟動
,但是剛好超過S5P2 的取樣點
輪呼中
斷要求 LCALL到指
定的中斷向量 中斷要求 服務程式
1 24 43
RETI指令
取樣中 斷要求
C5 C6 C7 C8 C9
MUL/DIV指令
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
*8xC51Fx系列中斷向量表
中斷來源 中斷要求旗號 CPU 自動清除 中斷向量
INT0 IE0 是;位準不是 0003H
定時器 0 TF0 是 000BH
INT1 IE1 是;位準不是 0013H
定時器 1 TF1 是 001BH
串列通信埠 RI, TI 否 0023H
定時器 2 TF2, EXF2 否 002BH
PCA CF, CCFn(n = 0 ~ 4) 否 0033H
林銘波編著 --- 全華科技圖書公司 10.19
*8xC51Fx系列中斷要求致能暫存器(IE)
IE 位址: A8H 重置值: 00H 位元可存取
IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0
AFH AEH ADH ACH ABH AAH A9H A8H
EA EC ET2 ES ET1 EX1 ET0 EX0
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
*8xC51Fx系列中斷優先權暫存器(IP與IPH)
IP 位址: B8H 重置值: 00H 位元可存取
IP.7 IP.6 IP.5 IP.4 IP.3 IP.2 IP.1 IP.0
BFH BEH BDH BCH BBH BAH B9H B8H
- PPC PT2 PS PT1 PX1 PT0 PX0
IPH 位址: B7H 重置值: 00H 非位元可存取
7 6 5 4 3 2 1 0
- PPCH PT2H PSH PT1H PX1H PT0H PX0H
林銘波編著 --- 全華科技圖書公司 10.21
*8xC51GB系列中斷向量表
中斷來源 中斷要求旗號 CPU 自動清除 中斷向量
INT0 IE0 是;位準不是 0003H
定時器 0 TF0 是 000BH
INT1 IE1 是;位準不是 0013H
定時器 1 TF1 是 001BH
串列通信埠 RI, TI 否 0023H
定時器 2 TF2, EXF2 否 002BH
PCA CF, CCFn(n = 0 ~ 4) 否 0033H
A/D AIF 否 003BH
PCA1 CF1,C1CCFn(n = 0 ~ 4) 否 0043H
SEP SEPIF 否 004BH
INT2 IE2 是 0053H
INT3 IE3 是 005BH
INT4 IE4 是 0063H
INT5 IE5 是 006BH
INT6 IE6 是 0073H
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
*8xC51GB系列中斷要求致能暫存器(IE與IEH)
IE 位址: A8H 重置值: 00H 位元可存取
IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0
AFH AEH ADH ACH ABH AAH A9H A8H
EA EC ET2 ES ET1 EX1 ET0 EX0
IEH 位址: A7H 重置值: 00H 非位元可存取
7 6 5 4 3 2 1 0
EAD EX6 EX5 EX4 EX3 EX2 EC1 ESEP
林銘波編著 --- 全華科技圖書公司 10.23
*8xC51GB系列中斷優先權暫存器(IP與IPH;IPA 與IPHA)
IP 位址: B8H 重置值: 00H 位元可存取
IP.7 IP.6 IP.5 IP.4 IP.3 IP.2 IP.1 IP.0
BFH BEH BDH BCH BBH BAH B9H B8H
- PPC PT2 PS PT1 PX1 PT0 PX0
IPH 位址: B7H 重置值: 00H 非位元可存取
7 6 5 4 3 2 1 0
- PPCH PT2H PSH PT1H PX1H PT0H PX0H
IPA 位址: B6H 重置值: 00H 非位元可存取
7 6 5 4 3 2 1 0
PAD PX6 PX5 PX4 PX3 PX2 PC1 PSEP
IPHA 位址: B5H 重置值: 00H 非位元可存取
7 6 5 4 3 2 1 0
PADH PX6H PX5H PX4H PX3H PX2H PC1H PSEPH
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
中斷服務程式
設計一個中斷服務程式時,通常必須遵守下列三個步驟:
1. 撰寫中斷服務程式;
2. 設定適當的中斷要求致能位元;
3. 在中斷向量表中的適當位置內填入中斷服務程式,或是在該位
置中填入LJMP指令,使其跳到中斷服務程式中執行。
林銘波編著 --- 全華科技圖書公司 10.25
中斷服務程式
1 ;ex1041.a51
2 ;interrupt service routine example ---- 3 CSEG AT 0000H 0000 4 ORG 0000H 0000 020016 5 LJMP MAIN 0003 15F0 6 INT0ISR: DEC B 0005 32 7 RETI 0013 8 ORG 0013H 0013 05F0 9 INT1ISR: INC B 0015 32 10 RETI
0016 75A885 11 MAIN: MOV IE,#85H;enable int0 and int1 0019 75F000 12 MOV B,#00H ;clear counter
001C C288 13 CLR IT0 ;int0 level sensitive 001E C28A 14 CLR IT1 ;int1 level sensitive 0020 80FE 15 WAITHERE: SJMP $ ;do nothing
16 END
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
巢路中斷要求
RETI ISR
RETI
INT1 INT1ISR
INT0
INT0
林銘波編著 --- 全華科技圖書公司 10.27
MCS-51微控制器系統重置
在MCS-51系統重置後,SFR內容如下:
1. PC、ACC、暫存器B、DPTR、與 PSW均清除為0。因此,在 RST後,CPU由0000H的位址開始執行指令。
2. SP設定為07H。
3. I/O埠設定為0FFH。
4. IP(MCS-51)設定為xxx00000B;IP(MCS-52)設定為xx000000B。
5. IE(MCS-51)設定為0xx00000B;IE(MCS-52)設定為0x000000B。
6. 定時器暫存器與SCON均清除為0;SBUF則為未定值(xxH)。
7. PCON設定為0xxx0000B。
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
功率控制
PCON 位址: 87H 重置值: 00xx0000H 非位元可存取
7 6 5 4 3 2 1 0
SMOD - - - GF1 GF0 PDE IDLE
MCS-51 PCON暫存器
林銘波編著 --- 全華科技圖書公司 10.29
MCS-51功率控制模式邏輯電路圖
OSC 時脈
產生器
PD IDL
CPU
中斷、串列埠、
定時器電路
微算機基本原理與應用
第10章 中斷要求、系統重置、與電源管理
MCS-51在閒置與電源關閉模式時外部接腳的狀態
最後的指令由內部程式記憶器執行 最後的指令由外部程式記憶器執行
輸出 閒置 電源關閉 閒置 電源關閉
ALE 高電位 低電位 高電位 低電位
PSEN 高電位 低電位 高電位 低電位
埠 0 資料 資料 浮接 浮接
埠 1 資料 資料 資料 資料
埠 2 資料 資料 位址 資料
埠 3 資料/其它輸出 資料/最後輸出 資料/其它輸出 資料/最後輸出