![](/media/cache/group/STM32-F103C8.jpeg.50x50_q85.jpg)
DISPLAY DE 7 SEGMENTOS CON TECLADO
Dependencies: mbed
Diff: Arrepapimain.cpp
- Revision:
- 5:9e6e87677625
- Parent:
- 4:2c686609c21d
--- a/Arrepapimain.cpp Thu May 02 18:43:32 2019 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,253 +0,0 @@ -/* ############################################################ -# - Archivo: Arrepapimain.c # -# - Proyecto: FRDM-KL46Z_Plantilla # -# - Procesador: MKL46Z256VLL4 # -# - Herramienta Mbed # -# - Version: Driver 01.01 # -# - Compilador: GNU C Compiler # -# - Fecha/Hora: 14-07-2015, 11:48, # CodeGen: 0 # -# - Descripción: # -# # -# # -# # -# # -# # -# - Autores: # -# - ATEAM Development Group: # -# - OLVERA VASQUEZ JOSE ARMANDO # -# # -# - Versión : Beta # -# - Revisión : A # -# - Release : 0 # -# - Bugs & Fixes : # -# - Date : 20/10/2019 # -###############################################################*/ - - -/* Includes */ -#include "mbed.h" - - -/* Definiciones */ -#define On 0 -#define off 1 -#define TRUE 1 -#define FALSE 0 - - -/* Configuración de Puertos */ -Ticker Barrido; // Interrupción del Timer -BusOut Anodos(PTA14, PTA15, PTA16, PTA17); // Salidas a los anodos del display: A4 A3 A2 A1 -BusOut Catodos(PTE16, PTE17, PTE18, PTE19, PTE20, PTE21, PTE22, PTE23); // Salidas a los catodos: g f a b c d e p -DigitalOut Green_Led (PTD5); // Led de Actividad del Programa -DigitalOut Red_Led (PTE29); // Led de Actividad del Programa - - - -/* Variables Globales de Usuario */ -uint16_t Rate=1000; // 1000us=1ms -uint8_t cont_1ms=0; -uint8_t cont_10ms=0; -uint8_t cont_100ms=0; -uint8_t cont_1s=0; -uint16_t counter=500; - -bool Flag1=FALSE; -bool Flag2=FALSE; - -uint8_t i=0; -uint8_t scan_rate =0; - -uint8_t Digitos[]={0x08, 0x04, 0x02, 0x01}; -uint8_t Numeros[]={0,1,2,3,4,5,6,7,8,9,38,36,38,23,24,38,22,14,38,27,14,25,30,14,11,14,38,25,24,15,14,38, 10,23,29,30,21,18,24,38, 25,39 ,38,22,14,38,21,21,10,22,24,38,36,38,10,27,22,10,23,13,24,38, -24,21,31,14,27,10, /*OLVERA*/ -38,38,36,38,38, /*ESPACIOS*/ -10,13,18,24,28, /*ADIOS*/ -38,38,38,38,38,38,38,38,38,38,38,38}; - -/*VECTOR PARA CORRIEMIENTO DE MENSAJES*/ - -uint8_t Copia[4]; - - - -uint8_t Cadena[]={0xCA, 0x8E, 0x67, 0xFA}; -uint8_t Caracteres[]={ - 0x81,/*0*/ - 0xE7, /*1*/ - 0x49, /*2*/ - 0x43, /*3*/ - 0x27, /*4*/ - 0x13, /*5*/ - 0x11, /*6*/ - 0xC7, /*7*/ - 0x01, /*8*/ - 0x03, /*9*/ - 0x05, /*10A*/ - 0x31, /*11B*/ - 0x99, /*12C*/ - 0x61, /*13D*/ - 0x19, /*14E*/ - 0x1D, /*15F*/ - 0x91, /*16G*/ - 0x35, /*17H*/ - 0xBD, /*18I*/ - 0xB3, /*19J*/ - 0x2D, /*20K*/ - 0xB9, /*21L*/ - 0x85, /*22M*/ - 0x75, /*23N*/ - 0x71, /*24O*/ - 0x0D, /*25P*/ - 0x07, /*26Q*/ - 0x3D, /*27R*/ - 0x13, /*28S*/ - 0x39, /*29T*/ - 0xF1, /*30U*/ - 0xE1, /*31V*/ - 0xA1, /*32W*/ - 0x25, /*33X*/ - 0x37, /*34Y*/ - 0x49, /*35Z*/ - 0x7F, /*36 - */ - 0xCA, /*37 || NO HECHO */ - 0xFF, /*38 ESPACIO */ - 0x60 /*39 D con PUNTO */ - - - - }; - - - - - -/* Rutinas de los Vectores de Interrupción */ -void Barrido_OnInterrupt(void) // Rutina de Atención al Ticker -{ //El servicio a la interrupcion van aqui! - cont_1ms++; - scan_rate++; - counter--; - - if(scan_rate==4){ scan_rate=0; Flag1=TRUE; } - - if (cont_1ms>=10){ cont_10ms++; cont_1ms=0; } - - if (cont_10ms>=10){ cont_100ms++; cont_10ms=0; } - - if (cont_100ms>=10){ cont_1s++; cont_100ms=0; } - - if (cont_1s>=10){ cont_1s=0; } - - if (!counter){ counter=300; Flag2=TRUE; } -} - - - - - - - - - - - - - - -/*============================================================================== -| | -| P R O G R A M A P R I N C I P A L | -| | -#=============================================================================*/ - - - - - - - -int main(){ - -uint8_t u=0; - - - - Barrido.attach_us(&Barrido_OnInterrupt, Rate); // Inicialización de variables, puertos e interrupciones - while (true){ //El Programa principal está aquí !!! - - - - if (Flag1==TRUE){ - Anodos=Digitos[i];//A esta madre no se le mueve - - - /*Esta madre es para correr un mensaje*/ - - Catodos=Caracteres[Copia[i]]; - i++; - Flag1=FALSE; - - - - - } - - - - - - - - - - - if(Flag2==TRUE){ - - for(uint8_t o=0;o<=3;o++){ - - Copia[o]=Numeros[o+u]; - - } - u++; - Flag2=FALSE; - } - - - - - - - - - - - - /*Esta madre es solo para un mensaje estatico*/ - /* - - if (Flag1==TRUE){ - Anodos=Digitos[i];//Esta madre no se le mueve - Catodos=Caracteres[Numeros[i]]; - i++; - Flag1=FALSE; - } - - - */ - - - - - - - - - - - -/* SECUENCIA LEDS DE PLACA */ - if (i==4){ i=0; Red_Led=!Red_Led; } - if (Flag2==TRUE){ Green_Led=!Green_Led; Flag2=FALSE; } -} -} // End Main \ No newline at end of file