这是程序
#include<iom16v.h>
#include<macros.h>
#include<AVR_HJ-2G.h>
#define uint unsigned int
#define beep_0 (PORTA&=0xBf)
#define beep_1 (PORTA|=0x40)
uint count;
void delay(uint xms)
{
uint i,j;
for(i=0;i<xms;i++)
{ for(j=0;j<1140;j++);
}
}
void port()
{
DDRB=0xff;
PORTB=0xff;
DDRD&=0xfc;
PORTD|=0xfc;
}
void led()
{
uint k;
while(1)
{
for(k=0;k<8;k++)
{
PORTB&=~BIT(k);
delay(500);
PORTB|=BIT(k);
delay(500);
}
}
}
void INT()
{
SREG=0x80;
GICR=0xC0;
MCUCR=0x0A;
}
void main()
{
LEDON();
SEGOFF();
port();
INT();
led();
}
#pragma interrupt_handler Exint1:3
Exint1()
{
DDRA=0x40;
SREG=0x80; //中断嵌套
for(count=0;count<5;count++)
{
beep_0;
delay(500);
beep_1;
delay(500);
}
}
#include<iom16v.h>
#include<macros.h>
#include<AVR_HJ-2G.h>
#define uint unsigned int
#define beep_0 (PORTA&=0xBf)
#define beep_1 (PORTA|=0x40)
uint count;
void delay(uint xms)
{
uint i,j;
for(i=0;i<xms;i++)
{ for(j=0;j<1140;j++);
}
}
void port()
{
DDRB=0xff;
PORTB=0xff;
DDRD&=0xfc;
PORTD|=0xfc;
}
void led()
{
uint k;
while(1)
{
for(k=0;k<8;k++)
{
PORTB&=~BIT(k);
delay(500);
PORTB|=BIT(k);
delay(500);
}
}
}
void INT()
{
SREG=0x80;
GICR=0xC0;
MCUCR=0x0A;
}
void main()
{
LEDON();
SEGOFF();
port();
INT();
led();
}
#pragma interrupt_handler Exint1:3
Exint1()
{
DDRA=0x40;
SREG=0x80; //中断嵌套
for(count=0;count<5;count++)
{
beep_0;
delay(500);
beep_1;
delay(500);
}
}