LCD contadores

Dependencies:   Debounced TextLCDjj mbed

main.cpp

Committer:
jomapi
Date:
2013-11-18
Revision:
0:0623d9c8afdd

File content as of revision 0:0623d9c8afdd:

#include "mbed.h"
#include "TextLCD.h"
#include "DebouncedIn.h"

TextLCD LCD(PTC10, PTC11, PTC12, PTC13, PTC16, PTC17); // rs, e, d4-d7
DebouncedIn mas(PTE2);
DebouncedIn menos(PTE3);
DebouncedIn salto(PTE4);

int main() {

    LCD.cls();
    LCD.locate(0,0);
    LCD.printf("Sp:");
    
    LCD.locate(9,0);
    LCD.printf("Kp:");
    
    LCD.locate(0,1);
    LCD.printf("Ki:");
    
    LCD.locate(9,1);
    LCD.printf("Kd:");
    
    //LCD.writeCommand(0x0F);
    
    int i=0;
    int j=0;
    int k=0;
    int l=0;
    int m=0;
    while(1) {
       if (salto.falling()){
          ++i;
          if (i>3){
            i=0;
          }
       }
       
       if (i==0){
          LCD.locate(2,0);
          LCD.printf(":");
          LCD.writeCommand(0x0F);  
          LCD.printf("%d", j);
          if (mas.falling()){
          LCD.locate(3,0);
          
           j++;
           LCD.printf("%d", j);
          }   
          if (menos.falling()){
          LCD.locate(3,0);
          LCD.printf("   ");
          LCD.locate(3,0);
           --j;
         
           if (j<1){
             j=0;
              LCD.locate(3,0);
              LCD.printf("   ");
              LCD.locate(3,0);
              LCD.printf("%d", j);
              LCD.writeCommand(0x0F);  
              
            }
           LCD.printf("%d", j);
          }  
       }
       
        if (i==1){
          LCD.locate(11,0);
          LCD.printf(":");
          LCD.writeCommand(0x0F);   
         
           LCD.printf("%d", k);
          if (mas.falling()){
          LCD.locate(12,0);
           k++;
           LCD.printf("%d", k);
          }        
          if (menos.falling()){
          LCD.locate(12,0);
           --k;
           
           if (k<1){
             k=0;
              LCD.locate(12,0);
              LCD.printf("%d", k);
              LCD.writeCommand(0x0F);  
              
           }
           LCD.printf("%d", k);
          }
        if (i==2){
          LCD.locate(2,1);
          LCD.printf(":");
          LCD.writeCommand(0x0F); 
            
            if (mas.falling()){
          LCD.locate(3,1);
           l++;
           LCD.printf("%d", l);
          }   
          if (menos.falling()){
          LCD.locate(3,1);
           --l;
         
           if (l<1){
             l=0;
              LCD.locate(3,1);
              LCD.printf("%d", l);
              LCD.writeCommand(0x0F);  
              
           }
           LCD.printf("%d", l);
          }  
       }
       }
        if (i==3){
          LCD.locate(11,1);
          LCD.printf(":");
          LCD.writeCommand(0x0F);
          if (mas.falling()){
          LCD.locate(12,1);
           m++;
           LCD.printf("%d", m);
          }        
          if (menos.falling()){
          LCD.locate(12,1);
           --m;
           
           if (m<1){
             m=0;
              LCD.locate(12,1);
              LCD.printf("%d", m);
              LCD.writeCommand(0x0F);  
              
           }
           LCD.printf("%d", m);         
       }
        wait(0.2);
       
    }
}
}