单片机AVR外部中断程序,怎样添加外部中断来控制LED全亮全灭,怎么改程序,谢谢

#include<iom16v.h>
#include<macros.h>

void delay(void)
{
unsigned int a,b;
for(a=0;a<1000;a++)
for(b=0;b<500;b++);
}

void init(void)
{
DDRA=0XFF; //输出方式
PORTA=0XFF;

DDRD=0; //输入方式
PORTD=0XFF;

MCUCR |=0X02; //下降沿触发
GICR |=BIT(6); //打开外边中断0

DDRD &=~BIT(2); //设置为输入
PORTD |=BIT(2); //带上拉电阻

SREG |=BIT(7); //打开全局中断

}
void main()
{

init();
while(1)
{
PORTA |=BIT(0); //第一个LED亮
delay();
PORTA &=~BIT(0);
delay();
}
}

#pragam void interrupt_handle int0_isr:2
void int0_isr(void)
{
PORTA=0;//LED全亮
delay();
delay();
delay();
PORTA=0xff;
}

第1个回答  2012-11-01
你在中断里使他灭的时候亮,亮的时候灭就行了。或者用两个中断。一个灭一个亮

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网