8051之中斷優先權實驗 8051之INT1中斷實驗 中斷優先權程式
8051之INT0中斷實驗
目的
瞭解中斷觸發及中斷流程原理。
使用材料
8051微電腦一片,包含八個顯示用LED,零件如下:
1. 8051單晶片微處理機1個(40 pin IC)
2. 74LS373位址鎖定1個(20 pin IC)
3. 2764A 8 Kbytes EPROM 1個(28 pin IC)
4. 12MHZ Xtal 石英振盪體 Crystal 1個
5. 10μf 電容1個
6. 20KΩ電阻1個
7. Tact Switch常開式重置開關1個
8. 30pf電容2個
9. LED單直徑3mm或5mm 8個
10. 470Ω 9pin排組1個
功能說明
(1)INT0腳為中斷請求輸入腳,觸發後,會跳到003H位址執行中斷程式。本實驗,將主程式之動作設為8個LED全暗。當INT0之按鈕按下時,LED將先亮一顆,再持續向左亮。
(2 )8051之中斷輸入腳有 INT0,INT1 兩支腳,觸發後所跳位址不同。它們皆可設為負緣觸發 (Falling Edge Triggered ) 或低準位觸發 ( Low Level Triggered );除非有中斷交握之動作時設準位觸發,否則一般應定為負緣觸發才適合。
(3)當中斷腳 ( INT0 )被觸發後,若已在中斷致能 ( EX0=1 ) 情況下 , 則中斷要求旗標 ( IE0 ) 會設立為1,即產生中斷,當 CPU 呼叫中斷服務程式,即自動清除 IE0 並執行中斷程式。嚴格的說,是由IE0 旗標要求中斷,而非 INT0 腳直接要求,故8051亦可直接以指令設定IE0而產生中斷0。
 
     
   
 
    
     
     
INT0中斷程式
 
ORG 00H
JMP START
ORG 03H 記憶體位址由03H開始存放
INC P1 中斷0產生時P1加1
RETI
ORG 30H
START:
SETB IT0 設INT0為負緣觸發
MOV IP,#01H 設INT0為高中斷優先權
MOV IE,#10000001B 致能INT0中斷
END![]()
目的
瞭解中斷觸發及中斷流程原理。
使用材料
8051微電腦一片,包含八個顯示用LED,零件如下:
1. 8051單晶片微處理機1個(40 pin IC)
2. 74LS373位址鎖定1個(20 pin IC)
3. 2764A 8 Kbytes EPROM 1個(28 pin IC)
4. 12MHZ Xtal 石英振盪體 Crystal 1個
5. 10μf 電容1個
6. 20KΩ電阻1個
7. Tact Switch常開式重置開關1個
8. 30pf電容2個
9. LED單直徑3mm或5mm 8個
10. 470Ω 9pin排組1個
功能說明
(1) INT1腳為中斷請求輸入腳,觸發後,會跳到13H位址執行中斷程式。本實驗,將主程式之動作設為8個LED全暗。當INT1之按鈕按下時,LED將先亮一顆,再持續向左亮。
(2 )8051之中斷輸入腳有 INT0,INT1 兩支腳,觸發後所跳位址不同。它們皆可設為負緣觸發 (Falling Edge Triggered ) 或低準位觸發 ( Low Level Triggered );除非有中斷交握之動作時設準位觸發,否則一般應定為負緣觸發才適合。
(3)當中斷腳(INT1)被觸發後,若已在中斷致能(EX1=1)情況下 , 則中斷要求旗標(IE1)會設立為1,即產生中斷,當CPU呼叫中斷服務程式,即自動清除IE1並執行中斷程式。嚴格的說,是由IE1旗標要求中斷,而非 INT1 腳直接要求,故8051亦可直接以指令設定IE1而產生中斷0。
    
     
     
           
INT1中斷程式   
ORG 00H
JMP START
ORG 13H 記憶體位址由13H開始存放
INC P1 中斷0產生時P1加1
RETI
ORG 30H
START:
SETB IT1 設INT1為負緣觸發
MOV IP,#00000100B 設INT1為高中斷優先權
MOV IE,#10001000B 致能INT1中斷
END ![]()
目的
瞭解中斷優先權之原理及如何安排優先權順序
使用材料
8051微電腦一片,包含八個顯示用LED,零件如下:
1. 8051單晶片微處理機1個(40 pin IC)
2. 74LS373位址鎖定1個(20 pin IC)
3. 2764A 8 Kbytes EPROM 1個(28 pin IC)
4. 12MHZ Xtal 石英振盪體 Crystal 1個
5. 10μf 電容1個
6. 20KΩ電阻1個
7. Tact Switch常開式重置開關2個
8. 30pf電容2個
9. LED單直徑3mm或5mm 8個
10. 470Ω 9pin排組1個
功能說明
使PORT1的8支接腳一次只有一支腳為LOW,且一直向左旋轉不停。當同時觸發
INT0及INT1時,會先顯示閃滅,再出現四個燈輪流閃滅。
 
    
     
     
    
     
     
 
 
    
     
     
 ![]()
ORG 00H
JMP START
ORG 003H
JMP INT0_DRV
ORG 13H
JMP INT1_DRV
ORG 30H
START:MOV SP,#60 由記憶體位址61H開始存放
STEB IT0 設INT0為負緣觸發
STEB IT1 設INT1為負緣觸發
MOV IP,#00000100B 設INT1為高中斷優先權
MOV IE,#10000101B 致能INT0及 INT1中斷
MOV A,#11111110B
MAIN:MOV P1,A
MOV R5,#10
CALL DELAY
RL A
JMP MAIN
DELAY:MOV R6,#200
DE1:MOV R7,#250
DJNZ R7,$
DJNZ R6,DL1
DJNZ R5,DELAY
RET
INTO_DRV:PUSH PSW
SETB RS0 設定RS0為進位旗標
SETB RS1 設定RS1為進位旗標
MOV R1,#10
MOV A,#0fh
LP1:
MOV P1,A
MOV R5,#10
CALL DELAY
CPL A 將A值取反向
DJNZ R1,LP1
POP PSW
POP A
RETI
INT1_DRV:PUSH A
PUSH PSW
CLR RS0
SETB RS1
MOV R1,#10
MOV A,#01010101B
LP2:
MOV P1,A
MOV R5,#10
CALL DELAY
DJNZ R1,LP2
POP PSW
POP A
RETI
END