Fernando Maraz / Mbed 2 deprecated ATRAPALUZ

Dependencies:   mbed

Committer:
fm_4186
Date:
Sat Jun 04 22:36:50 2022 +0000
Revision:
0:e30c05ee1b0a
Child:
1:a8699ad87eee
Atrapa la luz

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fm_4186 0:e30c05ee1b0a 1
fm_4186 0:e30c05ee1b0a 2 #include "mbed.h"
fm_4186 0:e30c05ee1b0a 3 #define CANT_PULSADORES 2
fm_4186 0:e30c05ee1b0a 4 Serial pc(USBTX, USBRX);
fm_4186 0:e30c05ee1b0a 5 Ticker tick;
fm_4186 0:e30c05ee1b0a 6 BusOut leds(D10,D9,D8,D6,D5,D4,D3,D2);
fm_4186 0:e30c05ee1b0a 7 DigitalOut A_D(PTB8);
fm_4186 0:e30c05ee1b0a 8 DigitalOut B_D(PTB9);
fm_4186 0:e30c05ee1b0a 9 DigitalOut C_D(PTB10);
fm_4186 0:e30c05ee1b0a 10 DigitalOut D_D(PTB11);
fm_4186 0:e30c05ee1b0a 11 DigitalOut E_D(PTE2);
fm_4186 0:e30c05ee1b0a 12 DigitalOut F_D(PTE3);
fm_4186 0:e30c05ee1b0a 13 DigitalOut G_D(PTE4);
fm_4186 0:e30c05ee1b0a 14 DigitalOut CAT(PTE5);
fm_4186 0:e30c05ee1b0a 15 BusIn pulsadores (D12,D11);
fm_4186 0:e30c05ee1b0a 16 int tiempo=0;
fm_4186 0:e30c05ee1b0a 17 int tiempo2=0;
fm_4186 0:e30c05ee1b0a 18 int valor = 0;
fm_4186 0:e30c05ee1b0a 19 int display=1;
fm_4186 0:e30c05ee1b0a 20 void funcion();
fm_4186 0:e30c05ee1b0a 21 void flip()
fm_4186 0:e30c05ee1b0a 22 {
fm_4186 0:e30c05ee1b0a 23 funcion(); //coloco acà la fuciòn para que se ejecute todo el tiempo
fm_4186 0:e30c05ee1b0a 24 if(tiempo<=50000) {
fm_4186 0:e30c05ee1b0a 25 tiempo++;
fm_4186 0:e30c05ee1b0a 26 }
fm_4186 0:e30c05ee1b0a 27 if(tiempo2<=800) {
fm_4186 0:e30c05ee1b0a 28 tiempo2++;
fm_4186 0:e30c05ee1b0a 29 }
fm_4186 0:e30c05ee1b0a 30 }
fm_4186 0:e30c05ee1b0a 31 int Led_Step(); // declaro las funciones
fm_4186 0:e30c05ee1b0a 32 void Maquina_General(void);
fm_4186 0:e30c05ee1b0a 33 void inicio();
fm_4186 0:e30c05ee1b0a 34 void ganador();
fm_4186 0:e30c05ee1b0a 35 int main()
fm_4186 0:e30c05ee1b0a 36 {
fm_4186 0:e30c05ee1b0a 37 tick.attach(&flip, 0.01);
fm_4186 0:e30c05ee1b0a 38 pulsadores[0].mode(PullNone);
fm_4186 0:e30c05ee1b0a 39 pulsadores[1].mode(PullNone);
fm_4186 0:e30c05ee1b0a 40 while (true) {
fm_4186 0:e30c05ee1b0a 41 Maquina_General();
fm_4186 0:e30c05ee1b0a 42 }
fm_4186 0:e30c05ee1b0a 43 }
fm_4186 0:e30c05ee1b0a 44 ///
fm_4186 0:e30c05ee1b0a 45 void Maquina_General(void)
fm_4186 0:e30c05ee1b0a 46 {
fm_4186 0:e30c05ee1b0a 47 static int estado_A = 0;
fm_4186 0:e30c05ee1b0a 48 static int led_actual = 0;
fm_4186 0:e30c05ee1b0a 49 static int puntos_a = 0,puntos_b = 0; // lo pongo static porque sino me cambia el valor de los puntos
fm_4186 0:e30c05ee1b0a 50 int a=0, b=0;
fm_4186 0:e30c05ee1b0a 51 switch(estado_A) {
fm_4186 0:e30c05ee1b0a 52 case 0:
fm_4186 0:e30c05ee1b0a 53 inicio();
fm_4186 0:e30c05ee1b0a 54 if(pulsadores[0] == 1 && pulsadores[1] == 1) {
fm_4186 0:e30c05ee1b0a 55
fm_4186 0:e30c05ee1b0a 56 estado_A = 1; //se prende el sistema
fm_4186 0:e30c05ee1b0a 57 puntos_a = 0;
fm_4186 0:e30c05ee1b0a 58 puntos_b = 0;
fm_4186 0:e30c05ee1b0a 59 tiempo=0;
fm_4186 0:e30c05ee1b0a 60 }
fm_4186 0:e30c05ee1b0a 61 break;
fm_4186 0:e30c05ee1b0a 62 case 1: //estado jugador 1
fm_4186 0:e30c05ee1b0a 63 Led_Step();
fm_4186 0:e30c05ee1b0a 64 if(tiempo>=20) { //pequeña demora para evitar problemas
fm_4186 0:e30c05ee1b0a 65 if(pulsadores[0] == 1 ) {
fm_4186 0:e30c05ee1b0a 66 leds=0;
fm_4186 0:e30c05ee1b0a 67 led_actual = Led_Step(); //valor de estado de funcion Led_Step()
fm_4186 0:e30c05ee1b0a 68 if (led_actual==8) //en caso que sea el segundo sentido y asi detectar el led en el que paro
fm_4186 0:e30c05ee1b0a 69 a=2;
fm_4186 0:e30c05ee1b0a 70 if (led_actual==9)
fm_4186 0:e30c05ee1b0a 71 a=4;
fm_4186 0:e30c05ee1b0a 72 if (led_actual==10)
fm_4186 0:e30c05ee1b0a 73 a=6;
fm_4186 0:e30c05ee1b0a 74 if (led_actual==11)
fm_4186 0:e30c05ee1b0a 75 a=8;
fm_4186 0:e30c05ee1b0a 76 if (led_actual==12)
fm_4186 0:e30c05ee1b0a 77 a=10;
fm_4186 0:e30c05ee1b0a 78 if (led_actual==13)
fm_4186 0:e30c05ee1b0a 79 a=12;
fm_4186 0:e30c05ee1b0a 80 if(led_actual > 7) {
fm_4186 0:e30c05ee1b0a 81 led_actual = led_actual - a; // coloco esta variable en su led perteneciente
fm_4186 0:e30c05ee1b0a 82 }
fm_4186 0:e30c05ee1b0a 83 leds[led_actual]=1; //2 segundos prendido
fm_4186 0:e30c05ee1b0a 84 if(led_actual == 7)
fm_4186 0:e30c05ee1b0a 85 puntos_a= puntos_a + 10; // sumo 10 puntos para luego en el multuplexado poder usar los 2 displays juntos
fm_4186 0:e30c05ee1b0a 86 valor = puntos_a + puntos_b; // valor que le llega al barrido
fm_4186 0:e30c05ee1b0a 87 estado_A = 3; // paso a la espera
fm_4186 0:e30c05ee1b0a 88 tiempo2=0; // hago que vuelva a contar el tiempo 2
fm_4186 0:e30c05ee1b0a 89 }
fm_4186 0:e30c05ee1b0a 90 }
fm_4186 0:e30c05ee1b0a 91 break;
fm_4186 0:e30c05ee1b0a 92 case 2: //estado jugador 2
fm_4186 0:e30c05ee1b0a 93 Led_Step();
fm_4186 0:e30c05ee1b0a 94 if(pulsadores[1] == 1 ) {
fm_4186 0:e30c05ee1b0a 95 leds=0;
fm_4186 0:e30c05ee1b0a 96 led_actual = Led_Step(); //valor de estado de funcion Led_Step()
fm_4186 0:e30c05ee1b0a 97 if (led_actual==8)
fm_4186 0:e30c05ee1b0a 98 b=2;
fm_4186 0:e30c05ee1b0a 99 if (led_actual==9)
fm_4186 0:e30c05ee1b0a 100 b=4;
fm_4186 0:e30c05ee1b0a 101 if (led_actual==10)
fm_4186 0:e30c05ee1b0a 102 b=6;
fm_4186 0:e30c05ee1b0a 103 if (led_actual==11)
fm_4186 0:e30c05ee1b0a 104 b=8;
fm_4186 0:e30c05ee1b0a 105 if (led_actual==12)
fm_4186 0:e30c05ee1b0a 106 b=10;
fm_4186 0:e30c05ee1b0a 107 if (led_actual==13)
fm_4186 0:e30c05ee1b0a 108 b=12;
fm_4186 0:e30c05ee1b0a 109 if(led_actual > 7) {
fm_4186 0:e30c05ee1b0a 110 led_actual = led_actual - b;
fm_4186 0:e30c05ee1b0a 111 }
fm_4186 0:e30c05ee1b0a 112 leds[led_actual]=1; //2 segundos
fm_4186 0:e30c05ee1b0a 113 if(led_actual == 0)
fm_4186 0:e30c05ee1b0a 114 puntos_b++;
fm_4186 0:e30c05ee1b0a 115 valor = puntos_a + puntos_b;
fm_4186 0:e30c05ee1b0a 116 estado_A = 4;
fm_4186 0:e30c05ee1b0a 117 tiempo2=0;
fm_4186 0:e30c05ee1b0a 118 }
fm_4186 0:e30c05ee1b0a 119 break;
fm_4186 0:e30c05ee1b0a 120 case 3: // Espero tiempo pausado jugador 1
fm_4186 0:e30c05ee1b0a 121 if(tiempo2==200) {
fm_4186 0:e30c05ee1b0a 122 leds[led_actual]=0;
fm_4186 0:e30c05ee1b0a 123 estado_A = 2;
fm_4186 0:e30c05ee1b0a 124 if(puntos_a >= 20) {
fm_4186 0:e30c05ee1b0a 125 estado_A = 0; // vuelvo al inicio asi en caso de que se desee se vuelva a iniciar el juego
fm_4186 0:e30c05ee1b0a 126 puntos_a=0; // vuelvo todo a cero por las dudas
fm_4186 0:e30c05ee1b0a 127 puntos_b=0;
fm_4186 0:e30c05ee1b0a 128 valor=0;
fm_4186 0:e30c05ee1b0a 129 }
fm_4186 0:e30c05ee1b0a 130 tiempo=0;
fm_4186 0:e30c05ee1b0a 131 }
fm_4186 0:e30c05ee1b0a 132 break;
fm_4186 0:e30c05ee1b0a 133 case 4: // Espero tiempo pausado jugador 2
fm_4186 0:e30c05ee1b0a 134 if(tiempo2==200) {
fm_4186 0:e30c05ee1b0a 135 leds[led_actual]=0;
fm_4186 0:e30c05ee1b0a 136 estado_A = 1;
fm_4186 0:e30c05ee1b0a 137 if(puntos_b >= 2) {
fm_4186 0:e30c05ee1b0a 138 estado_A = 0;
fm_4186 0:e30c05ee1b0a 139 puntos_a=0;
fm_4186 0:e30c05ee1b0a 140 puntos_b=0;
fm_4186 0:e30c05ee1b0a 141 valor=0;
fm_4186 0:e30c05ee1b0a 142 }
fm_4186 0:e30c05ee1b0a 143 tiempo=0;
fm_4186 0:e30c05ee1b0a 144 }
fm_4186 0:e30c05ee1b0a 145 break;
fm_4186 0:e30c05ee1b0a 146 }
fm_4186 0:e30c05ee1b0a 147 }
fm_4186 0:e30c05ee1b0a 148 ///
fm_4186 0:e30c05ee1b0a 149 int Led_Step(void) // funcion de secuencia ida y vuelva
fm_4186 0:e30c05ee1b0a 150 {
fm_4186 0:e30c05ee1b0a 151 static int estado = 0;
fm_4186 0:e30c05ee1b0a 152 switch(estado) {
fm_4186 0:e30c05ee1b0a 153 case 0:
fm_4186 0:e30c05ee1b0a 154 leds = 0;
fm_4186 0:e30c05ee1b0a 155 leds[0] = 1; //suma un punto jugador 2
fm_4186 0:e30c05ee1b0a 156 if(tiempo == 5) { // 0.05 SEG
fm_4186 0:e30c05ee1b0a 157 estado = 1;
fm_4186 0:e30c05ee1b0a 158 }
fm_4186 0:e30c05ee1b0a 159 break;
fm_4186 0:e30c05ee1b0a 160 case 1:
fm_4186 0:e30c05ee1b0a 161 leds=0;
fm_4186 0:e30c05ee1b0a 162 leds[1] = 1;
fm_4186 0:e30c05ee1b0a 163 if(tiempo == 10) {
fm_4186 0:e30c05ee1b0a 164 estado = 2;
fm_4186 0:e30c05ee1b0a 165 }
fm_4186 0:e30c05ee1b0a 166 break;
fm_4186 0:e30c05ee1b0a 167 case 2:
fm_4186 0:e30c05ee1b0a 168 leds=0;
fm_4186 0:e30c05ee1b0a 169 leds[2] = 1;
fm_4186 0:e30c05ee1b0a 170 if(tiempo == 15) {
fm_4186 0:e30c05ee1b0a 171 estado = 3;
fm_4186 0:e30c05ee1b0a 172 }
fm_4186 0:e30c05ee1b0a 173 break;
fm_4186 0:e30c05ee1b0a 174 case 3:
fm_4186 0:e30c05ee1b0a 175 leds=0;
fm_4186 0:e30c05ee1b0a 176 leds[3] = 1;
fm_4186 0:e30c05ee1b0a 177 if(tiempo == 20) {
fm_4186 0:e30c05ee1b0a 178 estado = 4;
fm_4186 0:e30c05ee1b0a 179 }
fm_4186 0:e30c05ee1b0a 180 break;
fm_4186 0:e30c05ee1b0a 181 case 4:
fm_4186 0:e30c05ee1b0a 182 leds=0;
fm_4186 0:e30c05ee1b0a 183 leds[4] = 1;
fm_4186 0:e30c05ee1b0a 184 if(tiempo == 25) {
fm_4186 0:e30c05ee1b0a 185 estado = 5;
fm_4186 0:e30c05ee1b0a 186 }
fm_4186 0:e30c05ee1b0a 187 break;
fm_4186 0:e30c05ee1b0a 188 case 5:
fm_4186 0:e30c05ee1b0a 189 leds=0;
fm_4186 0:e30c05ee1b0a 190 leds[5] = 1;
fm_4186 0:e30c05ee1b0a 191 if(tiempo == 30) {
fm_4186 0:e30c05ee1b0a 192 estado = 6;
fm_4186 0:e30c05ee1b0a 193 }
fm_4186 0:e30c05ee1b0a 194 break;
fm_4186 0:e30c05ee1b0a 195 case 6:
fm_4186 0:e30c05ee1b0a 196 leds=0;
fm_4186 0:e30c05ee1b0a 197 leds[6] = 1;
fm_4186 0:e30c05ee1b0a 198 if(tiempo == 35) {
fm_4186 0:e30c05ee1b0a 199 estado = 7;
fm_4186 0:e30c05ee1b0a 200 }
fm_4186 0:e30c05ee1b0a 201 break;
fm_4186 0:e30c05ee1b0a 202 case 7:
fm_4186 0:e30c05ee1b0a 203 leds=0;
fm_4186 0:e30c05ee1b0a 204 leds[7] = 1; //suma un punto jugador 1
fm_4186 0:e30c05ee1b0a 205 if(tiempo == 40) {
fm_4186 0:e30c05ee1b0a 206 estado = 8;
fm_4186 0:e30c05ee1b0a 207 }
fm_4186 0:e30c05ee1b0a 208 break;
fm_4186 0:e30c05ee1b0a 209 case 8:
fm_4186 0:e30c05ee1b0a 210 leds=0;
fm_4186 0:e30c05ee1b0a 211 leds[6] = 1;
fm_4186 0:e30c05ee1b0a 212 if(tiempo == 45) {
fm_4186 0:e30c05ee1b0a 213 estado = 9;
fm_4186 0:e30c05ee1b0a 214 }
fm_4186 0:e30c05ee1b0a 215 break;
fm_4186 0:e30c05ee1b0a 216 case 9:
fm_4186 0:e30c05ee1b0a 217 leds=0;
fm_4186 0:e30c05ee1b0a 218 leds[5] = 1;
fm_4186 0:e30c05ee1b0a 219 if(tiempo == 50) {
fm_4186 0:e30c05ee1b0a 220 estado = 10;
fm_4186 0:e30c05ee1b0a 221 }
fm_4186 0:e30c05ee1b0a 222 break;
fm_4186 0:e30c05ee1b0a 223 case 10:
fm_4186 0:e30c05ee1b0a 224 leds=0;
fm_4186 0:e30c05ee1b0a 225 leds[4] = 1;
fm_4186 0:e30c05ee1b0a 226 if(tiempo == 55) {
fm_4186 0:e30c05ee1b0a 227 estado = 11;
fm_4186 0:e30c05ee1b0a 228 }
fm_4186 0:e30c05ee1b0a 229 break;
fm_4186 0:e30c05ee1b0a 230 case 11:
fm_4186 0:e30c05ee1b0a 231 leds=0;
fm_4186 0:e30c05ee1b0a 232 leds[3] = 1;
fm_4186 0:e30c05ee1b0a 233 if(tiempo == 60) {
fm_4186 0:e30c05ee1b0a 234 estado = 12;
fm_4186 0:e30c05ee1b0a 235 }
fm_4186 0:e30c05ee1b0a 236 break;
fm_4186 0:e30c05ee1b0a 237 case 12:
fm_4186 0:e30c05ee1b0a 238 leds=0;
fm_4186 0:e30c05ee1b0a 239 leds[2] = 1;
fm_4186 0:e30c05ee1b0a 240 if(tiempo == 65) {
fm_4186 0:e30c05ee1b0a 241 estado = 13;
fm_4186 0:e30c05ee1b0a 242 }
fm_4186 0:e30c05ee1b0a 243 break;
fm_4186 0:e30c05ee1b0a 244 case 13:
fm_4186 0:e30c05ee1b0a 245 leds=0;
fm_4186 0:e30c05ee1b0a 246 leds[1] = 1;
fm_4186 0:e30c05ee1b0a 247 if(tiempo == 70) {
fm_4186 0:e30c05ee1b0a 248 estado = 0;
fm_4186 0:e30c05ee1b0a 249 tiempo=0;
fm_4186 0:e30c05ee1b0a 250 }
fm_4186 0:e30c05ee1b0a 251 break;
fm_4186 0:e30c05ee1b0a 252 }
fm_4186 0:e30c05ee1b0a 253 return estado;
fm_4186 0:e30c05ee1b0a 254 }
fm_4186 0:e30c05ee1b0a 255 ///
fm_4186 0:e30c05ee1b0a 256 void inicio(void) // funcion de espera antes que se inicie el juego
fm_4186 0:e30c05ee1b0a 257 {
fm_4186 0:e30c05ee1b0a 258 static int est = 0;
fm_4186 0:e30c05ee1b0a 259 switch(est) {
fm_4186 0:e30c05ee1b0a 260 case 0:
fm_4186 0:e30c05ee1b0a 261 leds = 0;
fm_4186 0:e30c05ee1b0a 262 leds[0] = 1;
fm_4186 0:e30c05ee1b0a 263 if(tiempo == 100) { //1 seg
fm_4186 0:e30c05ee1b0a 264 est = 1;
fm_4186 0:e30c05ee1b0a 265 }
fm_4186 0:e30c05ee1b0a 266 break;
fm_4186 0:e30c05ee1b0a 267 case 1:
fm_4186 0:e30c05ee1b0a 268 leds=0;
fm_4186 0:e30c05ee1b0a 269 leds[1] = 1;
fm_4186 0:e30c05ee1b0a 270 if(tiempo == 200) {
fm_4186 0:e30c05ee1b0a 271 est = 2;
fm_4186 0:e30c05ee1b0a 272 }
fm_4186 0:e30c05ee1b0a 273 break;
fm_4186 0:e30c05ee1b0a 274 case 2:
fm_4186 0:e30c05ee1b0a 275 leds=0;
fm_4186 0:e30c05ee1b0a 276 leds[2] = 1;
fm_4186 0:e30c05ee1b0a 277 if(tiempo == 300) {
fm_4186 0:e30c05ee1b0a 278 est = 3;
fm_4186 0:e30c05ee1b0a 279 }
fm_4186 0:e30c05ee1b0a 280 break;
fm_4186 0:e30c05ee1b0a 281 case 3:
fm_4186 0:e30c05ee1b0a 282 leds=0;
fm_4186 0:e30c05ee1b0a 283 leds[3] = 1;
fm_4186 0:e30c05ee1b0a 284 if(tiempo == 400) {
fm_4186 0:e30c05ee1b0a 285 est = 4;
fm_4186 0:e30c05ee1b0a 286 }
fm_4186 0:e30c05ee1b0a 287 break;
fm_4186 0:e30c05ee1b0a 288 case 4:
fm_4186 0:e30c05ee1b0a 289 leds=0;
fm_4186 0:e30c05ee1b0a 290 leds[4] = 1;
fm_4186 0:e30c05ee1b0a 291 if(tiempo == 500) {
fm_4186 0:e30c05ee1b0a 292 est = 5;
fm_4186 0:e30c05ee1b0a 293 }
fm_4186 0:e30c05ee1b0a 294 break;
fm_4186 0:e30c05ee1b0a 295 case 5:
fm_4186 0:e30c05ee1b0a 296 leds=0;
fm_4186 0:e30c05ee1b0a 297 leds[5] = 1;
fm_4186 0:e30c05ee1b0a 298 if(tiempo == 600) {
fm_4186 0:e30c05ee1b0a 299 est = 6;
fm_4186 0:e30c05ee1b0a 300 }
fm_4186 0:e30c05ee1b0a 301 break;
fm_4186 0:e30c05ee1b0a 302 case 6:
fm_4186 0:e30c05ee1b0a 303 leds=0;
fm_4186 0:e30c05ee1b0a 304 leds[6] = 1;
fm_4186 0:e30c05ee1b0a 305 if(tiempo == 700) {
fm_4186 0:e30c05ee1b0a 306 est = 7;
fm_4186 0:e30c05ee1b0a 307 }
fm_4186 0:e30c05ee1b0a 308 break;
fm_4186 0:e30c05ee1b0a 309 case 7:
fm_4186 0:e30c05ee1b0a 310 leds=0;
fm_4186 0:e30c05ee1b0a 311 leds[7] = 1;
fm_4186 0:e30c05ee1b0a 312 if(tiempo == 800) {
fm_4186 0:e30c05ee1b0a 313 est=0;
fm_4186 0:e30c05ee1b0a 314 tiempo = 0;
fm_4186 0:e30c05ee1b0a 315 }
fm_4186 0:e30c05ee1b0a 316 break;
fm_4186 0:e30c05ee1b0a 317 }
fm_4186 0:e30c05ee1b0a 318 }
fm_4186 0:e30c05ee1b0a 319 ///
fm_4186 0:e30c05ee1b0a 320 void funcion () // funcion de barrido multiplexado
fm_4186 0:e30c05ee1b0a 321 {
fm_4186 0:e30c05ee1b0a 322 int numeros[10]= {0b1111110, 0b0110000, 0b1101101, 0b1111001, 0b0110011, 0b1011011, 0b1011111, 0b1110000, 0b1111111, 0b1111011};
fm_4186 0:e30c05ee1b0a 323 int d1;
fm_4186 0:e30c05ee1b0a 324 if(display==0) //ponemos estas 2 cuentas para distinto display y asi cambiarlo en cada catodo, por esto es que los puntos a se suman de a 10
fm_4186 0:e30c05ee1b0a 325 d1 = valor/10;
fm_4186 0:e30c05ee1b0a 326 else
fm_4186 0:e30c05ee1b0a 327 d1 = valor%10;
fm_4186 0:e30c05ee1b0a 328
fm_4186 0:e30c05ee1b0a 329 A_D = (numeros[d1] & 0b1000000) >> 6;
fm_4186 0:e30c05ee1b0a 330 B_D = (numeros[d1] & 0b100000) >> 5;
fm_4186 0:e30c05ee1b0a 331 C_D = (numeros[d1] & 0b10000) >> 4;
fm_4186 0:e30c05ee1b0a 332 D_D = (numeros[d1] & 0b1000) >> 3;
fm_4186 0:e30c05ee1b0a 333 E_D = (numeros[d1] & 0b100) >> 2;
fm_4186 0:e30c05ee1b0a 334 F_D = (numeros[d1] & 0b10) >> 1;
fm_4186 0:e30c05ee1b0a 335 G_D = numeros[d1] & 1;
fm_4186 0:e30c05ee1b0a 336
fm_4186 0:e30c05ee1b0a 337 display ? display = 0 : display = 1; //cambio el display
fm_4186 0:e30c05ee1b0a 338 CAT=display; // asigno ese cambio al cátodo
fm_4186 0:e30c05ee1b0a 339 }
fm_4186 0:e30c05ee1b0a 340
fm_4186 0:e30c05ee1b0a 341
fm_4186 0:e30c05ee1b0a 342