Está en la página 1de 3

#include <16f877a.h> #device adc=10 #fuses XT,NOWDT,PUT,NOBROWNOUT,NOLVP,NOCPD,NOWRT,NODEBUG,NOPROTECT #USE DELAY (CLOCK=4000000) #include <lcd.

c> #USE standard_IO(A) #USE standard_IO(d) void main(){ //inici el programa // float s=1; //Declaracion de variable para la convercion analoga-digital como flotante // float s1=1; //Declaracion de variable para la convercion analoga-digital como flotante // int horas=11; //Declaracion de variable:horas como entero// int minutos=58; //Declaracion de variable:minutos como entero // int segundos=40; //Declaracion de variable:segundos como entero // int contador=0; //Declaracion del contador como entero int bandera=0; //Declaracion del estado bandera como entero long n=0; //Declaracion de variable:n como entero largo de 16 bits setup_adc(adc_clock_internal); terno setup_adc_ports(AN0_AN1_VSS_Vref); rcuito lcd_init(); //inicializa el led printf(lcd_putc,"FICHA 187438"); delay_ms(300); //hago un retardo // lcd_gotoxy(1,2); printf(lcd_putc,"daniel y jhon"); delay_ms(500); //hago un retardo // lcd_init(); WHILE (1){ ir //// lcd_gotoxy(1,1); set_adc_channel(0); este siendo utilizado //// n=read_adc (); igital analizado //// s=5.0*n/1023.0; esultado //// printf(lcd_putc,"VO1=%1.2f",s); n VO1 con un entero y dos decimales lcd_gotoxy(1,2); set_adc_channel(1); l existente //// n=read_adc (); s1=5.0*n/1023.0; esultado//// printf(lcd_putc,"VO2=%1.2f",s1); n VO2 con un entero y dos decimales // ////Condicion WHILE infinito para repet ////Posicion del cursor en la LCD //// ////Analiza un canal Analogo/Digital que ////Lee el resultado del canal Analogo/D ////Convercion Analogo/Digital para el r ////Imprimo el resultado de la convercio ////Posiciona del cursor en la LCD//// ////Analiza el otro canal Analogo/Digita ////Lee el resultado de dicho canal//// ////Convercion Analogo/Digital para el r ////Imprime el resultado de la convercio //Declaramos el reloj a trabaje:Reloj in //Entradas analogicas que poseo en el ci

lcd_gotoxy(14,1); printf(lcd_putc,":%02u",segundos);

////Posiciona del cursor en la LCD //// ////Imprime el resultado de 2 enteros pa

ra el conteo de los segundos //// lcd_gotoxy(11,1); printf(lcd_putc,":%02u",minutos); ra el contar los minutos//// lcd_gotoxy(9,1); printf(lcd_putc,"%02u",horas); el conteo de las horas//// delay_us(1); undos del contador //// /////Posiciona del cursor en la LCD //// ////Imprime el resultado de 2 enteros pa ////Posiciona del cursor en la LCD ///// //Imprime el resultado de 2 enteros para // hago un Retardo para el conteo en seg

if (contador==1){ //Condicion de posibilidad en caso de qu e el contador sea ==1 //// segundos=segundos+1; //Si dicha condicional se cumple, segund os aumentan en 1 //// contador=0; //Si dicha condicional se cumple, contad or se resetea nuevamente para aumentar segundos en 1 } //finlizacion de la condicion //// if (segundos==60){ e segundos sea == 60 minutos=minutos+1; umenta en 1 segundos=0; se resetea y vuelve a aumentar en 1 } //Condicion de posibilidad en caso de qu //Si la condicional se cumple, minutos a //Si la condicional se cumple, segundos ///finlizacion de la condicion

if (minutos==60){ //Condicion de posibilidad en caso de qu e minutos sea == 60//// horas=horas+1; //Si la condicional se cumple, horas aum enta en 1 //// minutos=0; //Sila condicional se cumple, minutos se resetea e inicia nuevo conteo a razon de 1 } //finlizacion de la condicion//// if (horas==12 && minutos==0 && segundos==0 && contador==0){ //Condicion de posibilidad AND, si se cumplen todas al mismo tiempo se ejecuta la orden if (bandera==0){ a para la diferenciacion de am y pm bandera=1; }else if (bandera==1){ bandera=0; } } bilidad AND //// //se utiliz

//finlizacion de la condicional de posi

if (bandera==0){ //Condicion de posibilidad en caso de q ue bandera sea == 0 lcd_gotoxy(12,2); //Posicion del cursor en la LCD printf(lcd_putc,"am"); // me imprime "am" en caso de que la co ndicional sea cierta // }else if (bandera==1){ //finalizacion de la primera condiciona l. Si la primera condicional no se cumple entonces bandera == 1 lcd_gotoxy(12,2); // Posiciona del cursor // printf(lcd_putc,"pm"); //Imprime "pm" en caso de que la segund a condicional sea cierta ////

//finlizacion de la segunda condicional

if (horas==13){ //Condicion especial para que el reloj no muestre la hora militar de 24 horas sino la de 12 horas=1; //Si la condicional se cumple, entonces hacemos de horas 13 = horas 1 } //finlizacionde la condicional //// } } /////////////////////finliza del programa ////////////////

También podría gustarte