el mena mlp

Dependencies:   TextLCD mbed

Committer:
rafaelencinas94
Date:
Wed Oct 26 03:46:59 2016 +0000
Revision:
0:647f48065f96
mlp mena

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rafaelencinas94 0:647f48065f96 1 #include "mbed.h"
rafaelencinas94 0:647f48065f96 2 #include "TextLCD.h"
rafaelencinas94 0:647f48065f96 3
rafaelencinas94 0:647f48065f96 4
rafaelencinas94 0:647f48065f96 5 //------------------------------------
rafaelencinas94 0:647f48065f96 6 // Hyperterminal configuration
rafaelencinas94 0:647f48065f96 7 // 9600 bauds, 8-bit data, no parity
rafaelencinas94 0:647f48065f96 8 //------------------------------------
rafaelencinas94 0:647f48065f96 9
rafaelencinas94 0:647f48065f96 10 Serial pc(SERIAL_TX, SERIAL_RX);
rafaelencinas94 0:647f48065f96 11
rafaelencinas94 0:647f48065f96 12 Ticker timer;
rafaelencinas94 0:647f48065f96 13 TextLCD lcd(D2,D3,D4,D5,D6,D7);
rafaelencinas94 0:647f48065f96 14 DigitalOut myled(LED1);
rafaelencinas94 0:647f48065f96 15 int sec=57;
rafaelencinas94 0:647f48065f96 16 int min=59;
rafaelencinas94 0:647f48065f96 17 int hor=23;
rafaelencinas94 0:647f48065f96 18 int dia=24;
rafaelencinas94 0:647f48065f96 19 int mes=3;
rafaelencinas94 0:647f48065f96 20 int ano=1999;
rafaelencinas94 0:647f48065f96 21 int p;
rafaelencinas94 0:647f48065f96 22 int q;
rafaelencinas94 0:647f48065f96 23 int r;
rafaelencinas94 0:647f48065f96 24 int bis;
rafaelencinas94 0:647f48065f96 25
rafaelencinas94 0:647f48065f96 26 void calc();
rafaelencinas94 0:647f48065f96 27
rafaelencinas94 0:647f48065f96 28
rafaelencinas94 0:647f48065f96 29 int main() {
rafaelencinas94 0:647f48065f96 30
rafaelencinas94 0:647f48065f96 31 timer.attach(&calc, 1);
rafaelencinas94 0:647f48065f96 32 myled = 1;
rafaelencinas94 0:647f48065f96 33 }
rafaelencinas94 0:647f48065f96 34
rafaelencinas94 0:647f48065f96 35
rafaelencinas94 0:647f48065f96 36 void calc()
rafaelencinas94 0:647f48065f96 37 {
rafaelencinas94 0:647f48065f96 38 myled = !myled;
rafaelencinas94 0:647f48065f96 39 sec=sec+1;
rafaelencinas94 0:647f48065f96 40 if(sec==60)
rafaelencinas94 0:647f48065f96 41 {
rafaelencinas94 0:647f48065f96 42 min=min+1;
rafaelencinas94 0:647f48065f96 43 sec=00;
rafaelencinas94 0:647f48065f96 44 }
rafaelencinas94 0:647f48065f96 45 if(min==60)
rafaelencinas94 0:647f48065f96 46 {
rafaelencinas94 0:647f48065f96 47 hor=hor+1;
rafaelencinas94 0:647f48065f96 48 min=00;
rafaelencinas94 0:647f48065f96 49 }
rafaelencinas94 0:647f48065f96 50 if(hor==24)
rafaelencinas94 0:647f48065f96 51 {
rafaelencinas94 0:647f48065f96 52 hor=0;
rafaelencinas94 0:647f48065f96 53 dia=dia+1;
rafaelencinas94 0:647f48065f96 54 }
rafaelencinas94 0:647f48065f96 55 // checar si es año bisiesto, vamoa hacer unos calculos alv >:v
rafaelencinas94 0:647f48065f96 56 if(ano%4==0)
rafaelencinas94 0:647f48065f96 57 {
rafaelencinas94 0:647f48065f96 58 p=1;
rafaelencinas94 0:647f48065f96 59 }
rafaelencinas94 0:647f48065f96 60 else
rafaelencinas94 0:647f48065f96 61 {
rafaelencinas94 0:647f48065f96 62 p=0;
rafaelencinas94 0:647f48065f96 63 }
rafaelencinas94 0:647f48065f96 64
rafaelencinas94 0:647f48065f96 65 if(ano%100==0)
rafaelencinas94 0:647f48065f96 66 {
rafaelencinas94 0:647f48065f96 67 q=0;
rafaelencinas94 0:647f48065f96 68 }
rafaelencinas94 0:647f48065f96 69 else
rafaelencinas94 0:647f48065f96 70 {
rafaelencinas94 0:647f48065f96 71 q=1;
rafaelencinas94 0:647f48065f96 72 }
rafaelencinas94 0:647f48065f96 73 if(ano%400==0)
rafaelencinas94 0:647f48065f96 74 {
rafaelencinas94 0:647f48065f96 75 r=1;
rafaelencinas94 0:647f48065f96 76 }
rafaelencinas94 0:647f48065f96 77 else
rafaelencinas94 0:647f48065f96 78 {
rafaelencinas94 0:647f48065f96 79 r=0;
rafaelencinas94 0:647f48065f96 80 }
rafaelencinas94 0:647f48065f96 81 if(p*(q+r)>=1)
rafaelencinas94 0:647f48065f96 82 {
rafaelencinas94 0:647f48065f96 83 bis=1;
rafaelencinas94 0:647f48065f96 84 }
rafaelencinas94 0:647f48065f96 85 else
rafaelencinas94 0:647f48065f96 86 {
rafaelencinas94 0:647f48065f96 87 bis=0;
rafaelencinas94 0:647f48065f96 88 }
rafaelencinas94 0:647f48065f96 89 // si bis=1 es bisieto, febrero tiene 29 dias
rafaelencinas94 0:647f48065f96 90 //if para checar si es mes de 30 o 31 dias
rafaelencinas94 0:647f48065f96 91 if(mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12)
rafaelencinas94 0:647f48065f96 92 {
rafaelencinas94 0:647f48065f96 93 if(dia==32)
rafaelencinas94 0:647f48065f96 94 {
rafaelencinas94 0:647f48065f96 95 dia=1;
rafaelencinas94 0:647f48065f96 96 mes=mes+1;
rafaelencinas94 0:647f48065f96 97 }
rafaelencinas94 0:647f48065f96 98 }
rafaelencinas94 0:647f48065f96 99 if(mes==4||mes==6||mes==9||mes==11)
rafaelencinas94 0:647f48065f96 100 {
rafaelencinas94 0:647f48065f96 101 if(dia==31)
rafaelencinas94 0:647f48065f96 102 {
rafaelencinas94 0:647f48065f96 103 dia=1;
rafaelencinas94 0:647f48065f96 104 mes=mes+1;
rafaelencinas94 0:647f48065f96 105 }
rafaelencinas94 0:647f48065f96 106 }
rafaelencinas94 0:647f48065f96 107 if(bis==0)//año no bisiesto
rafaelencinas94 0:647f48065f96 108 {
rafaelencinas94 0:647f48065f96 109 if(mes==2)
rafaelencinas94 0:647f48065f96 110 {
rafaelencinas94 0:647f48065f96 111
rafaelencinas94 0:647f48065f96 112 if(dia==29)
rafaelencinas94 0:647f48065f96 113 {
rafaelencinas94 0:647f48065f96 114 dia=1;
rafaelencinas94 0:647f48065f96 115 mes=mes+1;
rafaelencinas94 0:647f48065f96 116 }
rafaelencinas94 0:647f48065f96 117 }
rafaelencinas94 0:647f48065f96 118 }
rafaelencinas94 0:647f48065f96 119 if(bis==1)
rafaelencinas94 0:647f48065f96 120 {
rafaelencinas94 0:647f48065f96 121 if(mes==2)
rafaelencinas94 0:647f48065f96 122 {
rafaelencinas94 0:647f48065f96 123
rafaelencinas94 0:647f48065f96 124 if(dia==30)
rafaelencinas94 0:647f48065f96 125 {
rafaelencinas94 0:647f48065f96 126 dia=1;
rafaelencinas94 0:647f48065f96 127 mes=mes+1;
rafaelencinas94 0:647f48065f96 128 }
rafaelencinas94 0:647f48065f96 129 }
rafaelencinas94 0:647f48065f96 130 }
rafaelencinas94 0:647f48065f96 131
rafaelencinas94 0:647f48065f96 132 if(mes==13)
rafaelencinas94 0:647f48065f96 133 {
rafaelencinas94 0:647f48065f96 134 mes=1;
rafaelencinas94 0:647f48065f96 135 ano=ano+1;
rafaelencinas94 0:647f48065f96 136 }
rafaelencinas94 0:647f48065f96 137
rafaelencinas94 0:647f48065f96 138
rafaelencinas94 0:647f48065f96 139 lcd.cls();
rafaelencinas94 0:647f48065f96 140
rafaelencinas94 0:647f48065f96 141 lcd.printf("%02d/%02d/%02d",ano,mes,dia);
rafaelencinas94 0:647f48065f96 142 lcd.locate(0,1);
rafaelencinas94 0:647f48065f96 143 lcd.printf("%02d:%02d:%02d",hor,min,sec);
rafaelencinas94 0:647f48065f96 144
rafaelencinas94 0:647f48065f96 145 }