公告版位

中斷顧名思義就是 先中斷目前的程序 優先處理突發的狀況

一般程式都是照編寫的順序執行程式

我們稱之為輪詢(polling)

當有些緊急的狀況發生時,

使用輪詢的方式可能會發生不可預期的問題

須使用中斷來優先處理

 

AVR的外部中斷有許多,這邊只簡單介紹INT0和INT1

 

※本文使用的晶片為Atmega128 

中斷暫存器.jpg

 

EIMSK 暫存器 

中斷INTX.jpg

 

INTx 中斷觸發方式,上升電平、下降電平、連續低電平等

觸發方式1.jpg

觸發方式2.jpg

 

EICRA EICRB 暫存器位置

ISC00 ISC01 為 INT0    ISC10 ISC11 為INT1 以此類推 至INT7

觸發暫存1.jpg

觸發暫存2.jpg

 

中斷使用方式

 

1.包含中斷的 .h檔

#include <avr/interrupt.h>

 

2.初始化中斷設置

EIMSK   //中斷的選擇

EICRA   //中斷觸發的條件

sei( )    //設定(全域)中斷開啟位元

 

3.中斷程式撰寫

ISR( )

 

假設使用按鈕模擬發生中斷,進而觸發中斷的程序

假設按鈕為PD2,

按鈕狀態改變INT0的狀態也會跟著變化

※下圖為其他擷取 不為Atmega128腳位

2.jpg

 

3.jpg

 

#include <avr/io.h>
#include <avr/interrupt.h>
  
 
//Interrupt Service Routine for INT0
ISR(INT0_vect)
{
  //中斷觸發時所需的處理
}	
 
int main(void)
{

	EISMK |= (1<<INT0);		// Enable INT0
	EICRA |= (1<<ISC00);	// Trigger INT0 on rising edge
 
	sei();				//Enable Global Interrupt
 
    while(1)
    {
	
    }
}

 

參考資料:

AVR C Programming of External Interrupt

AVR External Interrupts

文章標籤
創作者介紹
創作者 東勢厝滴yang 的頭像
東勢厝滴yang

東勢厝yang 雜七雜八亂亂記

東勢厝滴yang 發表在 痞客邦 留言(50) 人氣()


留言列表 (50)

發表留言
  • 蝦蝦
  • 酷誒 中斷程式
    是寫在機器裡嗎?還是寫在哪一種系統內
  • 還在學習中
    AVR單晶片的中斷用法
    應該算是系統吧

    東勢厝滴yang 於 2018/05/07 18:02 回覆

  • 蝦蝦
  • 默默就週日了 -.-
  • 蝦蝦
  • 天氣真是不穩定啊~~~
  • 蝦蝦
  • 冷了 真好~昨天快熱死~~
  • almpa
  • 雨好大大大呀呀呀
  • almpa
  • 聽說夏天感冒是笨蛋,真不想承認呀QQ
  • 蝦蝦
  • 大大多保重啊~
  • almpa
  • 肺都要咳出來了>M<
  • 蝦蝦
  • 保重啊啊啊啊~
  • almpa
  • 鼻子被糨糊黏住了>_"<
  • 蝦蝦
  • 好好休息~~
  • almpa
  • 今天請假了XD
  • 蝦蝦
  • 好好休養身體!!!!
  • almpa
  • 睡飽好很多XD
  • almpa
  • 只是鼻音重了點XDD
  • 蝦蝦
  • 我也睡飽了囧
  • 蝦蝦
  • 時光真快
  • almpa
  • 不想面對週一....
  • almpa
  • 不想面對週一....
  • 蝦蝦
  • 週一來了
  • almpa
  • 掩面>_"<
  • almpa
  • 天涼了~
  • 蝦蝦
  • 剛從烏來山上回市區
    烏雲密佈 差不多要變天了
  • 蝦蝦
  • 以為已經會下雨 結果還好 阿們~
  • almpa
  • 累累的....
  • 蝦蝦
  • 日本颱風走後 地震來了==
  • 蝦蝦
  • 即將週末!!
  • almpa
  • 期待週末呀~
  • 蝦蝦
  • 轉涼 聽說颱風再兩發 囧
  • 蝦蝦
  • 99重陽節了~~~
  • almpa
  • 北台多處淹水呀
  • 蝦蝦
  • 這麼大的雨不淹也難 人沒事第一優先 感謝老天啊
  • 蝦蝦
  • 還好雨停趕緊出門~
  • almpa
  • 平安最重要~
    希望未來這兩個颱風輕輕滑過~
  • 蝦蝦
  • 颱風快走~~
  • almpa
  • 週末約好的烤肉要泡湯了QQ
  • almpa
  • 山竹南修了喔耶~
  • 蝦蝦
  • 照常烤肉A_A
  • almpa
  • 結果朋友說要延期~((攤手
  • 蝦蝦
  • -_- 外面小雨
  • 蝦蝦
  • 照常來山上烤肉 準備中
  • almpa
  • 週六風中烤完了XD
  • 蝦蝦
  • 週日天氣挺好的!!!
  • 蝦蝦
  • 好多事情啊!!!!
  • 蝦蝦
  • 準備自己度假的節奏~~~~
  • almpa
  • 好想度假QwQ
  • 蝦蝦
  • 九州正在大雨 =_=
  • almpa
  • 希望快點雨過天晴呀!
  • 蝦蝦
  • 沒錯沒錯 聽說台北天氣很好!!!