Está en la página 1de 5

.

Universidad Galileo Guatemala 14 de septiembre de 2021


Facultad: FISICC Alumno: Randy Enrique Morán León
Curso: Microprocesadores Carnet: 19003081
Sección: A Hora de Laboratorio: 13:00 a 13:50
Auxiliar: Fabián Antonio Hernández Día de Laboratorio: Martes
Ventura

Laboratorio 5 Puertos Paralelos en C

Objetivos:
Aprender el procedimiento necesario para controlar los puertos paralelos de una tarjeta
de evaluación del microcontrolador STM32F303 utilizando en mi caso la tarjeta K8 con
la ayuda de IDE Keil uVision 5.

Resumen:
Para este laboratorio luego de aplicar todas configuraciones necesarias en Keil uVision5
para poder trabajar con nuestra tarjeta, procedemos a escribir el código que cumpla con los
requerimientos y tenga el funcionamiento pedido que sería simular un “Joystick” con 5 push
Buttoms y 5 leds, y que al presionar un push buttom que se encienda el led que le
corresponda según lo hayamos decidido.

Teoría:
El microcontrolador STM32F303 cuenta con hasta 6 puertos paralelos bidireccionales de
propósito general: Los puertos A, B, C, D. E y F de 16 pines cada uno, esto dependiendo
de cada tarjeta ciertos pines están reservados y no se pueden utilizar.

Todos estos puertos tienen datos asociados para escritura y lectura de datos conocidos
como Output Data Register (ODR) & Input Data Register (IDR). Los cuales podemos a
signar a los pines que se deseen en la forma que se deseen siempre verificando en el
manual que este se pueda utilizar.

GPIO: En una Entrada/Salida de Propósito General, a veces para el diseño de un sistema


completo que utiliza el chip podría ser útil contar con un puñado de líneas digitales de control
adicionales, y tenerlas a disposición ahorra el tiempo de tener que organizar circuitos
adicionales para proporcionarlos.

1
Keil uVision: Es un IDE con lenguaje de programación en C con gran variedad de
aplicaciones debido a las amplias opciones de trabajo que tiene.

ARM Cortex-M: Es un grupo de núcleos de procesador RISC ARM de 32 bits. Estos


núcleos están optimizados para circuitos integrados de bajo costo y eficiencia energética

Lenguaje de Programación C: Es un lenguaje orientado a la implementación de sistemas


operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y
es el lenguaje de programación más popular para crear softwares de sistemas y
aplicaciones.

Datos Prácticos:

Luego de comprobar que se puedan utilizar procedemos con el código activando primero la
señal de reloj para GPIOA y GPIOB que son los que vamos a utilizar.

Luego definimos los puertos que querremos como salidas y entradas y para las entradas
las ponemos en configuración Push Down. En mi caso lo hice todo con máscaras
guiándome en el manual para hacerla mascara según corresponda.

2
Por ultimo en yo decidí poner todos los casos de
relación entre un push buttom y un led directamente
en el While(1)

Definí AIN, AOUT, BIN, BOUT únicamente para que


el código fuera más “Agradable y entendible”

Mi tabla queda de la siguiente manera

3
Cálculos Teóricos:

Primero miro mi tarjeta para determinar que puertos puedo y voy a utilizar para luego revisar
en el manual si estos no están reservados para poder utilizarlos libremente en mi caso
decidí utilizar todos los de la derecha desde el PA0 hasta el PA7 y los otros 2 los PB4 y
PB5.

Para cada una de las aplicaciones me fui guiando con el manual según era necesario para
hacer las macaras y poner las configuraciones como yo quería en mi caso no fue necesario
poner ningún pin en 0 ya que todos venían en cero.

4
Conclusiones:
 Se debe tener cuidado al trabajar con la Tarjeta ya que en ocasiones que la toqué
no tenía el funcionamiento esperado y como es tan pequeña el estarla tocando
puede ocasionar una sobrecarga o yo puedo hacer función de tierra y correr riesgo
que se dañe la tarjeta.
 Los GPIO como su nombre lo dice que sean de propósito general da mucha
versatilidad de trabajar con ellos pero se debe tener a la mano el manual para ir
revisando que pines se pueden tocar y cuales no según la tarjeta que se tenga.

Bibliografía:

STM32F303K8 12/09/2021
https://www.st.com/en/evaluation-tools/nucleo-f303k8.html

Programo ERGO SUM 12/09/2021


https://www.programoergosum.com/cursos-online/raspberry-pi/238-control-de-gpio-
con-python-en-raspberry-pi/que-es-gpio

armDeveloper 12/09/2021
https://developer.arm.com/ip-products/processors/cortex-m

También podría gustarte