En esta actividad se debe lograr escribir en un display LCD la frase "Hola Mundo". Se realzará en lenguaje Assembler y luego se verificará su funcionamiento con un simulador (Isis).
El código del programa:
;Actividad 6: escribir "Hola Mundo" en un display LCD
;=======================================================================
;ZONA DE DATOS
;=======================================================================
LIST p=PIC16F84A
INCLUDE <p16F84a.inc>
__CONFIG _XT_OSC & _CP_OFF & _PWRTE_ON & _WDT_OFF
ERRORLEVEL -302
;=======================================================================
CBLOCK 0x0C
ENDC
;=======================================================================
;ZONA DE CODIGOS
;=======================================================================
ORG 0x000
goto Main
ORG 0X004
retfie
;======================================================================= Main
call LCD_Inicializa
movlw 'H'
call LCD_Caracter
movlw 'o'
call LCD_Caracter
movlw 'l'
call LCD_Caracter
movlw 'a'
call LCD_Caracter
movlw ' '
call LCD_Caracter
movlw 'M'
call LCD_Caracter
movlw 'u'
call LCD_Caracter
movlw 'n'
call LCD_Caracter
movlw 'd'
call LCD_Caracter
movlw 'o'
call LCD_Caracter
sleep
INCLUDE <LCD_4BIT.INC>
INCLUDE <RETARDOS.INC>
;=======================================================================
END
Para el correcto funcionamiento de este programa, se deben agregar dos librerias al proyecto. Para esto en la sección "Header Files", se debe hacer click derecho-->Add Files y luego agregar las librerias LCD_4BIT.INC y RETARDOS.INC.
Para practicar el lenguaje C, se pide realizar la misma actividad pero en dicho lenguaje.
El código para realizar la tarea es el siguiente:
#include "C:\Users\Alumno\Desktop\Programas en C\LCD.h"
#define LCD_ENABLE_PIN PIN_A2
#define LCD_RS_PIN PIN_A0
#define LCD_RW_PIN PIN_A1
#define LCD_TYPE 2
#include <lcd.c>
void main()
{
lcd_init();
}
while(TRUE){ //Generamos bucle infinito
lcd_gotoxy(1,1); //Vamos a la posicion 1 de la primera linea del LCD
printf(LCD_PUTC,"Hola mundo"); //Escribimos una cadena
} ; //Vuelve a iniciar el bucle
A continuación, el circuito para probar el funcionamiento de los programas realizados:
No hay comentarios:
Publicar un comentario