yyhgggg

Dependencies:   mbed

main.cpp

Committer:
paisa501
Date:
2014-07-10
Revision:
0:7efa0deeaf7a

File content as of revision 0:7efa0deeaf7a:

#include "mbed.h"

Ticker visualiza;
Ticker cuenta;
DigitalIn pulsador(D11);

DigitalOut led_rojo(LED1);
DigitalOut pin0(A0);
DigitalOut pin1(A1);DigitalOut pin2(A2);DigitalOut pin3(A3);DigitalOut pin4(A4);DigitalOut pin5(A5);DigitalOut pin6(PTE30);
DigitalOut pin7(D4); DigitalOut pin8(D5); DigitalOut pin9(D6);DigitalOut pin10(D7);DigitalOut pin11(D8);DigitalOut pin12(D9);DigitalOut pin13(D10);
BusOut transistores(D0,D1);
BusOut segmentos (A0,A1,A2,A3,A4,A5,PTE30);
BusOut transistores2(D2, D3);
BusOut segmentos2 (D4,D5,D6,D7, D8,D9, D10);  
// tabla de segmentos
const char seg[10] = { 0x3f, 0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
const char seg2[10] = {0x6f, 0x7f, 0x07,0x7d, 0x6d,0x66,0x4f,0x5b,0x06,0x3f}; 
char unidades,decenas, miliunidades, milidecenas;
void cambio(){
      static bool bandera;
   bandera = !bandera;
  
     if (bandera){
              segmentos = seg[unidades];
              transistores = 0x2;
              segmentos2 = seg[miliunidades];
              transistores2 = 0x2;
              } 
         else  {
              segmentos = seg[decenas];
              transistores = 0x1;
             segmentos2 = seg[milidecenas];
              transistores2 = 0x1; } 
               

               }
void retroceso (){
     static bool bandera2;
   bandera2 = !bandera2;
  
     if (bandera2){
              segmentos = seg2[unidades];
              transistores = 0x2;
              segmentos2 = seg2[miliunidades];
              transistores2 = 0x2;
              } 
         else  {
              segmentos = seg2[decenas];
              transistores = 0x1;   
              segmentos2 = seg2[milidecenas];
              transistores2 = 0x1; }  
   }
void conteo (){
        
        miliunidades++;
        if (miliunidades > 9) 
           {milidecenas++; miliunidades =0;}
        if (milidecenas > 9)
           {unidades++; milidecenas =0;}
             if (unidades > 9) 
            {decenas++; unidades = 0;}
             if (decenas > 9) 
            {     
miliunidades = 0;
milidecenas = 0;
unidades = 0;
decenas = 0;  
transistores = 0x3; transistores2 = 0x3; led_rojo = 0; wait (0.2);
transistores = 0x0; transistores2 = 0x0; led_rojo = 1;wait (0.2);
transistores = 0x3; transistores2 = 0x3; led_rojo = 0;wait (0.2);
transistores = 0x0; transistores2 = 0x0; led_rojo = 1;wait (0.2);
transistores = 0x3; transistores2 = 0x3; led_rojo = 0;wait (0.2);
transistores = 0x0; transistores2 = 0x0; led_rojo = 1;wait (0.2); 
/*transistores = 0x3; transistores2 = 0x3;led_rojo = 0;pin0 = 1; pin1 = 1;pin2 = 1;pin3 = 1;pin4 = 1;pin5 = 1;pin6 = 1;pin7 = 1;pin8 = 1;pin9 = 1; pin10 = 1;pin11 = 1;pin12 = 1;pin13 = 1; wait(0.2);
transistores = 0x0; transistores2 = 0x0;led_rojo = 1; pin0 = 0; pin1 = 0;pin2 = 0;pin3 = 0;pin4 = 0;pin5 = 0;pin6 = 0;pin7 = 0;pin8 = 0;pin9 = 0; pin10 = 0;pin11 = 0;pin12 = 0;pin13 = 0; wait(0.2);

transistores = 0x3; transistores2 = 0x3;led_rojo = 0;pin0 = 1; pin1 = 1;pin2 = 1;pin3 = 1;pin4 = 1;pin5 = 1;pin6 = 1;pin7 = 1;pin8 = 1;pin9 = 1; pin10 = 1;pin11 = 1;pin12 = 1;pin13 = 1; wait(0.2);
transistores = 0x0; transistores2 = 0x0;led_rojo = 1; pin0 = 0; pin1 = 0;pin2 = 0;pin3 = 0;pin4 = 0;pin5 = 0;pin6 = 0;pin7 = 0;pin8 = 0;pin9 = 0; pin10 = 0;pin11 = 0;pin12 = 0;pin13 = 0; wait(0.2);

transistores = 0x3; transistores2 = 0x3;led_rojo = 0;pin0 = 1; pin1 = 1;pin2 = 1;pin3 = 1;pin4 = 1;pin5 = 1;pin6 = 1;pin7 = 1;pin8 = 1;pin9 = 1; pin10 = 1;pin11 = 1;pin12 = 1;pin13 = 1; wait(0.2);
transistores = 0x0; transistores2 = 0x0;led_rojo = 1;pin0 = 0; pin1 = 0;pin2 = 0;pin3 = 0;pin4 = 0;pin5 = 0;pin6 = 0;pin7 = 0;pin8 = 0;pin9 = 0; pin10 = 0;pin11 = 0;pin12 = 0;pin13 = 0; wait(0.2);*/
 
}
}

int main(void)
{
transistores = 0x0;          
transistores2 = 0x0;
led_rojo = 1;


  while(1){
 
    if (pulsador==0){
        wait (0.8);
        miliunidades = 0;
        milidecenas = 0;
        unidades = 0;
        decenas = 0;
   cuenta.attach(&conteo,0.01);
visualiza.attach(&cambio,0.008333);

 } 
 if (pulsador==0){
        wait (0.8);
        miliunidades = 0;
        milidecenas = 0;
        unidades = 0;
        decenas = 0;
     
    cuenta.attach(&conteo,0.01);
visualiza.attach(&retroceso,0.008333);

 }
 } }