STM32F103C8_Barrido_Display Barrido de un Display de Ánodo Común
Dependencies: mbed
main.cpp
00001 /* ########################################################################### 00002 ** Archivo : main.c 00003 ** Proyecto : STM32-F103C8_Plantilla 00004 ** Procesador : STM32F103C8 00005 ** Herramienta : Mbed 00006 ** Version : Driver 01.01 00007 ** Compilador : GNU C Compiler 00008 ** Fecha/Hora : 14-07-2015, 11:48, # CodeGen: 0 00009 ** Descripción : 00010 ** Este proyecto hace... 00011 ** This module contains user's application code. 00012 ** Componentes : GPIO, Timer, etc . 00013 ** Configuraciones : Includes, Stacks y Drivers externos 00014 ** Autores : 00015 ** ATEAM Development Group: 00016 ** - Antulio Morgado Valle 00017 ** 00018 ** Versión : Beta 00019 ** Revisión : A 00020 ** Release : 0 00021 ** Bugs & Fixes : 00022 ** Date : 20/10/2019 00023 ** Added support for Led_RGB 00024 ** 22/09/2018 00025 ** Added LCD Menu, Beta version (with bugs) 00026 ** 00027 ** ###########################################################################*/ 00028 /* 00029 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 00030 : Includes 00031 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 00032 */ 00033 #include "mbed.h" 00034 #include "stm32f103c8t6.h" 00035 //#include "stm32f10x.h" 00036 #include "PinNames.h" 00037 //#include "SysClockConf.h" 00038 //#include "AnalogIn.h" 00039 //#include "Led_RGB.h" 00040 //#include "Serial.h" 00041 //#include "stdio.h" 00042 00043 /* 00044 :............................................................................... 00045 : Definiciones 00046 :............................................................................... 00047 */ 00048 #define on 0 // Estado para boton presionado 00049 #define off 1 // Estado para boton sin presionar 00050 #define hold 2 // Estado para boton mantenido 00051 #define release 3 // Estado para boton liberado 00052 #define TRUE 1 00053 #define FALSE 0 00054 #define Ticker_Period 1000 // Periodo de Tiempo del Ticker (us) 00055 #define Rate_Period 2 // Tiempo de Encendido de los Digitos (ms) 00056 #define Scan_Time 2 // Tiempo de Barrido del Display (ms) 00057 #define Shift_Time 2 // Tiempo de corrimiento (x Counter_Time) 00058 #define Counter_Time 100 // Tiempo de counter (ms) 00059 #define String_Size 20 // Tamaño del Buffer de Caracteres 00060 #define Digit_Null 0xFF // Valor para apagar los Segmentos 00061 #define Degree_Symbol 0x0F // Valor para el Símbolo de Grados 00062 #define DO2 0.0078125 // 128 Hz (Escala Filosófica) 00063 #define DOs2 0.0073740180703125 // 136 Hz 00064 #define RE2 0.006960146234375 // 144 Hz 00065 #define REs2 0.0065695032421875 // 152 Hz 00066 #define MI2 0.006200785359375 // 161 Hz 00067 #define FA2 0.005852762015625 // 171 Hz 00068 #define FAs2 0.0055242717265625 // 181 Hz 00069 #define SOL2 0.0052142181796875 // 192 Hz 00070 #define SOLs2 0.0049215666015625 // 203 Hz 00071 #define LA2 0.004645340296875 // 215 Hz 00072 #define LAs2 0.004384617375 // 228 Hz 00073 #define SI2 0.0041385277109375 // 242 Hz 00074 #define DO3 0.00390625 // 256 Hz 00075 #define DOs3 0.00368700903515625 // 271 Hz 00076 #define RE3 0.0034800731171875 // 287 Hz 00077 #define REs3 0.00328475162109375 // 304 Hz 00078 #define MI3 0.0031003926796875 // 323 Hz 00079 #define FA3 0.0029263810078125 // 342 Hz 00080 #define FAs3 0.0055242717265625 // 362 Hz 00081 #define SOL3 0.00260710908984375 // 384 Hz 00082 #define SOLs3 0.00246078330078125 // 406 Hz 00083 #define LA3 0.0023226701484375 // 431 Hz 00084 #define LAs3 0.0021923086875 // 456 Hz 00085 #define SI3 0.00206926385546875 // 483 Hz 00086 #define DO4 0.00390625 // 512 Hz 00087 #define DOs4 0.001843504517578125 // 542 Hz 00088 #define RE4 0.00174003655859375 // 575 Hz 00089 #define REs4 0.001642375810546875 // 609 Hz 00090 #define MI4 0.00155019633984375 // 645 Hz 00091 #define FA4 0.00146319050390625 // 683 Hz 00092 #define FAs4 0.001381067931640625 // 724 Hz 00093 #define SOL4 0.001303554544921875 // 767 Hz 00094 #define SOLs4 0.001230391650390625 // 813 Hz 00095 #define LA4 0.00116133507421875 // 861 Hz 00096 #define LAs4 0.00109615434375 // 912 Hz 00097 #define SI4 0.001034631927734375 // 966 Hz 00098 #define DO5 0.001953125 // 1024 Hz 00099 /* 00100 +------------------------------------------------------------------------------- 00101 | Configuración de Puertos 00102 +------------------------------------------------------------------------------- 00103 */ 00104 BusIn Renglones (PA_8, PA_9, PA_10, PA_11); // Definición para los Renglones 00105 00106 BusOut Anodos (PB_6, PB_7, PB_8, PB_9); // Definición para los Ánodos 00107 BusOut Catodos (PA_0, PA_1,PA_2,PA_3,PA_4,PA_5,PA_6,PA_7); // Definición para los Cätodos 00108 DigitalOut Green_Led (PC_11); // Led de Actividad del Programa 00109 DigitalOut Red_Led (PB_11); // Led de Actividad del Programa 00110 PwmOut Buzzer (PB_13); // Salida del Buzzer 00111 Ticker Barrido; 00112 Serial Terminal(USBTX, USBRX); //activa la Terminal a traves del Puerto USB 00113 /* 00114 +------------------------------------------------------------------------------- 00115 | Variables Globales de Usuario 00116 +------------------------------------------------------------------------------- 00117 */ 00118 uint16_t Rate=1000; 00119 // Offset: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 00120 // 0 1 2 3 4 5 6 7 8 9 A b C d E f G h I j K L M n o P q r S t u V W X y Z null a e +o +/c c /c +u +n [ ] ° ^ ¬ + > ^ / v < v > /_ - _ = /= == ¬_ ii # /# J /J -J -/J -J -/J | || + /+ null ! " # $ % & ' ( ) * + - . / : ; < > ? @ 00121 uint8_t Segmentos[]={0x81,0xE7,0x49,0x43,0x27,0x13,0x11,0xC7,0x01,0x03,0x05,0x31,0x99,0x61,0x19,0x1D,0x91,0x35,0xBD,0xB3,0x2D,0xB9,0x85,0x75,0x71,0x0D,0x07,0x3D,0x13,0x39,0xF1,0xE1,0xA1,0x25,0x37,0x49,0xFF,0xBE,0xF6,0x0F,0x8F,0x4F,0x2F,0x1F,0x0F,0x13,0x01,0x7F,0x7D,0x7B,0x79,0x75,0x73,0x71,0x70,0x99,0xC3,0x3F,0x9F,0xCF,0x6F,0x7D,0xF9,0xF3,0xD7,0xF7,0xDF,0x7F,0xFB,0x5F,0x7B,0x5B,0xBD,0xF5,0x6D,0x37,0xE3,0xB9,0x9D,0x7C,0xE7,0xBD,0xCa,0x00}; 00122 uint8_t Digitos[]={0x08,0x04,0x02,0x01,0x00,0x0F}; // Millares, Centenas, Decenas, Unidades, Apagados, Encendidos 00123 uint8_t Numeros[]={1,0,2,4}; 00124 uint8_t Cadena[]={33,0,21,10,36,14,28,18,22,36,35,10,12,10,29,14,23,12,24,36,36}; 00125 uint8_t Tecla[]={1,2,3,10,4,5,6,11,7,8,9,12,75,0,74,13}; 00126 uint8_t Boton[]={1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1}; 00127 uint8_t Boton_Ant[]={1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1}; 00128 uint8_t Edo_Boton[]={off,off,off,off, off,off,off,off, off,off,off,off, off,off,off,off}; 00129 uint8_t Renglon[]={0,0,0,0}; 00130 uint8_t punto_decimal=0; //Posición del punto decimal: 0=sin punto, 1=unidades, 2=decenas, 3=centemas 4=millares, 00131 uint8_t cont_1ms; 00132 uint8_t cont_10ms; 00133 uint8_t cont_100ms; 00134 uint8_t cont_1s; 00135 uint8_t scan_rate=25; 00136 uint8_t shift_rate=0; 00137 uint16_t counter=250; 00138 uint8_t i=0; 00139 uint8_t j=0; 00140 uint8_t valor=0; 00141 uint8_t nchar=0; 00142 bool flag1=FALSE; 00143 bool flag2=FALSE; 00144 bool Blinking=FALSE; 00145 bool mode=0; 00146 00147 /* 00148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00149 | Definición de Funciones Prototipo y Rutinas de los Vectores de Interrupción 00150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00151 */ 00152 void Barrido_OnInterrupt(void); 00153 void Buzzer_SetPeriodMode(float Periodo,bool Estado); 00154 /* 00155 #=============================================================================== 00156 | 00157 | P R O G R A M A P R I N C I P A L 00158 | 00159 #=============================================================================== 00160 */ 00161 int main() 00162 { 00163 // Inicialización de variables, puertos e interrupciones 00164 Terminal.baud(115200); // Establece la velocidad de Transmisión de la Terminal 00165 Barrido.attach_us(&Barrido_OnInterrupt, Ticker_Period); // Periodo de Interrupción del Timer = 1ms (Ticker_Period=1000) 00166 Renglones.mode(PullUp); // Habilita los Pull-Up's de las entradas 00167 while (true) 00168 { //El Programa principal está aquí !!! 00169 nchar=0; // Inicializa el contador de caracteres a desplegar 00170 if (flag1==TRUE) 00171 { 00172 Buzzer_SetPeriodMode(LA4,FALSE);// Apaga el Buzzer 00173 Buzzer=off; // Apaga el Buzzer 00174 Anodos=Digitos[4]; // Apaga todos los Digitos (Evita fantasmas) 00175 Catodos=Segmentos[Numeros[i]]; // Escribe los segmentos del Dígito 00176 if (i==4-punto_decimal) Catodos=(Segmentos[Numeros[i]]& 0xFE); // Enciende el punto decimal 00177 Anodos=Digitos[i]; // Activa el Dígito/columna 00178 valor=Renglones; // Lee los renglones 00179 Renglon[i]=(valor>>i)&1; // Obtiene el valor de cada bit del renglón 00180 Boton[i+j]=Renglon[i]; // Llena el renglon-columna correspondiente 00181 if (Boton[i+j]==1) 00182 { 00183 Buzzer_SetPeriodMode(DO5,TRUE); // Selecciona Tono y lo habilita 00184 Buzzer=on; // Enciende el Buzzer 00185 } 00186 if ( Boton[i+j] && Boton_Ant[i+j]) 00187 { 00188 Edo_Boton[i+j]= off; // El Botón está Apagado 00189 } 00190 if (!Boton[i+j] && Boton_Ant[i+j]) 00191 { 00192 Edo_Boton[i+j]= on; // El Botón está Encendido 00193 } 00194 if (!Boton[i+j] && !Boton_Ant[i+j]) 00195 { 00196 Edo_Boton[i+j]= hold; // El Botón está Presionado 00197 } 00198 if ( Boton[i+j] && !Boton_Ant[i+j]) 00199 { 00200 Edo_Boton[i+j]= release; // El Botón está Liberado 00201 } 00202 Boton_Ant[i+j]=Boton[i+j]; // Actualiza el valor del botón anterior 00203 if (valor != 0xFF) 00204 { 00205 Numeros[0]= Digit_Null; // Millares 00206 Numeros[1]= Digit_Null; // Centenas 00207 Numeros[2]= Digit_Null; // Decenas 00208 Numeros[3]= Tecla[i+j]; // Unidades 00209 mode=2; 00210 } 00211 i++; // Incrementa la columna 00212 if (i==4) // Se terminó de barrer las columnas? 00213 { 00214 i=0; // Reinicia las columnas 00215 j=j+4; // Brinca al siguiente renglón 00216 if (j==16) j=0; // Se terminó de barrer los renglones? Reinicia los renglones 00217 00218 if (mode==1) // Se va a desplegar un mensaje? 00219 { 00220 Numeros[i]=Cadena[i+nchar]; // Cargamos 4 caracteres en el buffer de despliege 00221 if (nchar >= String_Size) nchar=0; // Restablece el contador de caractres 00222 } 00223 if (mode==2) // Se va a desplegar un el valor de la botonera 00224 { 00225 if ( Blinking==1) punto_decimal=3; // Activa los puntos del Reloj 00226 if ( Blinking==0) punto_decimal=0; // Desactiva los puntos del Reloj 00227 if (i==4-punto_decimal) 00228 Catodos=Segmentos[Numeros[i]&0xFE]; // Enciende el punto decimal 00229 Terminal.printf("Tecla Oprimida: %c",valor); 00230 } 00231 Red_Led=!Red_Led; // Parpadeo del Led Rojo 00232 } 00233 00234 flag1=FALSE; // Apaga la Bandera 1 00235 } 00236 if (flag2==TRUE) // Está puesta la Bandera 2? 00237 { 00238 Green_Led=!Green_Led; // Parpadeo del Led Verde 00239 flag2=FALSE; // Apaga la Bandera 2 00240 } 00241 } 00242 } 00243 /* END main() */ 00244 /* 00245 ................................................................................ 00246 : Rutinas de los Vectores de Interrupción 00247 ................................................................................ 00248 */ 00249 void Barrido_OnInterrupt(void) // Rutina de Atención al Ticker 00250 { 00251 cont_1ms++; 00252 scan_rate++; 00253 counter--; 00254 if(!scan_rate) // Se terminó el tiempo de barrido 00255 { 00256 scan_rate=Rate_Period; // Restablece el tiempo de barrido? 00257 flag1=TRUE; // Enciende la bandera para las rutinas de despliege y teclado 00258 } 00259 if (cont_1ms>=10) 00260 { 00261 cont_10ms++; 00262 cont_1ms=0; 00263 } 00264 if (cont_10ms>=10) 00265 { 00266 cont_100ms++; 00267 cont_10ms=0; 00268 } 00269 if (cont_100ms>=10) 00270 { 00271 cont_1s++; 00272 cont_100ms=0; 00273 } 00274 if (cont_1s>=10) 00275 { 00276 cont_1s=0; 00277 } 00278 if (!counter) // Se terminó de contar? 00279 { 00280 counter=500; // Restablece el contador 00281 Blinking= !Blinking; // Parpadeo 00282 shift_rate --; // Decrementa el tiempo del corrimiento 00283 flag2=TRUE; // Prende la bandera para realizar un desplazamiento 00284 } 00285 if (!shift_rate) // Se terminó el tiempo de corrimiento? 00286 { 00287 mode=!mode; // Tiempo entre desplazamientos del mensaje 00288 shift_rate = Shift_Time; // Restablece el tiempo de los corrimientos 00289 } 00290 } 00291 /* END Events */ 00292 00293 /* 00294 ________________________________________________________________________________ 00295 | 00296 | Funciones Prototipo 00297 |_______________________________________________________________________________ 00298 */ 00299 // Las Funciones Prototipo van aquí ! 00300 void Buzzer_SetPeriodMode(float Periodo,bool Estado) 00301 { 00302 Buzzer.period(Periodo); 00303 Buzzer.pulsewidth(Periodo/2); 00304 if (Estado==1)Buzzer=0.5; 00305 if (Estado==0)Buzzer=0.0; 00306 } 00307 00308 /* END Routines */ 00309 00310 /* END program */ 00311 /*+------------------------------------------------------------------------------------ 00312 *+ Descripción del Display de 7 Segmentos de Anodos Comunes en modo multiplexado 00313 *+------------------------------------------------------------------------------------- 00314 *+ 13 12 11 10 9 8 00315 *+ | | | | | | 00316 *+ | | | | | | 00317 *+ -------------------------------------------------- 00318 *+ | A a f A A b | 00319 *+ | 4 3 2 | 00320 *+ | ______________________________________________ | 00321 *+ | | ____ ____ _____ _____ | | 00322 *+ | | / / / / / / / / | | 00323 *+ | | /____ / /____ / . /____ / /____ / | | 00324 *+ | | / / / / . / / / / | | 00325 *+ | | /____ /. /_____/ . /____ /. /____ /. | | 00326 *+ | | | | 00327 *+ | |______________________________________________| | 00328 *+ | | 00329 *+ | A | 00330 *+ | e d p c g 1 | 00331 *+ -------------------------------------------------- 00332 *+ | | | | | | | 00333 *+ | | | | | | | 00334 *+ 1 2 3 4 5 6 7 00335 *+ 00336 *+ Display: HS410561K-D30 00337 *+ 00338 *+ 00339 *+ 13 12 11 10 9 8 00340 *+ | | | | | | 00341 *+ | | | | | | 00342 *+ -------------------------------------------------- 00343 *+ | A g f p a b | 00344 *+ | 4 | 00345 *+ | ______________________________________________ | 00346 *+ | | ____ ____ _____ _____ | | 00347 *+ | | / / / / / / / / | | 00348 *+ | | /____ / /____ / . /____ / /____ / | | 00349 *+ | | / / / / . / / / / | | 00350 *+ | | /____ /. /_____/ /____ /. /____ /. | | 00351 *+ | | | | 00352 *+ | |______________________________________________| | 00353 *+ | | 00354 *+ | A A A | 00355 *+ | e 3 2 c d 1 | 00356 *+ -------------------------------------------------- 00357 *+ | | | | | | | 00358 *+ | | | | | | | 00359 *+ 1 2 3 4 5 6 7 00360 *+ 00361 *+ Display: BQ-M544RE 00362 *+ 00363 *+ 00364 *+ 16 15 14 13 11 00365 *+ | | | | | 00366 *+ | | | | | 00367 *+ -------------------------------------------------- 00368 *+ | b g a c f | 00369 *+ | | 00370 *+ | ______________________________________________ | 00371 *+ | | ____ ____ _____ . _____ | | 00372 *+ | | / / / / / / / / | | 00373 *+ | | /____ / /____ / . /____ / /____ / | | 00374 *+ | | / / / / . / / / / | | 00375 *+ | | /____ /. /_____/ . /____ /. /____ /. | | 00376 *+ | | | | 00377 *+ | |______________________________________________| | 00378 *+ | | 00379 *+ | A A A A A | 00380 *+ | 4 3 3 p e 2 p 1 | 00381 *+ -------------------------------------------------- 00382 *+ | | | | | | | | 00383 *+ | | | | | | | | 00384 *+ 1 2 3 4 5 6 7 8 00385 *+ 00386 *+ Display: KEM-3942BSR 00387 *+ 00388 +* 00389 *+ 00390 *+ 12 11 10 9 8 7 00391 *+ | | | | | | 00392 *+ | | | | | | 00393 *+ -------------------------------------------------- 00394 *+ | A a f A A b | 00395 *+ | 4 3 2 | 00396 *+ | ______________________________________________ | 00397 *+ | | ____ ____ _____ _____ | | 00398 *+ | | / / / / / / / / | | 00399 *+ | | /____ / /____ / . /____ / /____ / | | 00400 *+ | | / / / / . / / / / | | 00401 *+ | | /____ /. /_____/ . /____ /. /____ /. | | 00402 *+ | | | | 00403 *+ | |______________________________________________| | 00404 *+ | | 00405 *+ | A | 00406 *+ | e d p c g 1 | 00407 *+ -------------------------------------------------- 00408 *+ | | | | | | 00409 *+ | | | | | | 00410 *+ 1 2 3 4 5 6 00411 *+ 00412 *+ Display: FYQ-2841BH 00413 *+ 00414 *+ 00415 *+ PTA17 PTA16 PTA15 PTA14 00416 *+ A4 A3 A2 A1 00417 *+ Mill Cent Dec Uni 00418 *+ 00419 *+ FRDM_KL25Z PTE23 PTE22 PTE21 PTE20 PTE5 PTE4 PTE3 PTE2 # Hex 00420 *+ FRDM-KL46Z PTE23 PTE22 PTE21 PTE20 PTE19 PTE18 PTE17 PTE16 # Hex Offset 00421 *+ a 00422 *+ ______ g f a b c d e p 00423 *+ / / 1 0 0 0 1 0 0 0 0 0x81 0 00424 *+ f / g / b 1 1 0 1 1 1 1 0 1 0xE7 1 00425 *+ /_____/ 1 0 1 1 0 1 0 0 2 0x49 2 00426 *+ / / 1 0 0 1 0 1 0 0 3 0x43 3 00427 *+ e / / c 1 1 0 1 0 0 1 0 4 0x27 4 00428 *+ /_____/ . 1 0 0 1 0 0 0 1 5 0x13 5 00429 *+ d p 1 0 0 0 0 0 0 1 6 0x11 6 00430 *+ 1 1 0 1 1 1 0 0 7 0xC7 7 00431 *+ 1 0 0 0 0 0 0 0 8 0x01 8 00432 *+ 1 0 0 1 0 0 0 0 9 0x03 9 00433 *+ 1 1 0 0 0 0 0 0 A 0x05 10 00434 *+ 1 0 0 0 0 0 1 1 b 0x31 11 00435 *+ 1 0 1 0 1 0 0 1 C 0x99 12 00436 *+ 1 0 0 0 0 1 1 0 d 0x61 13 00437 *+ 1 0 1 0 0 0 0 1 E 0x19 14 00438 *+ 1 1 1 0 0 0 0 1 f 0x1D 15 00439 *+ 1 0 0 0 1 0 0 1 G 0x91 16 00440 *+ 1 1 0 0 0 0 1 1 h 0x35 17 00441 *+ 1 1 0 1 1 1 1 1 i 0xBD 18 00442 *+ 1 0 0 0 1 1 1 0 J 0xB3 19 00443 *+ 1 0 1 0 0 0 1 0 k 0x2D 20 00444 *+ 1 0 1 0 1 0 1 1 L 0xB9 21 00445 *+ 1 1 0 0 1 0 0 0 M 0x85 22 00446 *+ 1 1 0 0 0 1 1 1 n 0x75 23 00447 *+ 1 0 0 0 0 1 1 1 o 0x71 24 00448 *+ 1 1 1 0 0 0 0 0 P 0x0D 25 00449 *+ 1 1 0 1 0 0 0 0 q 0x07 26 00450 *+ 1 1 1 0 0 1 1 1 r 0x3D 27 00451 *+ 1 0 0 1 0 0 0 1 s 0x13 28 00452 *+ 1 0 1 0 0 0 1 1 t 0x39 29 00453 *+ 1 0 0 0 1 1 1 1 u 0xF1 30 00454 *+ 1 0 0 0 1 0 1 1 V 0xE1 31 00455 *+ 1 0 0 0 1 0 1 0 w 0xA1 32 00456 *+ 1 1 0 0 1 0 1 0 X 0x25 33 00457 *+ 1 0 0 1 0 0 1 0 y 0x37 34 00458 *+ 1 0 1 0 1 1 0 0 Z 0x49 35 00459 *+ 1 0 0 0 0 1 0 0 a 0x84 36 00460 *+ 1 0 1 0 0 0 0 0 e 0xA0 37 00461 *+ 1 1 1 1 0 0 0 1 + c 0xF1 38 00462 *+ 1 1 1 1 0 1 0 0 +/c 0xF4 39 00463 *+ 1 0 1 0 0 1 1 1 c 0xA7 40 00464 *+ 1 0 0 1 0 1 1 1 /c 0x97 41 00465 *+ 1 1 1 1 0 0 1 0 + u 0xF2 42 00466 *+ 1 1 1 1 1 0 0 0 + n 0xF8 43 00467 *+ 1 0 1 0 1 0 0 1 [ 0xA9 44 00468 *+ 1 0 0 1 1 1 0 0 ] 0x9C 45 00469 *+ 1 1 1 1 0 0 0 0 ° 0xF0 46 00470 *+ 1 1 1 1 1 1 0 0 ¬ 0xFC 47 00471 *+ 1 1 1 1 0 1 1 0 + > 0xF6 48 00472 *+ 1 1 1 0 0 1 1 1 ^ 0xE7 49 00473 *+ 1 0 1 0 1 1 1 1 / < 0xAF 50 00474 *+ 1 0 0 1 1 1 1 1 / v 0x9F 51 00475 *+ 1 1 0 1 0 1 1 1 > 0xD7 52 00476 *+ 1 1 1 1 0 0 1 1 v 0xF3 53 00477 *+ 1 1 1 1 1 0 0 1 < 0xF9 54 00478 *+ 1 1 1 1 1 1 0 1 / _ 0xBF 55 00479 *+ 1 1 1 1 0 1 1 1 - 0xF7 56 00480 *+ 1 0 1 1 1 1 1 1 _ 0xFD 57 00481 *+ 1 1 1 1 0 1 0 1 = 0xF5 58 00482 *+ 1 0 1 1 0 1 1 1 / = 0xB7 59 00483 *+ 1 0 1 1 0 1 0 1 == 0xB5 60 00484 *+ 1 0 1 1 1 1 0 1 _¬ 0xBD 61 00485 *+ 1 1 0 0 1 1 1 1 ii 0xCF 62 00486 *+ 1 1 1 1 1 0 1 0 # 0xFA 63 00487 *+ 1 0 0 1 1 1 1 0 j 0x9E 64 00488 *+ 1 1 0 1 1 1 0 0 /j 0xDC 65 00489 *+ 1 1 1 0 1 0 0 1 - j 0xE9 66 00490 *+ 1 0 1 0 1 0 1 1 -/j 0xAB 67 00491 *+ 1 0 0 0 1 1 1 0 - J 0x8E 68 00492 *+ 1 1 0 1 1 0 0 0 -/J 0xD8 69 00493 *+ 1 1 1 0 1 0 1 1 | 0xEB 70 00494 *+ 1 1 0 0 1 0 1 0 || 0xCA 71 00495 *+ 1 1 0 1 0 1 1 0 + 0xD6 72 00496 *+ 1 1 1 0 0 0 1 1 /+ 0xE3 73 00497 *+ 1 0 0 1 1 0 1 1 espacio 0xFF 74 00498 *+ 00499 *+ Nota: Cada dígito se activa al hacer la señal A correspondiente en "alto" 00500 *+ y enviar las señales de los segmentos que se desean encender en "bajo" 00501 *+ 00502 *+---------------------------------------------------------------------------------------- */ 00503 /*........................................................................................ 00504 : 00505 : TECLADO MATRICIAL DE 4X4 00506 : 00507 : C1 C2 C3 C4 00508 : | | | | 00509 : | | | | 00510 : | 1 | 2 | 3 | F1 00511 : R1 __/ ________/ ________/ ________/ 00512 : | | | | 00513 : | 4 | 5 | 6 | F2 00514 : R2 __/ ________/ ________/ ________/ 00515 : | | | | 00516 : | 7 | 8 | 9 | F3 00517 : R3 __/ ________/ ________/ ________/ 00518 : | | | | 00519 : | * | 0 | # | F4 00520 : R4 __/ ________/ ________/ ________/ 00521 : 00522 : 00523 : Función: REN1 REN2 REN3 REN4 COL1 COL2 COL3 COL4 00524 : Pin: 1 2 3 4 5 6 7 8 00525 .......................................................................................... 00526 *+----------------------------------------------------------------------------* 00527 *+ 00528 *+ Powered by 00529 *+ 00530 *+ T H E A N T U L I U ' S T E A M R&D Unltd 00531 *+ 00532 *+ Research, Development, Systems, Equipment, Support & Spare Parts. 00533 *+ (C) Copyright 1989-2019, All Rights Reserved 00534 *+ 00535 *+ Welcome to The Beaners Proyect Community! 00536 *+----------------------------------------------------------------------------*/ 00537 /* END Mbed */ 00538 /* END Mbed */
Generated on Tue Jul 12 2022 18:26:08 by 1.7.2