#define LCD #include "freedom.h" #include void main() { unsigned char esito = 0; InitFreedom(); TRISBbits.TRISB2 = 1; //RB2/INT2 // inizializzo il modulo I2C (400KHz @ 20 MHz) OpenI2C(MASTER, SLEW_ON); SSPADD = 12; // inizializzo la data set_days_RTCC(0x30); set_months_RTCC(0x12); set_years_RTCC(0x08); // inizializzi l'ora set_hours_RTCC(0x02); set_minutes_RTCC(0x57); set_seconds_RTCC(0x48); // imposto l'allarme enable_alarm_interrupt_RTCC(); set_minutes_alarm_RTCC(0x58, Enable_ON); while (1) { //prima riga HomeLCD(); WriteVarLCD(get_time_seconds_RTCC()); WriteStringLCD(BT2?" _":" X"); if (!BT2) esito = is_alarm_ON_RTCC(); WriteStringLCD(esito ? " X" : " _"); //seconda riga Line2LCD(); WriteVarLCD(get_date_RTCC()); WriteStringLCD(PORTBbits.RB2 ? " _" : " X"); //polling su RB2 } }