Vous êtes sur la page 1sur 21

PROGRAMACIN DE

MICROCONTROLADORES
IV CICLO

LABORATORIO N4
PUERTOS DE ENTRADA Y SALIDA PARTE II

Profesor: Rubn Gil Chacaltana


Seccin: A

Integrantes:
Lovatn Anthony
Quinto Inti Alonso
Lazo.

2016 - I

INTRODUCCIN
Este laboratorio tiene como finalidad realizar cierta secuencia de pasos para
establecer entradas y salidas en el PIC16F877A, ya que nos va a permitir
desarrollar ciertas aplicaciones para el uso del display de 7 segmentos de
nodo comn o ctodo comn bajo ciertas libreras que vamos a crear y vamos
a usar a lo largo del desarrollo del laboratorio explicando cada algoritmo
desarrollado en el MPLAB. A continuacin, explicaremos el uso de la librera
electronicpic16f877a.asm realizada en el Assembler como base del uso del
display y pantalla LCD de 16x2.

Marco Terico

PIC16F877:
Es un microcontrolador de Microchip Technology fabricado en tecnologa CMOS, su
consumo de potencia es muy bajo y adems es completamente esttico, esto quiere
decir que el reloj puede detenerse y los datos de la memoria no se pierden. Adems
tiene memoria de programa tipo FLASH, lo que representa gran facilidad en el
desarrollo de prototipos y en su aprendizaje ya que no se requiere borrarlo con luz
ultravioleta como las versiones EPROM, sino que permite reprogramarlo nuevamente
sin ser borrado con anterioridad.

Imagen1. PIC16F877A

Instrucciones de Programador:
Estos microcontroladores responden a una serie de instrucciones o cdigos que se
deben grabar en su memoria de programa, en total son 35. A continuacin se
encuentra una tabla con la lista completa y despus una descripcin de cada una de
ellas con el fin de facilitar su aprendizaje.

Imagen2. Comando MPLAB.

PROCEDIMIENTO PARTE1: Display


de 7 Segmentos
Esta parte del laboratorio est hecha para hacer que mediante 1 pulso en UP
el Display de 7 segmentos empiece a contar en orden ascendente y un pulso en
DOWN el conteo sea en orden descendente siendo el mximo valor 9 y el
mnimo valor 0.

Al copiar el cdigo de programacin del PIC16F877A vemos que se


logr con xito la compilacin del programa.

Imagen3. Build all

Ojo: Antes de intentar incluir una librera, primero revisar si esta


librera existe y est guardada en el mismo documento en el que se
guarda los proyectos.

A continuacin, analizaremos cada bloque de comandos.

En Inicio, se definen las salidas en el banco 1 mandando a 0 el


PORTB (TRISB), luego empiezo a programar en el banco 0; haciendo
que, al iniciar el conteo, en el display aparezca el nmero 0

Imagen4. Inicio

El TesteaUp y TesteaDown, son las entradas que vienen a ser


analizadas al presionar el botn UP o DOWN haciendo un salto a
IncrementarCuenta si el bit 0 de PORTD es 1; y si no, salta a
TesteaDowm que hace el mismo anlisis, pero ahora analizando el bit
1 del PORTD, saltando a DecrementarCuenta si el bit 1 es 1.
Imagen5. Testeo

En esta parte del programa se encuentra la mayor parte de


comandos, ya que consiste en hacer prender los leds

correspondientes a los nmeros en orden creciente o decreciente


haciendo un llamado(call) de libreras y adecuando el tiempo de
respuesta.

Imagen6. Incremente y Decremento de cuenta.

Se ponen las condiciones del inicio en 0 y al momento que llega a 9 y


se quiere seguir pulsando UP, vuelve a 0.
Imagen7. Condiciones

SIMULACIN:

Imagen8. Simulacin

Al ponerle PLAY, el display comienza siempre con el nmero 0.

Imagen9. Simulacin

El mximo nmero del conteo.

2. Qu encontramos en la librera electronicpic16f877.asm?

Sirve para generar retardos en el sistema para evitar estar


poniendo comandos de ms al momento de aumentar el tiempo.

PROCEDIMIENTO PARTE2:
LCD 16X2

Esta actividad consiste en programar una pantalla LCD de 16X2 para


que muestre cierto mensaje a travs de un PIC16F877A.

Imagen10. Buid all

