MICROPROCESADORES
PROFESOR: BRAVO LEÓN JOSE LUIS
PRÁCTICA 5.
GRUPO: 6CM1
Puertos de Entrada/Salida
• Pines de entrada/salida (I/O) de propósito general
• Mediante ellos, el micro PIC puede monitorizar y controlar otros dispositivos.
• Para añadir flexibilidad al micro, muchos de sus pines de entrada/salida están multiplexados
con funciones alternativas.
•Para la mayoría de los puertos, la dirección del pin I/O es controlada por el registro de
dirección de datos, llamado TRIS. TRISX<n> controla la dirección del pin n del puerto X.
• Un 1 en el registro TRIS indica que el pin es entrada. Un 0 indica que es salida.
El registro PORT funciona como un latch para los datos de salida. Cuando el registro PORT
se lee (Ej, MOVF PORTB,W), el micro lee los niveles presentes en los pines de I/O (no en
los latches). Cuando una función está multiplexada en un pin de I/O de proposito general, la
funcionalidad de un pin puede cambiar para acomodarse a los requisitos del módulo
periférico. Por ejemplo, si un micro tiene un conversor A/D, los pines asociados a este
módulo están configurados en un RESET como entradas analógicas para evitar un consumo
de corriente excesivo en el buffer de dicho pin si este estuviera configurado como entrada
digital y el valor de tensión en el pin estuviera a un nivel intermedio.
EQUIPO Y MATERIAL
DESARROLLO
foto
2. Subrutinas
2.1 Se elabora el programa en lenguaje ensamblador de una rutina que despliega una
cuenta ascendente en el módulo de 7 segmentos conectado en el puerto D con
intervalos de 500ms.
2.1.1 De acuerdo al siguiente diagrama de flujo, el programa principal el
programa principal debe considerar el empleo de las siguientes subrutinas
a) C_puertos.- encargada de la configuración de puertos
b) T500.- subrutina de retardo de 500ms.
Programa principal:
Hace el llamado a la rutina de configuración de puertos e
incrementa el contenido del PORTD.
Hace el llamado a la rutina T500 y regresa a incrementar el
valor de PORTD.
C_puertos:
Configura el PORTD para 8
líneas de salida inicialmente
en cero.
T500:
Subrutina de retardo; utiliza tres contadores R0, R1,
R2 para realiza una cuenta descendente desde un valor
inicial de 01FFFF hasta 000000
3. Se realiza la codificación del programa:
3.1 Se abre las ventanas para visualizar el registro PORTD, los registros de memoria
y el Stopwatch a una frecuenci de 48MHz
1.25𝑥10−6
Tiempo por ciclo = = 83.333nS
15
1.25S 15 83.333nS
Tabla 1
3.3 Se coloca un punto de ruptura en la línea GOTO ETIQ1 y se pone en ceros el contador
de tiempo en el Stopwatch.
3.4 Se ejecuta el programa en modo de animación y se observa los registros de memoria R0,
R1, R2 decrementan en cada ciclo.
3.5 Se ejecuta el resto del programa hasta el punto de la ruptura con el comando run, en la
tabla 2 se observa el número de ciclos de instrucción y el tiempo transcurrido.
16.34325𝑥10−3
Tiempo por ciclo = = 83.333nS
196119
REFERENCIAS
https://silvamondrano.wordpress.com/2010/11/29/4-2-3-modos-de-
direccionamiento/
Consultado el 6 de Marzo, 2019