INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA
DE INGENIERÍAS Y CIENCIAS SOCIALES Y
ADMINISTRATIVAS
Ingeniería En Informática
Dispositivos Programables
Práctica III.
Puertos y Etiquetas
Prof. Hernández Rojas Alejandra
Reyes Mandujano Angel Raúl
2022601794
4NV41
Lunes 18 de marzo de 2024
Contenido
Introducción ........................................................................................................................................ 3
Metodología ........................................................................................................................................ 3
Procedimiento ................................................................................................................................. 4
Resultados ........................................................................................................................................... 5
Código.............................................................................................................................................. 5
Capturas .......................................................................................................................................... 6
Ensamblador ................................................................................................................................ 6
Simulación ................................................................................................................................... 6
Conclusión ........................................................................................................................................... 8
Referencia............................................................................................................................................ 8
Introducción
Los microprocesadores tienen virtudes individuales uno con respecto a otro, siendo
utilizados específicamente para una tarea en la industria en base a dichas virtudes,
es decir, especificaciones del equipo, no obstante, una característica primordial de
los microprocesadores son los puertos, pues son pines capaces de interactuar con
el entorno con señales de entrada y/o salida. Para el caso del PIC18F4550 existen
hasta cinco puertos con una cantidad definida de bits (PORTA – PORTE), cada uno
con tres registros diferentes para su operación, el registro PORT es capaz de leer
los niveles en el pin del dispositivo y es utilizado únicamente como lectura y el
registro TRIS puede dirigir los datos, configurando las entras y las salidas del
dispositivo; finalmente el registro LAT funciona como un bloqueo de salida. Por otra
parte, las etiquetas son sentencias que no generan lenguaje objeto (y por lo tanto
omisibles por el procesador) útiles para organizar los bloques de programación e
incluso utilizarse como funciones [1].
Metodología
A través de etiquetas, uso de puertos y la sentencia BRA (BRANCH, útil para ramificar
el código y hacer un salto en el bloque de programación de hasta 40 líneas en
cualquier dirección), se desarrollará un programa que encuentre señales de entrada
en el puerto A y las replique en el puerto B.
Es relevante identificar el registro ADCON1, registro que cambia el estado de un
puerto, en específico, cambia el estado de varios pines en el puerto A, pues aquellos
RA0:RA3/RA5 son configurados como entradas exclusivamente analógicas de
fábrica, al configurar el registro ADCON1 es posible establecer las entradas en el
puerto A (definidas a través de TRISA) como señales completamente analógicas,
mediante el valor 1111(2) → F(16) [1].
Así mismo, se utilizará el pin número seis del puerto A, que requiere activación a
través de la configuración del oscilador y los bits de FOSC3:FOSC0, dicha
3
configuración se explica explícitamente antes del origen del programa con la
directiva correspondiente.
Procedimiento
La configuración necesaria para que el puerto A detecte solo entradas es la
dirección del registro TRISA con todos sus bits en set (0x7F → 0xFF), y para que el
puerto B muestre salidas, la dirección del registro TRISB debe tener todos sus bits
en clear (0x00).
TRISA 0xFF TRISB 0x00
1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
(Solo entradas) (Solo salida)
Finalmente, lo que encuentre el puerto A será almacenado en el registro de trabajo
W y subsecuentemente al puerto B.
4
Resultados
Código
LIST P=18F4550
CONFIG FOSC = INTOSCIO_EC
#include <p18f4550.INC>
ORG 0
MOVLW 0xFF
MOVWF TRISA
MOVLW 0x00
MOVWF TRISB
MOVLW 0x0F
MOVWF ADCON1
INICIO
MOVF PORTA, 0
MOVWF PORTB
BRA INICIO
END
5
Capturas
Ensamblador
Simulación
Componentes
6
7
Conclusión
Los puertos en el microprocesador son un elemento indispensable para el manejo
de este, pues con ayuda de sus registros es posible monitorear la señalizaciones
que ocurren en el entorno, siendo estos los vínculos directos del microprocesador
con nuestra realidad, siendo útiles para muchas aplicaciones en el sector industrial,
tales como encontrar señales, convertirlas, procesarlas y hasta monitorearlas,
siendo entonces un medio eficiente para convertir el microprocesador en un sistema
de información completo, interpretando las señales en bytes como datos para
información real y útil. Simultáneamente, la configuración de los registros abre una
posibilidad enorme para el desarrollo de proyectos que encuentren, busquen,
transformen y reflejen señales en los puertos.
Referencia
[1] MICROCHIP, PIC18F2455/2550/4455/4550, Microchip Technology Inc, 2009.