Está en la página 1de 9

UNIVERSIDAD CATÓLICA DE SANTA MARÍA

FACULTAD DE CIENCIAS E INGENIERAS FÍSICAS Y FORMALES


ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

MICROPROCESADORES Y MICROCONTROLADORES
PROGRAMACION EN ASSEMBLER
CONTADOR CON DISPLAY DE 0 A 99
ALUMNO:
 Escarcena Apaza Anderson Fredy

DOCENTE:
ING. PEDRO ALEX RODRIGUEZ GONZALES

GRUPO DE PRACTICA: MIERCOLES 09:00 A 11:00 AM

Arequipa – Perú
2019
PROGRAMACION DE CONTADOR ASCENDENTE DE 0 A 99 CON DISPLAY EN ASSEMBLER
CON PIC 16F8777A

La finalidad de esta sesión en la práctica de laboratorio del curso de microprocesadores y


microcontroladores es el hacer una programación en lenguaje assembler de un contador de 0 a 99
de manera ascendente usando como microcontrolador el pic 16f877a, primero se hará el
estructurado del programa creando un archivo Hex usando el software MplabXIDE y después
como quemador el software Pickit2.

COMPONENTES A UTILIZAR:

MICROCONTROLADOR PIC 16F877A:

Los microcontroladores poseen memoria interna de 2 tipos: las instrucciones y los registros, este
microcontrolador se programa en assembler, este microcontrolador es fabricado por Microchip,
este PIC posee varias características que lo hacen muy versátil eficiente y práctico para ser
empleado en la aplicación que mencionamos anteriormente.

Este PIC soporta modo de comunicación serial, amplia memoria para datos y programa y su
memoria es reprogramable denominada FLASH este tipo de memoria borra electrónicamente el
programa y tiene un set de instrucciones reducido (modelo RISC).

Figura N°1

INTEGRADO 74LS47:

El circuito integrado 7447 es un circuito que decodifica señales binarias de 4 bits en unas lineas de
salida que posteriormente pueden ser representadas por un display de 7 segmentos mostrando
los dígitos decimales.
Los pines 7,1,2 y 6 funcionan como entradas de un numero binario, mientras los pines
9,10,11,12,13,14,15 pertenecen a las lineas de salida y a cada uno de estos pines le corresponde
un segmento del display. También se encuentran los pines de alimentación 16+ y 8- y los pines de
control.
Figura N°2

DISPLAY 7 SEGMENTOS:

Es un dispositivo que cuenta como su nombre lo dice con siete segmentos cada uno con un diodo
led, los diodos led van unidos en un punto común que puede ser de cátodo o ánodo, cuando el
display es de cátodo común los segmentos se prenderán con señales positivas y si es de ánodo
común con señales negativas. Estos displays cuentan con diez pines 7 para los segmentos
numéricos, uno para el punto y dos de alimentación, los pines se distribuyen como lo muestra el
datasheet de abajo.

Figura N°3

OSCILADOR DE CRISTAL:
es un oscilador electrónico que utiliza la resonancia mecánica de un cristal vibratorio
de material piezoeléctrico para crear una señal eléctrica con una frecuencia precisa. Esta
frecuencia se utiliza comúnmente para controlar el tiempo, como en los relojes de cuarzo, para
proporcionar una señal de reloj estable para circuitos integrados digitales y para estabilizar las
frecuencias en esta sesión lo utilizaremos para la frecuencia de nuestro circuito y controlar el
tiempo en el contador que se mostrara en los display.
Figura N°4

PROGRAMACION EN ASSEMBLER CONTADOR DE 0 A 99


__CONFIG _CP_OFF & _PWRTE_ON & _LVP_OFF & _WDT_OFF & _HS_OSC
list P=16F877A
include<p16f877a.inc>
CBLOCK 0X20
D1
D2
D3
CONTADOR
ENDC
ORG 0X00
;CONFIGURACION
BSF STATUS ,RP0
CLRF PORTB
CLRF PORTC
BCF STATUS,RP0
CLRF PORTB
MOVLW 0X00
MOVWF CONTADOR
CALL RETARDO_250ms
;PROGRAMA PRINCIPAL
CUENTA
INCF CONTADOR,F
MOVF CONTADOR,W
ANDLW 0X0F
SUBLW 0X09
BTFSC STATUS,W
GOTO MOSTRAR
MOVLW PORTB
ADDWF CONTADOR,F
MOSTRAR
MOVF CONTADOR,W
SUBLW 0X99
BTFSS STATUS,C
CLRF CONTADOR
MOVF CONTADOR,W
MOVWF PORTB
CALL RETARDO_250ms
GOTO CUENTA
RETARDO_250ms
MOVLW 0x8A
MOVWF D1
MOVLW 0xBA
MOVWF D2
MOVLW 0x03
MOVWF D3
Delay_0
DECFSZ D1, f
GOTO $+2
DECFSZ D2, f
GOTO $+2
DECFSZ D3, f
GOTO Delay_0
GOTO $+1
GOTO $+1
NOP
RETURN
END

Según el programa se ve que decidimos programar las salidas mediante el puerto B del PIC para el
primer display en BCD desde B0 a B3 y del B4 al B7 para el segundo display

ESTRUCTURA DEL CIRCUITO EN PROTEUS

El oscilador de cristal a utilizar es de 16MHz


Como lo mencionamos anteriormente programamos en el puerto B del pic 16F877A a
continuación se muestra su diagrama de bloque.

CIRCUITO SIMULADO EN PROTEUS CON EL CODIGO INTRODUCIDO YA EN EL PIC EN FORMATO


HEX
CIRCUITO ARMADO EN PROTOBOARD

También podría gustarte