標(biāo)題: mega32單片機最簡單的中斷程序——外部中斷 [打印本頁]

作者: aabbcc    時間: 2014-11-11 22:53
標(biāo)題: mega32單片機最簡單的中斷程序——外部中斷
學(xué)單片機的第二條檻:中斷,每次我都選最簡單的中斷——外部中斷。

*****************************************************************
//CPU:mega32
//編譯器:iar

#include <ioavr.h>
void eint0_init(void);
int main(void)
{
  
  DDRD |= (1 << 7);     //PD7置為輸出
  
  eint0_init();         //外部中斷0初始化
  
  asm("sei");           //開中斷
   
  while(1);
}

#pragma vector = INT0_vect    //預(yù)編譯指令,聲明中斷向量
__interrupt void eint0(void) //外部中斷0中斷例程
{
  PORTD ^= 1<<7;            //PD7取反
}
        
        
void eint0_init(void)
{
  DDRD &= ~(1 << 2);          //INT0腳輸入
  
  PORTD |= (1 << 2);          //INT0腳內(nèi)部上拉電阻有效
  
  MCUCR |= (1 << ISC01) | (1 << ISC00);   //INT0下降沿觸發(fā)
  
  GICR |= (1 << INT0);        //使能INT0
}
******************************************************************


作者: qq411343864    時間: 2016-3-1 16:09
你好,請問用keil軟件寫mega32的程序時,創(chuàng)建新的project選哪一個?
作者: Two_lemon    時間: 2016-3-10 11:20
謝謝樓主分享剛開始學(xué)習(xí)AVR單片機中斷這是一個很好的參考程序




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1