
yyhgggg
main.cpp@0:7efa0deeaf7a, 2014-07-10 (annotated)
- Committer:
- paisa501
- Date:
- Thu Jul 10 23:26:54 2014 +0000
- Revision:
- 0:7efa0deeaf7a
orto
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
paisa501 | 0:7efa0deeaf7a | 1 | #include "mbed.h" |
paisa501 | 0:7efa0deeaf7a | 2 | |
paisa501 | 0:7efa0deeaf7a | 3 | Ticker visualiza; |
paisa501 | 0:7efa0deeaf7a | 4 | Ticker cuenta; |
paisa501 | 0:7efa0deeaf7a | 5 | DigitalIn pulsador(D11); |
paisa501 | 0:7efa0deeaf7a | 6 | |
paisa501 | 0:7efa0deeaf7a | 7 | DigitalOut led_rojo(LED1); |
paisa501 | 0:7efa0deeaf7a | 8 | DigitalOut pin0(A0); |
paisa501 | 0:7efa0deeaf7a | 9 | DigitalOut pin1(A1);DigitalOut pin2(A2);DigitalOut pin3(A3);DigitalOut pin4(A4);DigitalOut pin5(A5);DigitalOut pin6(PTE30); |
paisa501 | 0:7efa0deeaf7a | 10 | DigitalOut pin7(D4); DigitalOut pin8(D5); DigitalOut pin9(D6);DigitalOut pin10(D7);DigitalOut pin11(D8);DigitalOut pin12(D9);DigitalOut pin13(D10); |
paisa501 | 0:7efa0deeaf7a | 11 | BusOut transistores(D0,D1); |
paisa501 | 0:7efa0deeaf7a | 12 | BusOut segmentos (A0,A1,A2,A3,A4,A5,PTE30); |
paisa501 | 0:7efa0deeaf7a | 13 | BusOut transistores2(D2, D3); |
paisa501 | 0:7efa0deeaf7a | 14 | BusOut segmentos2 (D4,D5,D6,D7, D8,D9, D10); |
paisa501 | 0:7efa0deeaf7a | 15 | // tabla de segmentos |
paisa501 | 0:7efa0deeaf7a | 16 | const char seg[10] = { 0x3f, 0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; |
paisa501 | 0:7efa0deeaf7a | 17 | const char seg2[10] = {0x6f, 0x7f, 0x07,0x7d, 0x6d,0x66,0x4f,0x5b,0x06,0x3f}; |
paisa501 | 0:7efa0deeaf7a | 18 | char unidades,decenas, miliunidades, milidecenas; |
paisa501 | 0:7efa0deeaf7a | 19 | void cambio(){ |
paisa501 | 0:7efa0deeaf7a | 20 | static bool bandera; |
paisa501 | 0:7efa0deeaf7a | 21 | bandera = !bandera; |
paisa501 | 0:7efa0deeaf7a | 22 | |
paisa501 | 0:7efa0deeaf7a | 23 | if (bandera){ |
paisa501 | 0:7efa0deeaf7a | 24 | segmentos = seg[unidades]; |
paisa501 | 0:7efa0deeaf7a | 25 | transistores = 0x2; |
paisa501 | 0:7efa0deeaf7a | 26 | segmentos2 = seg[miliunidades]; |
paisa501 | 0:7efa0deeaf7a | 27 | transistores2 = 0x2; |
paisa501 | 0:7efa0deeaf7a | 28 | } |
paisa501 | 0:7efa0deeaf7a | 29 | else { |
paisa501 | 0:7efa0deeaf7a | 30 | segmentos = seg[decenas]; |
paisa501 | 0:7efa0deeaf7a | 31 | transistores = 0x1; |
paisa501 | 0:7efa0deeaf7a | 32 | segmentos2 = seg[milidecenas]; |
paisa501 | 0:7efa0deeaf7a | 33 | transistores2 = 0x1; } |
paisa501 | 0:7efa0deeaf7a | 34 | |
paisa501 | 0:7efa0deeaf7a | 35 | |
paisa501 | 0:7efa0deeaf7a | 36 | } |
paisa501 | 0:7efa0deeaf7a | 37 | void retroceso (){ |
paisa501 | 0:7efa0deeaf7a | 38 | static bool bandera2; |
paisa501 | 0:7efa0deeaf7a | 39 | bandera2 = !bandera2; |
paisa501 | 0:7efa0deeaf7a | 40 | |
paisa501 | 0:7efa0deeaf7a | 41 | if (bandera2){ |
paisa501 | 0:7efa0deeaf7a | 42 | segmentos = seg2[unidades]; |
paisa501 | 0:7efa0deeaf7a | 43 | transistores = 0x2; |
paisa501 | 0:7efa0deeaf7a | 44 | segmentos2 = seg2[miliunidades]; |
paisa501 | 0:7efa0deeaf7a | 45 | transistores2 = 0x2; |
paisa501 | 0:7efa0deeaf7a | 46 | } |
paisa501 | 0:7efa0deeaf7a | 47 | else { |
paisa501 | 0:7efa0deeaf7a | 48 | segmentos = seg2[decenas]; |
paisa501 | 0:7efa0deeaf7a | 49 | transistores = 0x1; |
paisa501 | 0:7efa0deeaf7a | 50 | segmentos2 = seg2[milidecenas]; |
paisa501 | 0:7efa0deeaf7a | 51 | transistores2 = 0x1; } |
paisa501 | 0:7efa0deeaf7a | 52 | } |
paisa501 | 0:7efa0deeaf7a | 53 | void conteo (){ |
paisa501 | 0:7efa0deeaf7a | 54 | |
paisa501 | 0:7efa0deeaf7a | 55 | miliunidades++; |
paisa501 | 0:7efa0deeaf7a | 56 | if (miliunidades > 9) |
paisa501 | 0:7efa0deeaf7a | 57 | {milidecenas++; miliunidades =0;} |
paisa501 | 0:7efa0deeaf7a | 58 | if (milidecenas > 9) |
paisa501 | 0:7efa0deeaf7a | 59 | {unidades++; milidecenas =0;} |
paisa501 | 0:7efa0deeaf7a | 60 | if (unidades > 9) |
paisa501 | 0:7efa0deeaf7a | 61 | {decenas++; unidades = 0;} |
paisa501 | 0:7efa0deeaf7a | 62 | if (decenas > 9) |
paisa501 | 0:7efa0deeaf7a | 63 | { |
paisa501 | 0:7efa0deeaf7a | 64 | miliunidades = 0; |
paisa501 | 0:7efa0deeaf7a | 65 | milidecenas = 0; |
paisa501 | 0:7efa0deeaf7a | 66 | unidades = 0; |
paisa501 | 0:7efa0deeaf7a | 67 | decenas = 0; |
paisa501 | 0:7efa0deeaf7a | 68 | transistores = 0x3; transistores2 = 0x3; led_rojo = 0; wait (0.2); |
paisa501 | 0:7efa0deeaf7a | 69 | transistores = 0x0; transistores2 = 0x0; led_rojo = 1;wait (0.2); |
paisa501 | 0:7efa0deeaf7a | 70 | transistores = 0x3; transistores2 = 0x3; led_rojo = 0;wait (0.2); |
paisa501 | 0:7efa0deeaf7a | 71 | transistores = 0x0; transistores2 = 0x0; led_rojo = 1;wait (0.2); |
paisa501 | 0:7efa0deeaf7a | 72 | transistores = 0x3; transistores2 = 0x3; led_rojo = 0;wait (0.2); |
paisa501 | 0:7efa0deeaf7a | 73 | transistores = 0x0; transistores2 = 0x0; led_rojo = 1;wait (0.2); |
paisa501 | 0:7efa0deeaf7a | 74 | /*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); |
paisa501 | 0:7efa0deeaf7a | 75 | 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); |
paisa501 | 0:7efa0deeaf7a | 76 | |
paisa501 | 0:7efa0deeaf7a | 77 | 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); |
paisa501 | 0:7efa0deeaf7a | 78 | 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); |
paisa501 | 0:7efa0deeaf7a | 79 | |
paisa501 | 0:7efa0deeaf7a | 80 | 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); |
paisa501 | 0:7efa0deeaf7a | 81 | 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);*/ |
paisa501 | 0:7efa0deeaf7a | 82 | |
paisa501 | 0:7efa0deeaf7a | 83 | } |
paisa501 | 0:7efa0deeaf7a | 84 | } |
paisa501 | 0:7efa0deeaf7a | 85 | |
paisa501 | 0:7efa0deeaf7a | 86 | int main(void) |
paisa501 | 0:7efa0deeaf7a | 87 | { |
paisa501 | 0:7efa0deeaf7a | 88 | transistores = 0x0; |
paisa501 | 0:7efa0deeaf7a | 89 | transistores2 = 0x0; |
paisa501 | 0:7efa0deeaf7a | 90 | led_rojo = 1; |
paisa501 | 0:7efa0deeaf7a | 91 | |
paisa501 | 0:7efa0deeaf7a | 92 | |
paisa501 | 0:7efa0deeaf7a | 93 | while(1){ |
paisa501 | 0:7efa0deeaf7a | 94 | |
paisa501 | 0:7efa0deeaf7a | 95 | if (pulsador==0){ |
paisa501 | 0:7efa0deeaf7a | 96 | wait (0.8); |
paisa501 | 0:7efa0deeaf7a | 97 | miliunidades = 0; |
paisa501 | 0:7efa0deeaf7a | 98 | milidecenas = 0; |
paisa501 | 0:7efa0deeaf7a | 99 | unidades = 0; |
paisa501 | 0:7efa0deeaf7a | 100 | decenas = 0; |
paisa501 | 0:7efa0deeaf7a | 101 | cuenta.attach(&conteo,0.01); |
paisa501 | 0:7efa0deeaf7a | 102 | visualiza.attach(&cambio,0.008333); |
paisa501 | 0:7efa0deeaf7a | 103 | |
paisa501 | 0:7efa0deeaf7a | 104 | } |
paisa501 | 0:7efa0deeaf7a | 105 | if (pulsador==0){ |
paisa501 | 0:7efa0deeaf7a | 106 | wait (0.8); |
paisa501 | 0:7efa0deeaf7a | 107 | miliunidades = 0; |
paisa501 | 0:7efa0deeaf7a | 108 | milidecenas = 0; |
paisa501 | 0:7efa0deeaf7a | 109 | unidades = 0; |
paisa501 | 0:7efa0deeaf7a | 110 | decenas = 0; |
paisa501 | 0:7efa0deeaf7a | 111 | |
paisa501 | 0:7efa0deeaf7a | 112 | cuenta.attach(&conteo,0.01); |
paisa501 | 0:7efa0deeaf7a | 113 | visualiza.attach(&retroceso,0.008333); |
paisa501 | 0:7efa0deeaf7a | 114 | |
paisa501 | 0:7efa0deeaf7a | 115 | } |
paisa501 | 0:7efa0deeaf7a | 116 | } } |
paisa501 | 0:7efa0deeaf7a | 117 | |
paisa501 | 0:7efa0deeaf7a | 118 |