Vemos que la compilacin fue exitosa. No olvidarse de tener la


librera LCD.

Comprobacin del funcionamiento del programa en Proteus 8


Professional.
Imagen11. Simulacin

Desde el inicio del programa se llama a las libreras(call) y se ve que


va variando el valor de W por cada llamada que se hace, ese tipo de
configuracin es utilizada al momento de configuracin de una
pantalla LCD.

Imagen12. Primera parte de la programacin.


Imagen13. Parte final de la programacin.

Tener en cuenta que al final del programa se trabajan con dos


libreras, electronicpic16f877.asm y lcd.asm.
2. Qu encontramos en la librera lcd.asm?
Cumple la funcin de Ordenar y Simular los caracteres que se
ponen en la pantalla LCD 16X2 que son colocados respecto al
valor que se le da a W, en este caso se visualiza la palabra
CURSO PIC

3. En esta actividad te piden copiar un cdigo y analizarlo.

Se ve que se cumpli con xito la compilacin.

Imagen14. Build all

La compilacin de este programa te manda una simulacin parecida


a la anterior, pero al nombrar la librera mensaje.asm se acorta la
cantidad de comandos y se logra colocar un texto de mayores dgitos
parpadeando cada cierto tiempo.
Imagen15. Simulacin con librera mensaje.asm.

4. En qu consiste el programa realizado?


Tiene la misma funcin que la simulacin anterior, pero al final el
haber agregado la librera mensaje.asm logr un mayor resultado
al tener ms dgitos mostrados en la pantalla LCD y hacer que el
mensaje parpadee cada cierto tiempo.

5.Qu encontramos en la librera mensaje.asm?

Enva datos que prximamente son convertidos en un texto que


se va a mostrar en la pantalla LCD.

Imagen16. Primera parte de la programacin.

Imagen17. ltima parte de la programacin con librera mensaje.asm

6. Qu contiene la librera macro16f877.asm?


Contiene pasos que acortan el traslado de informacin y contiene
procesos de retardo en milisegundos y a la vez contiene
direcciones para controlar una pantalla LCD 16X2.

APLICACIN DE LO APRENDIDO
1. Primera parte de la cuenta del 0 al 99

Se estable entradas y salidas en el banco 1 mediante BSF


mandando al bit 5 al set. Se estable TRISC como salida al igual
que TRISB. Luego volvemos al banco 0 haciendo clear (0) el bit 5.

Se hace llamado a CUENTA y SEG.

2. Hacer un programa con implementacin elctrica de control de tres


focos de 220v.

Implementacin elctrica en Proteus Professional 8.

Figura1.
elctrica de

Parte
potencia y
control

Ya que el microcontrolador tiene en su salida un valor pequeo de


voltaje incapaz de prender un foco de 220v se hace un circuito de
potencia mediante transistores para tener una ganancia de corriente
que va a accionar al relee y este activara el foco.

Observaciones:

Guardar todas las libreras necesarias para poder ser incluidas al


momento de realizar la compilacin, ya que te puede mandar error por
no existir la librera.
Fijarse del rango de trabajo del PIC16F877A est en 20MHZ, ya que se
cambia el valor del CRYSTAL, esto puede causar confusin en la primera
parte del laboratorio, porque al hacer un pulso en UP o DOWN se
demora en realizar la respuesta en el display.
Tomar en cuenta con qu tipo de DISPLAY se est trabajando sea en
nodo comn y ctodo comn.
Ver cules son las entradas y salidas que nombras en el PIC en el
banco1 al momento de hacer la implementacin.
Calcular el tiempo de respuesta del proceso para que pueda ser visible
lo que se quiera lograr, por eso se agregan las libreras de RETARDO.

Conclusiones:
Se logr programas el PIC16F877A y a la vez lograr una
implementacin exitosa en la simulacin.
Se logr hacer cuentas en un display de 7 segmentos sea en orden
ascendente o descendente mediante un pulso.
Se logr visualizar mensajes en la pantalla LCD 16X2 acomodando las
palabras en el orden que desebamos y logrando hacer que aparezca y
desaparezca como un letrero de anuncio.
Se logr hacer un circuito de control y a la vez de potencia al lograr el
encendido de un foco de 220v mediante transistores y relees.
Se logr identificar los diferentes tipos de libreras que adjuntbamos
en la programacin en MPLAB.

Vous aimerez peut-être aussi