控制各個中斷源的遮蔽與允許
各個中斷源的請求標誌位&有效訊號的規定
中斷號寫程式的時候要用
1.cpu同時接收到幾個中斷時,首先響應優先級別最高的中斷請求。
2.正在進行的中斷過程不能被新的同級或低優先順序的中斷請求所中斷。
3.正在進行的低優先順序中斷服務,能被高優先順序中斷請求所中斷。
中斷源有中斷請求;
此中斷源的中斷允許位為1;
cpu開中斷(即ea=1)。
//以外部中斷0為例
ea=1;//開啟總中斷開關
ex0=1;//允許外部中斷0 (或其他中斷源對應的允許位)
it0=0/1;//設定外部中斷的觸發方式(或其他中斷源)
模板:
void 函式名 () interrupt 中斷號
例子:
void int0 () interrupt 0
#include #define u16 int
#define u8 unsigned char
#define delaytime 500000
sbit led = p0^0;
sbit k = p3^2; //p32 用導線連線乙個獨立按鍵,按下按鍵時led狀態發生改變
void delay(u16 i)
void int0init()
void main(void)
//外部中斷0的呼叫程式
void int0() interrupt 0 // p3^2 下降沿呼叫
}
C51程式設計12 中斷篇(中斷原理2)
中斷可以用下面的例子理解 工程師a在自己的位置做著自己的工作 寫 工程師b有個問題需要請教工程師a,於是工程師b就會跑過來跟工程a請教。這時工程師a的寫 的工作會被打斷,開始回答工程b的問題,解答完問題後,工程師a又開始愉快的寫 從工程師b打斷工程師a,到工程師a繼續寫 這者整個過程叫中斷。1 工程...
C51程式設計15 中斷篇(定時器中斷2)
使用定時器 計數器中斷,需要將滿足以下的條件。1 中斷總允許開啟 ea 1 2 中斷源允許開啟 et0 1或者 et1 1 3 設定定時器計 計數器的工作方式 設定tmod 4 裝載定時器,設定計數器的初始計算值。5 開啟定時器 tcon中的tr0 1或者tr1 1 6 中斷服務函式 在滿足上面的條...
C51 矩陣按鍵 個人筆記
每個按鍵一端和同行一端相連 jp4的高4位 另一端和同列一端相連 jp4的低4位 for int i 8 i 3 i include typedef unsigned int u16 typedef unsigned char u8 define delaytime 50000000 define ...