标题: mega32单片机最简单的中断程序——外部中断 [打印本页]

作者: aabbcc    时间: 2014-11-11 22:53
标题: mega32单片机最简单的中断程序——外部中断
学单片机的第二条槛:中断,每次我都选最简单的中断——外部中断。

*****************************************************************
//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    //预编译指令,声明中断向量
__interrupt void eint0(void) //外部中断0中断例程
{
  PORTD ^= 1<<7;            //PD7取反
}
        
        
void eint0_init(void)
{
  DDRD &= ~(1 << 2);          //INT0脚输入
  
  PORTD |= (1 << 2);          //INT0脚内部上拉电阻有效
  
  MCUCR |= (1 << ISC01) | (1 << ISC00);   //INT0下降沿触发
  
  GICR |= (1 << INT0);        //使能INT0
}
******************************************************************


作者: qq411343864    时间: 2016-3-1 16:09
你好,请问用keil软件写mega32的程序时,创建新的project选哪一个?
作者: Two_lemon    时间: 2016-3-10 11:20
谢谢楼主分享刚开始学习AVR单片机中断这是一个很好的参考程序




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1