el mena mlp

Dependencies:   TextLCD mbed

main.cpp

Committer:
rafaelencinas94
Date:
2016-10-26
Revision:
0:647f48065f96

File content as of revision 0:647f48065f96:

#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);   
      
}