Escolar Documentos
Profissional Documentos
Cultura Documentos
Microcontroladores
V Ciclo
Laboratorio N°05
“Programación y Simulación del Aplicativo I”
Informe
Integrantes:
Profesor:
Lima-Perú
2018
1
Microcontroladores Programación y Simulación I
ÍNDICE
I. Objetivos ............................................................................................................................... 3
II. Introducción ...................................................................................................................... 3
III. Marco Teórico ................................................................................................................... 3
IV. Equipos y Materiales ................................................................................................................ 6
V. Resultados de Laboratorio ................................................................................................ 7
Reto en Clase ................................................................................................................................. 7
Codigo de Programación ............................................................................................................... 8
Simulación en Proteus ................................................................................................................. 10
Desarrollo de Aplicativos............................................................................................................. 11
Grupo 1:....................................................................................................................................... 11
Código del Programa ................................................................................................................... 12
..................................................................................................................................................... 13
Simulación en Proteus ................................................................................................................. 15
Grupo 3 – Adicional por PUNTOS ................................................................................................ 18
Código de Programa .................................................................................................................... 18
Implementación en Físico Aplicativo 3........................................................................................ 20
Grupo 5 – Adicional Para Puntos................................................................................................. 22
Código del Programa ................................................................................................................... 22
Simulación en Proteus ................................................................................................................. 24
VI. Observaciones y Recomendaciones ....................................................................................... 25
VII. Conclusiones ......................................................................................................................... 26
IX. Referencias Bibliográficas ...................................................................................................... 26
Listado de Figuras
Figura 1. Estructura de la Pantalla LCD 16X2 ........................................................................................ 4
Figura 2. Memoria DDRAM del LCD 16x2.............................................................................................. 5
Figura 3. Pantalla display 2x16 .............................................................................................................. 6
Figura 4. Equipos y Materiales .............................................................................................................. 7
Figura 5. Parking de 2 pisos con LCD 16x2 .......................................................................................... 11
Figura 6. Declaración de datos del PIC16F877A .................................................................................. 12
Figura 7. Menú de inicio de Parking .................................................................................................... 13
Figura 8. Programa de Parking para cada piso .................................................................................... 13
Figura 9. Etapa Final del parking ......................................................................................................... 14
Figura 10. Parking con 4 estacionamientos ocupados ........................................................................ 17
Figura 11. Implementación en Físico .................................................................................................. 17
Figura 12. código de Programación para Grupo 3 .............................................................................. 19
Figura 13. Selección de Giro ................................................................................................................ 20
2
Microcontroladores Programación y Simulación I
I. Objetivos
II. Introducción
En este laboratorio se programa el PIC16F877A teniendo como objetivo modificar las entradas y
salidas digitales de los puertos del microcontrolador utilizando registros como el PORT y TRIS, en la
actualidad los microcontroladores constituyen una forma de proveer inteligencia a equipos o
sistemas para un mejor desempeño de los mismos.
La tarea más básica que podemos hacer con un microprocesador es sustituir a un circuito
combinacional o secuencial. Podemos encender una luz para cierta combinación de entradas,
conectar una bomba cuando el nivel de un depósito sea menor de cierto umbral y pararla cuando
supere otro umbral, activar una alarma cuando se active algún sensor y la alarma esté armada, etc.
Para poder hacer estas cosas, el microprocesador necesitará tener entradas y salidas digitales, igual
que las de cualquier puerta lógica. El microprocesador PIC16F877 tiene 33 patillas que pueden ser, a
voluntad nuestra, entradas o salidas, de forma que podemos hacer, por ejemplo, 10 funciones con
15 entradas. De todos modos, el tiempo de respuesta de esas funciones es mucho mayor que el de
las funciones realizadas con puertas lógicas, aunque en la mayoría de los casos ese tiempo no es
demasiado importante; que la alarma suene 1 milisegundo después de abrir la puerta no parece
grave. Ahora bien, estas entradas y salidas digitales tienen niveles TTL, por lo que su tensión de
entrada y salida tendrá que estar comprendida entre 0 y 5. Necesitaremos unos circuitos que harán
de interface entre estos niveles TTL y los niveles con los que estemos trabajando, 220 VAC, 24 VDC o
cualquier otra tensión.
¿Qué es un LCD?
El LCD (Liquid Crystal Display) o pantalla de cristal líquido es un dispositivo empleado para la
visualización de contenidos o información de una forma gráfica, mediante caracteres, símbolos o
pequeños dibujos dependiendo del modelo. Está gobernado por un microcontrolador el cual dirige
todo su funcionamiento.
En este caso vamos a emplear un LCD de 16x2, esto quiere decir que dispone de 2 filas de 16
caracteres cada una. Los píxeles de cada símbolo o carácter, varían en función de cada modelo.
3
Microcontroladores Programación y Simulación I
¿Como es su conexionado?
Pines de alimentación:
Vss: Gnd
Vdd: +5V
Vee: corresponde al pin de contraste, lo regularemos con un potenciómetro de 10K conectado a Vdd.
Pines de control:
RS: Corresponde al pin de selección de registro de control de datos (0) o registro de datos (1). Es
decir, el pin RS funciona paralelamente a los pines del bus de datos. Cuando RS es 0 el dato presente
en el bus pertenece a un registro de control/instrucción. y cuando RS es 1 el dato presente en el bus
de datos pertenece a un registro de datos o un carácter.
RW: Corresponde al pin de Escritura (0) o de Lectura (1). Nos permite escribir un dato en la pantalla
o leer un dato desde la pantalla.
E: Corresponde al pin Enable o de habilitación. Si E (0) esto quiere decir que el LCD no está activado
para recibir datos, pero si E (1) se encuentra activo y podemos escribir o leer desde el LCD.
¿DDRAM y CGROM?
4
Microcontroladores Programación y Simulación I
La memoria CGROM es una memoria interna donde se almacena una tabla con los caracteres que
podemos visualizar en el lcd. En la imagen podemos ver un ejemplo de la tabla con un contenido de
192 caracteres.
La memoria CGRAM (Character Generator Ram): en ella se pueden almacenar nuestros propios
caracteres.
Un Display de cristal líquido o también conocido por sus siglas como LCD (Liquid Crystal Display), es
un elemento que remplaza fácilmente a los Displays de segmentos que existen en el mercado, estas
pequeñas pantallas no se ven limitadas por la falta de espacio ya que actualmente se pueden
conseguir de un tamaño suficiente para cubrir cualquier necesidad, además el aumento en el tamaño
del dispositivo no significa un aumento en las conexiones eléctricas del mismo (esto es un punto a su
5
Microcontroladores Programación y Simulación I
decristal-liquido-lcd-definicion-caracteristicas-y-conexion/)
• Computadora
• Software de desarrollo
• Manual del fabricante
• Tarjeta de desarrollo
6
Microcontroladores Programación y Simulación I
V. Resultados de Laboratorio
Reto en Clase
• Indicar en un Display LCD 16x2 el valor del ángulo del servomotor, que cada 1 seg. este gire
45° angulares, iniciando desde 0° y finalice en los 180°, luego regrese desde los 180°
a 0° angulares, de esa manera repite su ciclo por 10 veces.
7
Microcontroladores Programación y Simulación I
Codigo de Programación
8
Microcontroladores Programación y Simulación I
9
Microcontroladores Programación y Simulación I
Simulación en Proteus
10
Microcontroladores Programación y Simulación I
Una vez terminado los 10 ciclos como se pide en el reto, se visualizará un mensaje en el LCD
diciendo que el ciclo termino, así como se puede ver en la siguiente figura.
Desarrollo de Aplicativos
Para este laboratorio se pidió un caso de estudio propuesto por el docente, este trabajo fue
designado a cada grupo con una propuesta distinta.
Grupo 1: Programar y simular un circuito con display LCD 16X2, donde simule 6 estacionamientos
en el 1° piso y otros 6 en el 2° piso, en la pantalla LCD debe indicar los espacios disponibles y los no
disponibles.
11
Microcontroladores Programación y Simulación I
En la siguiente imagen se aprecia los datos, la librería que pertenece al PIC16F877A, también de
emplea una Macro16f877 y registros que se utilizarán en el código principal del proyecto. Estos se
digitan al encabezado de cada programa. El CBLOCK y ENDC es donde se declaran las variables y
estas inician desde el registro 0x20.
En la figura 7 se hace el llamado del LCD con el comando InicioLcd. También creamos el menú de
inicio de nuestro parking con el cual iniciara. La librería mensaje fue alterada con el fin de satisfacer
nuestra necesidad de programa y así mostrar los mensajes adecuados.
12
Microcontroladores Programación y Simulación I
13
Microcontroladores Programación y Simulación I
Como se puede observar en la figura 9, se hizo uso de las librerías LCD, MENSAJE Y
ELECTRONICPIC16F877A. Puesto que estas librerías nos facilitaron la solución de este programa,
optimizando muchos recursos como tiempo, inicialización del LCD, etc.
14
Microcontroladores Programación y Simulación I
Simulación en Proteus
15
Microcontroladores Programación y Simulación I
16
Microcontroladores Programación y Simulación I
Implementación en Físico
17
Microcontroladores Programación y Simulación I
´Para una mejor visualización de la aplicación, se compartió una carpeta de Drive donde
se encuentra un video de su correcto funcionamiento. →→
https://drive.google.com/drive/folders/1C4g5JqUNQncHQw8Keeev-5Wp4Ced2YyW?usp=sharing
Programar y simular la posición de un servomotor, indicando la posición en una pantalla LCD 16X2,
con un teclado matricial, obligando a 0° hasta 180°.
Código de Programa
18
Microcontroladores Programación y Simulación I
19
Microcontroladores Programación y Simulación I
call Microsegundo
endm
movfw reg
call Diezusegundo
endm
20
Microcontroladores Programación y Simulación I
21
Microcontroladores Programación y Simulación I
22
Microcontroladores Programación y Simulación I
En la siguiente imagen se aprecia los datos, la librería que pertenece al PIC16F877A, también de emplea
una Macro16f877 y registros que se utilizarán en el código principal del proyecto. Estos se digitan al
encabezado de cada programa. El CBLOCK y ENDC es donde se declaran las variables y estas inician desde
el registro 0x20. En la figura se hace el llamado del LCD con el comando CALL INICIO_LCD. También creamos
una matriz para guardar la clave que se introducirá. En el programa inicial se aprecia el mensaje de
23
Microcontroladores Programación y Simulación I
Simulación en Proteus
24
Microcontroladores Programación y Simulación I
• Para la correcta realización del laboratorio, es necesario seguir todos los pasos al pie de la
letra, con el fin de prevenir errores y pérdidas de tiempo.
• Las configuraciones de TRIS son necesarias para definir cuáles van a ser nuestras salidas y
cuáles serán entradas.
• Se puede hacer modificaciones en la librería al gusto del proyectista, como se hizo en este
proyecto, en donde se hizo una pequeña modificación de la librería del teclado para hacer
más simple el trabajo.
25
Microcontroladores Programación y Simulación I
• Para acceder a un tiempo establecido por el valor de un registro se tuvo que modificar y
agregar una nueva función o macro a Macro16F877.INC
VII. Conclusiones
➢ Se determinó que los TRIS pueden ser utilizados como entradas y salidas dependiendo si
están en 1 y 0 lógico respectivamente.
- Recuperado de:
http://www.udb.edu.sv/udb/archivo/guia/AssemblerPic/2013/i/guia-6.pdf
- Recuperado de:
26
Microcontroladores Programación y Simulación I
http://csd.newcastle.edu.au/SpanishPages/clase_slides_download/PIC16F877A.pdf
- Recuperado de:
http://www.eng.newcastle.edu.au/~jhb519/teaching/caut1/AssemblerMac .pdf
- Alfaro, V. (2006). Lenguaje Assembler para Ingenieros. M.Sc Tesis, Escuela de Ingeniería
Eléctrica, Universidad de Costa Rica.
27