//增加中断0来记录报警次数;低电平有效
ISR(INT0_vect)
{
int_time++;
Write_Abyte(CTRL_BUF2,0x02);//清除中断
Write_Abyte(HOUR_AE_BUF,Int_To_BCD(11));
}
void Interrupt_init()
{
DDRD&=~(_BV(PD2)|_BV(PD3));//2个中断口为输入口
GICR|=_BV(7)|_BV(6);//开启中断0,1
MCUCR|=_BV(3) ;//INT1下降沿触发,INT0低电平中断
GIFR|=_BV(7)|_BV(6);//清除中断标志
SREG|=_BV(7);//开启中断
}
int main(void)
{uchar i;
LCD_Init();
PCF8563_Init();
TWBR = 0X0F; //设置TWI波特率
TWSR &= 0XFC; //设置TWI预分频 为 1
///中断设置
Interrupt_init();
//报警设置
Write_Abyte(HOUR_AE_BUF,Int_To_BCD(10));
|