1、按鈕s0接在51微控制器的 p3.3(int1)引腳上,p1口接了8個發光二極體,程式設計實現:初始狀態時,led0燈亮,其它燈滅,利用s0按鈕控制p1口的燈(中斷方式),要求每按一下就點亮一盞燈( 前面點亮的保持點亮的狀態 )
**:
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar ledstatus_1;
uchar ledstatus_2;
bit flag; //標誌位,中斷後賦予1
uint i=0;
void wint1(
) interrupt 2
void main(
)else}}
}
電路圖:
2、按鈕s0接在51微控制器的 p3.3(int1)引腳上,p1口接了8個發光二極體,程式設計實現:初始狀態時,p1口控制的燈按一定的頻率閃爍;按一下s0,觸發 外部中斷1(int1),實現單燈 右移 (即按led7至led0的順序依次點亮)3圈結束,恢復初始狀態。
**:
#include
#include
#define uint unsigned int
#define led p1
void delay(int xms) //延時函式
void right(int x) //右移
delay(250);}
}void my_interrupt(
) interrupt 2 //中斷函式
void main(
)}
電路圖:
3、51微控制器的p1.7引腳外接乙個發光二極體d1,p3.2(int0)引腳外接訊號發生器(single generator)。程式設計實現:首先通過p1.7口點亮發光二極體d1,然後訊號發生器每輸入10個脈衝觸發一次中斷,使d1燈亮、滅交替一次。
**:
#include
#include
#define uint unsigned int
#define led p1
void delay(int xms) //延時函式
void left(int x) //左移
delay(250);}
}void right(int x) //右移
delay(250);}
}void my_int_right(void) interrupt 2 //中斷函式
void my_int_left(void) interrupt 0 //中斷函式
void main(
)}
電路圖:
4、p1口接8個發光二極體,p3.2和p3.3接兩個按鈕開關模擬兩個外部中斷源。平常8個燈以一定頻率閃爍,按鍵s0按下觸發中斷,控制8個燈左移(即按d1至d8的順序依次點亮)3圈,按鍵s1按下觸發中斷,控制8個燈右移(即按d8至d1的順序依次點亮)3圈(右移的中斷優先順序高於左移)。
**:
#include
#define uint unsigned int
sbit p1_7=p1^7;
uint i = 0; //脈衝計數
void interrupt0(
) interrupt 0 using 2
}void main(
)while(1)
;}
電路圖:
所有**和電路圖:
微控制器學習筆記(二) 中斷系統
cpu正在處理某件事情時,微控制器的內部或外部發生的某一事件請求cpu迅速去處理,於是cpu暫時中止當前的工作去處理所發生的事件。處理的過程是由中斷服務處理程式來負責的,它處理完後又回到原來被中止的地方,繼續原來的工作,這就是中斷。一 中斷請求 51 mcs 51系統簡稱,以下均使用51 中斷系統有...
藍橋杯微控制器學習記錄5中斷
這年過的人都過傻了,一覺醒來假期延長半個月。休息了這麼多天,把stc15f2k61s2的中斷簡單的說明一下 這裡只說外部中斷和定時中斷了,串列埠中斷講起來稍微麻煩點,但是 很簡單,回去直接看 先說一下要用到的中斷暫存器的幾個位 ea cpu的總中斷允許位 enable 1時允許中斷 exy y 0 ...
51微控制器 中斷1 中斷整體介紹
外部中斷請求源 即外部中斷0 和1,經由外部引腳引入,在微控制器上有兩個引腳,外稱為int0 int1,也就是p3.2 p3.3這兩個引腳 mcs51 微控制器內部的中斷模組在每個cpu週期都查詢各個中斷源的狀態,當其發生預期的中斷事件時,通知cpu將程式跳轉到中斷服務程式所在的程式儲存器 rom ...