|
|
單片機(jī)源程序如下:
- /*
- ==========================
- #頭文件
- void中斷初始化函數(shù)()
- {
- 關(guān)閉全局中斷;
- 配置中斷(觸發(fā)方式等);
- 使能需要的外部中斷;
- 開啟全局中斷;
- };
- 中斷服務(wù)函數(shù)程序;
- 中斷服務(wù)函數(shù)()
- {
- 中斷服務(wù)函數(shù)內(nèi)容
- }
- ==========================
- 主函數(shù)()
- {
- 端口配置
- 死循環(huán)
- {
- 執(zhí)行等待進(jìn)入
- 中斷;
- }
- }
- ===========================
- */
- #include <macros.h>
- #include <iom16v.h>
- void Interrupt_init(void)
- {
- CLI(); //關(guān)閉全局中斷
- MCUCR &= ~((1 << ISC10)|(1 << ISC00));//配置外部中斷的觸發(fā)方式
- MCUCR |= ((1 << ISC11)|(1 << ISC01));
- GICR |= ((1 << INT0)|(1 << INT1));//使能中斷INT0和INT1
- SEI(); //打開全局中斷
- }
- #pragma interrupt_handler int1_isr:iv_INT1
- void int1_isr(void)
- {
- PORTC = 0b01010101;
- }
- #pragma interrupt_handler int0_isr:iv_INT0
- void int0_isr(void)
- {
- PORTC = 0b10101010;
- }
- void main (void)
- {
- DDRC = 0xff;//C端口配置為輸出
- PORTC = 0xff;//全滅
- MCUCSR = 0x80; //取消C端口的復(fù)用功能
- MCUCSR = 0x80;
- Interrupt_init(); //中斷初始化
- while(1); //死循環(huán),等待進(jìn)中斷
- }
復(fù)制代碼
所有資料51hei提供下載:
中斷.zip
(8.85 KB, 下載次數(shù): 5)
2018-5-19 14:43 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|