Contador digital de 24 horas mediante display LCD 16x2
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 //Reloj Digital 00002 00003 #include "mbed.h" 00004 #include "TextLCD.h" //Librería para control de display LCD 00005 00006 TextLCD lcd(p15, p16, p17, p18, p19, p20); /* Asignación de pines 00007 para rs, e, d4, d5. d6,d7*/ 00008 00009 //Contadores para cada dígito 00010 int seg1=0; //Variable para contador de unidades de segundo 00011 int seg2=0; //Variable para contador de décimas de segundo 00012 int min1=0; //Variable para contador de unidades de minuto 00013 int min2=0; //Variable para contador de décimas de minuto 00014 int hor1=0; //Variable para contador de unidades de hora 00015 int hor2=0; //Variable para contador de décimas de hora 00016 00017 void reloj(){//Subrutina para generar reloj de 6 segmentos 00018 lcd.locate(11,1);//Posicionamiento de las unidades de segundo 00019 lcd.printf("%i", seg1); 00020 lcd.locate(10,1);//Posicionamiento de las décimas de segundo 00021 lcd.printf("%i",seg2); 00022 lcd.locate(9,1);//Posicionamiento del doble punto 00023 lcd.printf(":"); 00024 lcd.locate(8,1);//Posicionamiento de las unidades de minuto 00025 lcd.printf("%i",min1); 00026 lcd.locate(7,1);//Posicionamiento de las décimas de minuto 00027 lcd.printf("%i",min2); 00028 lcd.locate(6,1);//Posicionamiento del punto doble 00029 lcd.printf(":"); 00030 lcd.locate(5,1);//Posicionamiento de las unidades de minuto 00031 lcd.printf("%i",hor1); 00032 lcd.locate(4,1);//Posicionamiento de las décimas de minuto 00033 lcd.printf("%i",hor2); 00034 } 00035 00036 00037 int main() { 00038 00039 lcd.cls(); //Limpia el LCD 00040 lcd.locate(2, 0); //Posiciona en columna 2, fila 0) 00041 lcd.printf("Reloj digital"); //Imprime en LCD "Reloj digital" 00042 00043 while (1){ 00044 00045 reloj(); //Llama a subrutina 00046 00047 seg1++; //Inician el primer contador de unidades de segundo 00048 wait(1); //Genera tiempo de un segundo 00049 if (seg1==10){ 00050 seg2++;//Contador décimas de segundo 00051 seg1=0; 00052 if (seg2==6){ 00053 min1++;//Contador unidades de minuto 00054 seg2=0; 00055 if (min1==10){ 00056 min2++;//Contador décimas de minuto 00057 min1=0; 00058 if(min2==6){ 00059 hor1++;//Contador unidades de hora 00060 min2=0; 00061 if(hor1==10){ 00062 hor2++;//Contador décimas de hora 00063 hor1=0; 00064 if((hor2==2)&&(hor1==4)){/*Cuando el contador llega 00065 a 24hrs, este se reinicia*/ 00066 hor2=0; 00067 hor1=0; 00068 } 00069 } 00070 } 00071 } 00072 } 00073 } 00074 } 00075 }
Generated on Sat Jul 16 2022 17:04:04 by
1.7.2