| /******************************************************************************* FUNCION DE ALARMAS *******************************************************************************/ void alarma(void) { output_high(PIN_B7); delay_ms(5000); output_low(PIN_B7); } |
| LECTURA Y COMPARACION DE LA ALARMA 22:15 *******************************************************************************/ read_string_eeprom(0x00,leido); sprintf(ValoresLeidos,"%02u%02u%02u",hr,min,sec); if(strcmp(ValoresLeidos,leido)==0) alarma(); else output_low(PIN_B7); /******************************************************************************* LECTURA Y COMPARACION DE LA ALARMA 09:00 *******************************************************************************/ read_string_eeprom(0x07,leido); sprintf(ValoresLeidos,"%02u%02u%02u",hr,min,sec); if(strcmp(ValoresLeidos,leido)==0) alarma(); else output_low(PIN_B7); /******************************************************************************* LECTURA Y COMPARACION DE LA ALARMA 09:25 *******************************************************************************/ read_string_eeprom(0x0E,leido); sprintf(ValoresLeidos,"%02u%02u%02u",hr,min,sec); if(strcmp(ValoresLeidos,leido)==0) alarma(); else output_low(PIN_B7); |
| void alarma(numero_alarma) { switch(numero_alarma){ case 0: output_set(PIN_B7); delay_ms(5000); output_low(PIN_B7); break; case 1: output_set(PIN_B6); delay_ms(5000); output_low(PIN_B6); break; case 2: output_set(PIN_B5); delay_ms(5000); output_low(PIN_B5); } } |
| /******************************************************************************* FUNCION DE ALARMAS *******************************************************************************/ void alarma(int alarma) { switch(alarma){ case 0: output_high(PIN_B7); delay_ms(5000); output_low(PIN_B7); break; case 1: output_high(PIN_B4); delay_ms(5000); output_low(PIN_B4); break; case 2: output_high(PIN_B5); delay_ms(5000); output_low(PIN_B5); } } | /******************************************************************************* LECTURA Y COMPARACION DE LA ALARMA 22:14:30 *******************************************************************************/ read_string_eeprom(0x00,leido); sprintf(ValoresLeidos,"%02u%02u%02u",hr,min,sec); if(strcmp(ValoresLeidos,leido)==0) alarma(1); else output_low(PIN_B4); /******************************************************************************* LECTURA Y COMPARACION DE LA ALARMA 22:14 *******************************************************************************/ read_string_eeprom(0x07,leido); sprintf(ValoresLeidos,"%02u%02u%02u",hr,min,sec); if(strcmp(ValoresLeidos,leido)==0) alarma(0); else output_low(PIN_B7); |
Hola....je...je.... lo he simulado con Proteus 7.7 SP2 y parece que funciona. Gracias ppyote.
Referente a tu comentario de: más o menos es así....me podrias indicar cual sería la mejor manera. Ahora quiero controlar el ds1307 para ponerlo en hora con pulsadores (los mínimos posibles) como empiezo....? donde encuentro algun ejemplo que me sea válido para ir aprendiendo y adaptarlo.....?