Está en la página 1de 36

CURSO VACACIONAL

DE MICROS
ANDRÉS FELIPE RAMIREZ CLAVIJO
¿Qué es un microcontrolador?
“Es un circuito integrado
programable que ejecuta
secuencialmente las acciones
gravadas en su memoria”, costa
de memoria, unidad de
procesamiento y periféricos
µControlador a usar:
• Microcontrolador basado en A Corte M7
• 216 MHz de reloj
• ID Única de 96 bits
• Reloj RTC en tiempo real
• Entradas Tolerantes a 3v
• Oscilador Externo de 8MHz
• 3 Leds del usuario
• Led de Over Current
• 2 pulsadores para el usuario
• Máxima corriente de salida 300mA
Enmascaramiento:
Es alterar un bit especifico de un registro sin cambiar su
Contenido completo
Ejemplo: Adición de ‘1’

1 0
Respuesta:
Moder
1 0 1 0 1 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0
A 8 0 0 0 0 0 0

| 1

1
0 0 0 0 0 2 0 0
Ejercicio:

1 1

1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1
Ejemplo: Adición de un ‘0’

0 0
Respuesta:
Moder
1 0 1 0 1 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0
A 8 0 0 0 0 0 0

1 1 111 11 1 1 11 11 11 1 11 1 11 10 01 11 1 11 11
F F F F F C F F
Ejercicio: Hacer usando NAND

0 0
1er Modulo: GPIO
Es la configuración de los pines como entrada o salida ( I/O ),
al configurar esto comunicamos el micro con su entorno.
RCC->AHB1ENR:
Es el registro que activa el reloj del puerto seleccionado
GPIOx->MODER:
Es el registro (de 2 bits) que me definirá el modo de
Funcionamiento del pin seleccionado.
GPIOx->OTYPER:
Es el registro que me define el voltaje que tendrán los
Niveles lógicos a la salida. Si el voltaje de alimentación
De la tarjeta o OPEN DRAIN.
¿Qué es Open Drain?
Es una configuración de circuitos electrónicos donde se inhabilita
el fet tipo P, esto hace que ahora no halla conexión entre Vdd y la
salida. Obligando a colocar una fuente externa mediante una
resistencia PULL-UP.
GPIOx->OSPEED:
Es el registro que me define la velocidad de conmutación de los pines
de salida. A MAYOR VELOCIDAD MAYOR CONSUMO.
GPIOx->PUPDR
Es el registro que me define EL TIPO DE SALIDA del pin
Configurado entre alta impedancia, activo en alto o activo
En bajo
Diagrama de conexiones internas
GPIOx->IDR
Es el registro donde se evidencia el estado lógico
De los 16 pines de entrada para el puerto especifico
GPIOx->ODR
Es el registro por el cual se modifica el estado lógico de
Los Pines de salida, es decir se le asigna un nivel lógico
a dichos pines.
Ejemplo 1: Prender Leds Tarjeta
Realizar un programa que realice una secuencia definida
Por el programador usando los leds de la tarjeta

Paso 1: Crear proyecto


Paso 2: Insertar la referencia de la tarjeta
(STM32F746ZGTX)
Paso 3: Activar Paso 4: Adicionar
complementos un Grupo
• CMSIS->DSP y CORE
• DEVICE->Startup
Paso 5: Nombrar el grupo, y agregar
Un ítem .CPP al grupo
Paso 6: Hacer la estructura del programa
En este paso, se deben incluir las librerías, hacer el main
Y el bucle infinito.
Permiten usar
La configuración propia de
la familia de tarjeta que se
posea

Son las acciones que se realizarán al


empezar el programa y 1 vez

Son las sentencias que se ejecutarán


infinitamente debido al bucle
Paso 7: Configurar los pines
Los leds de la tarjeta se encuentra en los pines 0, 7 y 14 del puerro B,
por esto es necesario inicializar dichos pines como salida e inicializar
el puerto.
Reloj puerto B

Configuración pines
Paso 8: Realizar secuencia individual

Un for vacío es un tiempo muerto donde el microcontrolador no


realiza nada, comúnmente se usa como tiempo muerto pero es
muy ineficiente.
Paso 9: Preparar el compilador con
las características de la tarjeta
Debido a la variedad de familias de tarjetas o microcontroladores, es
necesario especificar al compilador el micro a usar, en este caso se
rellena el oscilador base de la tarjeta y otros parámetros.
Paso 9.1 Configurar la velocidad
y activar “MicroLib”
Paso 9.2 Crear el archivo .Hex
El archivo .hex es aquel que almacena toda la programación del
micro, con este archivo se pueden realizar simulaciones en
proteus y demás.
Paso 9.3 Especificar el compilador
Debido a que la tarjeta cuenta con un chip programador ST-LINK por
el cual se comunica el código cargado desde el PC al micro, se debe
usar el compilador ST-LINK.
Paso 9.4 Activar el compilador
Después de especificar que compilador se usara es necesario hacer
un reset y que luego corra el compilador escogido .
Paso 10. Compilar el programa y subir
Después de configurar el compilador del programa, se compila el
programa realizado verificando que no tuviera errores de sintaxis, si
todo esta perfecto se procede a subir el código a la tarjeta.

Compilar Subir programa


Ejemplo 2: Programación y lectura del
estado de un pulsador
Realizar un programa que al presionar un botón, se prenda un led de
la tarjeta.

Paso 1: Realizar los pasos 1


a 6 del ejemplo anterior
Paso 2. Configurar los pines
La tarjeta cuenta con un pulsador de reset y de usuario, el del usuario
es de color azul y se encuentra en el puerto C pin 13. Este pin se debe
configurar como entrada.
Configuración de los relojes

Configuración de los pines


Paso 3. Verificar Nivel lógico
Como se necesita verificar el estado lógico de un pin, se usar el registro
IDR. Además es necesario saber el del pin 13 en especifico, esto se hace
mediante la operación AND 0x2000, si el resultado es 0x2000 entonces
el pin esta encendido.

También podría gustarte