打印

AVR MEGA16单片机外部中断问题,望各位指教

[复制链接]
1522|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
agz1989|  楼主 | 2013-10-23 23:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
问题:摁下中断按钮外部中断没反应,下面是硬件电路

#include "mega16.h"
#define uchar unsigned char
#define button1 PIND.2
#define button2 PIND.3
#define sounder PORTD.0
int a;
flash uchar tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
                         0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
                         0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
                         0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};  
flash uchar tab2[]={0xf0,0x0f,0xf0,0x0f,0xf0,0x0f};
void delay (int k)
{
int i,j;
for(i=0;i<k;i++)
    for(j=0;j<1140;j++);
}

interrupt[EXT_INT0]void int0()
{
int i;  
for(i=0;i<500;i++)
   {
    sounder=1;
    delay(2);
    sounder=1;
    delay(2);
   }
}
interrupt[EXT_INT1]void int1()
{
int i,j;
a++;
#asm("sei")
if(a%2==0)
   {
    for(i=0;i<6;i++)
       {
        tab2[i];
        delay(5);
       }
   }   
else   
     for(j=0;j<24;j++)
       {
        tab[j];
        delay(5);
       }
   
}

void main()
{

DDRC=0xff;
PORTC=0xff;
DDRD=0xf3;
PORTD=0xff;
MCUCR=0x0a;
GICR=0xc0;
#asm("sei")
while(1)
{
  PORTC=0xff;
  delay(500);
  PORTC=0x00;
  delay(500);  
}
}

QQ截图20131022215617.jpg (175.77 KB )

QQ截图20131022215617.jpg

相关帖子

沙发
liuyanlbg| | 2013-10-24 11:18 | 只看该作者
for(i=0;i<6;i++)
       {
        tab2[i];
        delay(5);
       }
for(j=0;j<24;j++)
       {
        tab[j];
        delay(5);
       }
这也能编译成功?

使用特权

评论回复
板凳
agz1989|  楼主 | 2013-10-24 18:07 | 只看该作者
liuyanlbg 发表于 2013-10-24 11:18
for(i=0;i

怪不得老有警告,谢谢提醒

使用特权

评论回复
地板
agz1989|  楼主 | 2013-10-24 18:09 | 只看该作者
liuyanlbg 发表于 2013-10-24 11:18
for(i=0;i

检查了一下,没什么问题啊

使用特权

评论回复
5
liuyanlbg| | 2013-10-30 14:42 | 只看该作者
agz1989 发表于 2013-10-24 18:09
检查了一下,没什么问题啊

tab2;这不是条语句呀,这样能运行吗?

使用特权

评论回复
6
withiu| | 2013-10-30 15:52 | 只看该作者
同没见过tab2 = =

使用特权

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

本版积分规则

22

主题

45

帖子

1

粉丝