使用AVR Studio 4.0編程進行AVR外部中斷學習

AVR單片機的編程軟件不像51單片機哪樣單一,一句語言在不同的開發環境有不同的寫法,這點是我以前沒有遇到的。例如外部中斷在IAR環境下會使用#pragma關鍵字,而Studio中使用GCC的編譯器,編譯器中使用ISP(中斷向量)關鍵字來標示。ISP在Interrupt.h頭文件裏面進行了定義,使用之前勿忘了定義,中斷向量在iom128.h頭文件中進行了定義,可以直接使用,如外部中斷1可寫爲INT1_vector。下面介紹一下外部中斷的使用步驟:

1、設置相應的端口爲輸入模式;(DDRD=0xFD;  //輸入模式  PORTD=0x02; //帶上拉電阻)

   2、設置外部中斷屏蔽寄存器;   (  SETBIT(EIMSK,1);   )

   3、設置觸發方式;(EICRA |=0x0A;)

   4、設置控制和狀態寄存器;(MCUCSR=0x00;) (保守設置,可以不設置)

   5、打開全局中斷。(SETBIT(SREG,7); )

以上SETBIT()函數在avr_macros.h頭文件(該文件在WinAVR-20071221\arv\include文件夾內)中進行了定義,使用時注意添加相應頭文件。中斷函數可直接調用關鍵字進行相關操作。例如:

ISP(INT1_vect)

{

............................................

}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章