programa simple mide tiempo en segundos desde pulsar un botón hasta restablecerlo, aplica la función timer

Dependencies:   Debounced TextLCD mbed

Fork of teclas_aceleradas by Gustavo Ramirez

Committer:
tony63
Date:
Fri Mar 17 05:24:32 2017 +0000
Revision:
1:805cb7a5f18a
Parent:
0:a33e7761911a
m?todo de ingreso e datos por pulsadores con efecto incremental tanto para aumentar como para disminuir

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tony63 0:a33e7761911a 1 #include "mbed.h"
tony63 0:a33e7761911a 2 #include "DebouncedIn.h"
tony63 0:a33e7761911a 3 #include "TextLCD.h"
tony63 0:a33e7761911a 4
tony63 0:a33e7761911a 5 TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7
tony63 0:a33e7761911a 6 DigitalOut led1(LED1);
tony63 0:a33e7761911a 7 DigitalOut led2(LED2);
tony63 0:a33e7761911a 8 DigitalOut led3(LED3);
tony63 0:a33e7761911a 9 DebouncedIn button1(PTC12); //incrementar
tony63 0:a33e7761911a 10 DebouncedIn button2(PTC13); //decrementar
tony63 0:a33e7761911a 11
tony63 0:a33e7761911a 12 int sp=0;
tony63 0:a33e7761911a 13 int t1;
tony63 1:805cb7a5f18a 14
tony63 0:a33e7761911a 15 int main()
tony63 0:a33e7761911a 16 {
tony63 0:a33e7761911a 17 lcd.cls();
tony63 0:a33e7761911a 18 lcd.locate(0,0);
tony63 0:a33e7761911a 19 lcd.printf("T=");
tony63 0:a33e7761911a 20
tony63 0:a33e7761911a 21 Timer t;
tony63 1:805cb7a5f18a 22 t.stop();
tony63 1:805cb7a5f18a 23 t.reset();
tony63 0:a33e7761911a 24 while(1){
tony63 0:a33e7761911a 25 if (button1.falling()){
tony63 0:a33e7761911a 26 t.reset();
tony63 1:805cb7a5f18a 27 t.start(); }
tony63 1:805cb7a5f18a 28 t1=t.read();
tony63 0:a33e7761911a 29
tony63 1:805cb7a5f18a 30 if (!button1 and t1<6){
tony63 1:805cb7a5f18a 31 wait(0.1);
tony63 1:805cb7a5f18a 32 ++sp;
tony63 1:805cb7a5f18a 33 }
tony63 1:805cb7a5f18a 34 if (!button1 and t1>5 and t1<11){
tony63 1:805cb7a5f18a 35 sp=sp+10;
tony63 1:805cb7a5f18a 36 }
tony63 1:805cb7a5f18a 37 if (!button1 and t1>10 and t1<16){
tony63 1:805cb7a5f18a 38 sp=sp+50;
tony63 1:805cb7a5f18a 39 }
tony63 1:805cb7a5f18a 40 if (button1.rising()){
tony63 1:805cb7a5f18a 41 t.reset();
tony63 1:805cb7a5f18a 42 t.start(); }
tony63 0:a33e7761911a 43
tony63 0:a33e7761911a 44
tony63 0:a33e7761911a 45
tony63 1:805cb7a5f18a 46 if (button2.falling()){
tony63 1:805cb7a5f18a 47 t.reset();
tony63 1:805cb7a5f18a 48 t.start(); }
tony63 1:805cb7a5f18a 49 t1=t.read();
tony63 1:805cb7a5f18a 50 if (!button2 and t1<6){
tony63 1:805cb7a5f18a 51 wait(0.1);
tony63 1:805cb7a5f18a 52 --sp;
tony63 1:805cb7a5f18a 53 }
tony63 1:805cb7a5f18a 54 if (!button2 and t1>5 and t1<11){
tony63 1:805cb7a5f18a 55 sp=sp-10;
tony63 1:805cb7a5f18a 56 }
tony63 1:805cb7a5f18a 57 if (!button2 and t1>10 and t1<16){
tony63 1:805cb7a5f18a 58 sp=sp-50;
tony63 1:805cb7a5f18a 59 }
tony63 1:805cb7a5f18a 60 if (button2.rising()){
tony63 1:805cb7a5f18a 61 t.reset();
tony63 1:805cb7a5f18a 62 t.start(); }
tony63 1:805cb7a5f18a 63
tony63 1:805cb7a5f18a 64 if (sp>999){
tony63 1:805cb7a5f18a 65 sp=1000;
tony63 1:805cb7a5f18a 66 }
tony63 1:805cb7a5f18a 67 if (sp<0){
tony63 1:805cb7a5f18a 68 sp=0;
tony63 1:805cb7a5f18a 69 }
tony63 1:805cb7a5f18a 70 lcd.locate(2,0);
tony63 1:805cb7a5f18a 71 lcd.printf("%d",sp);
tony63 1:805cb7a5f18a 72 wait(0.2);
tony63 1:805cb7a5f18a 73 lcd.locate(2,0);
tony63 1:805cb7a5f18a 74 lcd.printf(" ");
tony63 0:a33e7761911a 75
tony63 1:805cb7a5f18a 76 }
tony63 1:805cb7a5f18a 77 }