打印
[AVR单片机]

avr单片机,INT5设置为上升沿触发,外部电路下拉,为什么进不了中断

[复制链接]
1500|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
282045368|  楼主 | 2015-1-7 11:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
外部中断5上升沿触发,按键按下后,进不了中断。电路图是:PE5下拉电阻接地,并且接一个按键,按键另一端接+5V.


#include <mega64.h>
#include <delay.h>

#define LEDALLON PORTC = 0x00;//PC口低电平时LED灯亮
#define LEDALLOFF PORTC = 0xff;


void PortInitial(void)
{
  DDRC = 0xff;
  PORTC = 0xff;
  DDRE &= ~(1<<5);//PE5设置为输入,外部电路实现下拉  

}
void DeviceInitial(void)
{
    #asm("cli");
    #asm("nop");
    EIMSK = 0xff;                                          
    EIFR = 0x00;
    // EICRB:ISCx1,ISCx0:00低电平触发 ,01任意电平变化触发,10下降沿触发,11上升沿触发

    EICRB = ((1<<ISC50)|(1<<ISC51));      
    EIMSK =  1<<INT5;
   
    #asm("sei");
    #asm("nop");   
}

void main(void)
{
    PortInitial();
    DeviceInitial();
    while(1)
    {
        LEDALLON;
    }
}


interrupt [EXT_INT5] void led5ctrl(void)
{
delay_ms(10);   
while((PINE&0x20)==0x20)//等待释放
    {
        PORTC = 0xdf;
    }
}

相关帖子

沙发
JY-DX-JY| | 2015-1-8 08:27 | 只看该作者
1检查程序
2.测PE5有没有跳变沿

使用特权

评论回复
板凳
airwill| | 2015-1-9 09:54 | 只看该作者
先判断软件有没有在正常运行 (主要是晶振设置正常否, 有没有被看门狗咬住了).

再看看 PE5 有没有上升沿信号, 可以人为给个信号上去试试.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

19

帖子

0

粉丝