
el mena mlp
Diff: main.cpp
- Revision:
- 0:647f48065f96
diff -r 000000000000 -r 647f48065f96 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Oct 26 03:46:59 2016 +0000 @@ -0,0 +1,145 @@ +#include "mbed.h" +#include "TextLCD.h" + + +//------------------------------------ +// Hyperterminal configuration +// 9600 bauds, 8-bit data, no parity +//------------------------------------ + +Serial pc(SERIAL_TX, SERIAL_RX); + +Ticker timer; +TextLCD lcd(D2,D3,D4,D5,D6,D7); +DigitalOut myled(LED1); +int sec=57; +int min=59; +int hor=23; +int dia=24; +int mes=3; +int ano=1999; +int p; +int q; +int r; +int bis; + +void calc(); + + +int main() { + + timer.attach(&calc, 1); +myled = 1; + } + + +void calc() +{ + myled = !myled; + sec=sec+1; + if(sec==60) + { + min=min+1; + sec=00; + } + if(min==60) + { + hor=hor+1; + min=00; + } + if(hor==24) + { + hor=0; + dia=dia+1; + } + // checar si es año bisiesto, vamoa hacer unos calculos alv >:v + if(ano%4==0) + { + p=1; + } + else + { + p=0; + } + + if(ano%100==0) + { + q=0; + } + else + { + q=1; + } + if(ano%400==0) + { + r=1; + } + else + { + r=0; + } + if(p*(q+r)>=1) + { + bis=1; + } + else + { + bis=0; + } + // si bis=1 es bisieto, febrero tiene 29 dias + //if para checar si es mes de 30 o 31 dias + if(mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12) + { + if(dia==32) + { + dia=1; + mes=mes+1; + } + } + if(mes==4||mes==6||mes==9||mes==11) + { + if(dia==31) + { + dia=1; + mes=mes+1; + } + } + if(bis==0)//año no bisiesto + { + if(mes==2) + { + + if(dia==29) + { + dia=1; + mes=mes+1; + } + } + } + if(bis==1) + { + if(mes==2) + { + + if(dia==30) + { + dia=1; + mes=mes+1; + } + } + } + + if(mes==13) + { + mes=1; + ano=ano+1; + } + + + lcd.cls(); + + lcd.printf("%02d/%02d/%02d",ano,mes,dia); + lcd.locate(0,1); + lcd.printf("%02d:%02d:%02d",hor,min,sec); + +}