INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA
MECÁNICA Y ELÉCTRICA
UNIDAD CULHUACÁN
Organización de Computadoras
Práctica 6
“Convertidor Octal a BCD”
Equipo 6
Grupo: 5CV25
Integrantes:
Calderón García Raúl
Pineda Landeros José Ramón
Rodríguez Allende Andrés Enrique
Fecha de Entrega: 02/12/2020
Objetivo:
Conseguir que a el pic identifique una entrada en base al sistema de numeración
Octal y muestre a través de 2 leds la representación del número octal en BCD.
Desarrollo:
El pic16f84a es un microcontrolador que se puede programar para conseguir
ciertas acciones en un circuito, utilizamos el programa Proteus para simulación de
este microcontrolador.
Como podemos ver en la imagen necesitamos conectar el pic16f84a a el circuito
que queremos que controle.
Primero le proporcionaremos energía y colocaremos un reloj para poder empezar
a trabajar con el pic18f84a.
De esta manera el pic16f84a ya está alimentado, ahora agregamos los circuitos
que harán de entrada Octal en él pic16f84a.
Teniendo las entradas listas, ahora agregamos dos convertidor de BCD a 7
segmentos para interpretar las salidas.
Con esto el circuito está listo ahora solo falta programar el pic16f84a.
Las instrucciones que se usaran en el programa son:
call: Sirve para mandar a llamar una función.
movlw: Esta instrucción mueve el valor indicado al registro “w”.
movwf: Envía el valor que se encuentra en el registro “w” al resgistro indicado.
goto: Se dirige a la sección de código que se indica.
clrf: Limpia las entradas o salidas de información.
btfss: Comprueba si el bit y salta a la siguiente instrucción si es 1.
addlw: Suma la cantidad especificada al registro “w”.
Ahora con estas instrucciones realizamos el siguiente código:
Al inicio del programa tenemos 4 instrucciones que sirven para llamar a las
librerías necesarias para empezar a programar, así como organizar las direcciones
del pic.
Después de eso se llama a la función conf que configura las entradas y salidas del
pic, una vez echo esto empieza el programa el cual al principio filtra las entradas
RA0, RA1 y RA2 que hacen el primer numero Octal para saber de que numero se
trata y poner ponerlo en el display de la derecha, una vez filtrado el numero de las
primeras tres entradas se hace lo mismo con las entradas RA3 y RA4 solo que en
este caso se suma el valor de el numero filtrado al que ya se detecto antes
logrando así una salida conjunta de dos interpretaciones en BCD, con esto la
señal que sale esta dividida en dos partes RB0-RB3 contiene el primer número
interpretado del Octal pero en BCD y lo mismo con RB4-RB7 solo que este
contiene las decenas del número Octal, así que después de la ejecución del
programa se necesito de un convertidor de BCD a 7 segmentos en este caso
usamos el 74HC4511 el cual recibe cuatro entradas y las transforma a 7 salidas
para el display.
Los valores para saber que poner en el registro “w” fueron los siguientes.
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 BCD
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 0 2
0 0 0 0 0 0 1 1 3
0 0 0 0 0 1 0 0 4
0 0 0 0 0 1 0 1 5
0 0 0 0 0 1 1 0 6
0 0 0 0 0 1 1 1 7
Para saber que valor sumar a “w” para agregar las decenas usamos esta tabla
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 BCD
0 0 0 1 0 0 0 0 10
0 0 1 0 0 0 0 0 20
0 0 1 1 0 0 0 0 30
Con estas tablas podemos observar cómo se pasaron los datos de la entrada a
BCD y de ahí ya solo ocupamos el convertidor de BCD a 7 segmentos para
representar el número Octal.
Conclusión:
La práctica nos muestra como las entradas pueden interpretarse de la manera que
se necesiten y con la ayuda de otros componentes se puede obtener una mejor
lectura de una entrada de datos..