Está en la página 1de 2

#include <htc.

h>
#include "LCD.h"
#include <stdlib.h>

#pragma config WDTE=OFF, FOSC=XT, PWRTE=OFF, CP=OFF

#define _XTAL_FREQ 4000000 // 4 MHz

/*PROGRAMA 9*/
void main()
{
ADCON1=0X07;
TRISA2 = 1;
TRISA3 = 1;

char cad_ini[] = "00:00";


unsigned char hora = 0, minuto = 0, segundo = 0;
unsigned char cad[3];
char anterior_hor = 1, anterior_min = 1, decimas=0;

InitLCD();
GotoXYLCD(2,5);
WriteStringToLCD(cad_ini);

while(1)
{
if ((RA3==0)&&(anterior_min==1)&&RA2) {
minuto++;
if (minuto == 60)
minuto = 0;
anterior_min=0;
}
if ((RA3==1)&&(anterior_min==0)){
anterior_min=1;
}
if ((RA2==0)&&(anterior_hor==1)&&RA3==1) {
hora++;
if (hora == 24)
hora = 0;
anterior_hor=0;
}
if ((RA2==1)&&(anterior_hor==0)){
anterior_hor=1;
}

__delay_ms(100);
decimas++;
if (decimas==10) {
decimas = 0;
segundo++;
if (segundo == 60){
segundo = 0;
minuto++;
}
if (minuto == 60){
minuto = 0;
hora++;
}
if (hora == 24)
hora = 0;
}

itoa(cad,segundo,10);
GotoXYLCD(1,14);
if (segundo<10) WriteCharToLCD('0');
WriteStringToLCD(cad);

itoa(cad,minuto,10);
GotoXYLCD(2,8);
if (minuto<10) WriteCharToLCD('0');
WriteStringToLCD(cad);

itoa(cad,hora,10);
GotoXYLCD(2,5);
if (hora<10) WriteStringToLCD("0");
WriteStringToLCD(cad);

}
}

También podría gustarte