Está en la página 1de 9

Departamento de Eléctrica y Electrónica

Carrera de Electrónica y Automatización

MICROPROCESADORES Y MICROCONTROLADORES

Práctica 2.12

MANEJO DE DISPLAYS UTILIZANDO TDM CON EL PIC16F877

Autor:
Diego Cunalata Orellana

Docente:
Ing. Amparo Meythaler

NRC: 7803
1) OBJETIVOS
 Realizar ejercicios para el manejo de displays con el PIC16F877.
 Identificar la técnica Multiplexación por División de Tiempo (TDM).
2) MARCO TEORICO

MULTIPLEXACIÓN POR DIVISIÓN DE TIEMPO


Esta técnica se basa en encender y apagar cada dígito de manera muy rápida, de forma tal
que este cambio sea imperceptible a los ojos, aproximadamente cada 5ms.
Para esto se debe controlar el encendido y apagado de cada 7 Segmento, en este caso es
conveniente emplear transistores como interruptores, cuando en la base del transistor le
coloca un “1” permito que circule corriente a tierra o masa y el display se enciende, cuando
se coloca un “0” en la base del display se apaga porque el transistor está funcionando como
un circuito abierto.
Ventaja:
 Menor utilización de pines.
Desventaja:
 Complicación de software.

3) EQUIPOS Y MATERIALES
PC con los paquetes MPLAB IDE y PROTEUS.
4) ACTIVIDADES
a) Realizar el diagrama de flujo, la codificación e implementación correspondiente,
de un programa que realice un contador descendente de 2 en 2 con parada propia
desde FF y hasta E1, que se presente en dos displays (Ánodo Común) colocados en
los puertos del PIC16F877. Utilice cualquier retardo de tiempo.
1. Trabajo en el paquete MPLAB IDE.
 Digite el programa.

Figura 1 Diagrama de Flujo


Figura 2 Programa digitado en MPLAB

CÓDIGO:

LIST P=PIC16F877 CALL DECODIFICAR


ESTADO EQU 03 MOVWF PB
PCL EQU 02 MOVLW 0FE
PB EQU 06 MOVWF PC
PC EQU 07 CALL RETARDO
R1 EQU 25 DECF RY,1
RX EQU 26 MOVLW 00
RY EQU 27 XORWF RY,0
BTFSS ESTADO,2
ORG 0 GOTO UNO
BSF ESTADO,5 RETURN
CLRF PB
CLRF PC DECODIFICAR:
BCF ESTADO,5 ADDWF PCL,1
RETLW 0C0
MOVLW 0FF RETLW 0F9
MOVWF RX RETLW 0A4
INICIO RETLW 0B0
CALL MUX RETLW 99
MOVLW 02 RETLW 92
SUBWF RX,1 RETLW 83
MOVLW 0E1 RETLW 0F8
XORWF RX,0 RETLW 80
DOS: BTFSS ESTADO,2 RETLW 98
GOTO INICIO RETLW 88
CALL MUX RETLW 83
GOTO DOS RETLW 0C6
RETLW 0A1
RETLW 86
MUX: RETLW 8E
MOVLW 0FF
MOVWF RY RETARDO:
UNO: CLRF R1
MOVF RX,0 SIGA:
ANDLW 0F INCF R1,1
CALL DECODIFICAR MOVLW 51
MOVWF PB XORWF R1,0
MOVLW 0FD BTFSS ESTADO,2
MOVWF PC GOTO SIGA
CALL RETARDO RETURN
SWAPF RX,0 END
ANDLW 0F
 Compile el ejercicio hasta que obtenga 0 errores.

Figura 3 Programa Compilado Satisfactorio

2. Trabajo en el paquete PROTEUS.


 Realice el diagrama esquemático.

Figura 4 Diagrama Esquemático del Circuito en PROTEUS

 Cargue el programa compilado en el microcontrolador.


Figura 5 Programa con extensión .HEX cargado en el microcontrolador

 Corra el diseño y verifique el funcionamiento.

Figura 6 Multiplexación de los dos displays nos muestra el valor FF y el cual ira en descenso.
Figura 7 Multiplexación de los dos displays nos muestra el valor F9 y el cual ira en descenso.

Figura 8 Multiplexación de los dos displays nos muestra el valor ED y el cual ira en descenso.
Figura 9 Multiplexación de los dos displays nos muestra el valor E1 el cual será la parada del contador.

5) RESULTADOS
 Explique los errores cometidos en el ejercicio realizado (si los tuvo) y la forma
de corregirlos.
Se obtuvo errores en el diagrama esquemático en Proteus al ocupar el MPX de 7
segmentos en ánodo común, tuve que ocupar transistores NPN, el emisor tuve que
conectarle a tierra de los dos transistores, y en el colector se conecta al pin 1 y al
pin 2 respectivamente. Y las bases de cada transistor al puerto C en las líneas que
se ocuparon.
 Explique cuántos displays podría manejar, si se poseen 24 pines y se utilizará
la técnica Multiplexación por División de Tiempo (TDM).

Se utilizarán 17 display de 7 segmentos los cuales las 7 primeras líneas del primer
display se conectarán al puerto de salida donde se haya codificado para el encendido
de los segmentos. Luego las 17 líneas sobrantes de los displays se usarían para el
control de encendido de cada uno de ellos.

6) CONCLUSIONES
 En la Multiplexación por división de tiempo consiste en encender un único
display, mostrar el código y luego apagarlo para encender el otro display y hacer
lo mismo que el primero. ENCENDER, MOSTRAR y APAGAR.
 La velocidad para la multiplexación debe ser muy alta para dar la sensación de
que todos los displays se encuentran encendidos al mismo tiempo.
 Por seguridad se utiliza una subrutina de retardo que va entre 1 a 5 mili segundos.
 Se debe realizar la tabla de códigos de acuerdo al tipo de display (Ánodo o
Cátodo) y de su respectiva conexión al puerto del microcontrolador.
7) RECOMENDACIONES
 Se recomienda tener en cuenta cómo funcionan los displays y su modo de
conexión es decir si es Ánodo o Cátodo.
 Se recomienda para la decodificación tener en cuenta con que lógica trabaja los
displays y la conexión respectiva.
 Se recomienda tener en cuenta el tiempo de velocidad adecuada para la
visualización de los Displays.
8) BIBLIOGRAFIA/LINKOGRAFÍA

Bibliografía
GONZALEZ, M. (2011). Universidad de Sevilla . Obtenido de
https://www.cs.buap.mx/~mgonzalez/asm_mododir2.pdf

https://issuu.com/eslibre.com/docs/programaci__n_en_ensamblador_para_p

También podría gustarte