- //增加中断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));
|