#define LCD_PORT_READ PORTB #define LCD_PORT_WRITE PORTB a) Qu significado tiene las sentencias que van despus de #define? b) Para TRISA=22 y PORTA=39; Cul es el resultado de TRISA= TRISA & (~BIT_0) y PORTA= PORTA | (~BIT_0)? y para TRISA=48 y PORTA=29? b) Cules son los valores de LCD_RS_DIR_OUT, LCD_RW_DIR_OUT y LCD_E_DIR_OUT, si TRI- SA=240? y para TRISA=0b10101010? c) Repita (b) pero para las variables LCD_RS_LOW, LCD_RW_LOW y LCD_E_LOW. d) Repita (b) pero para las variables LCD_RS_HIGH, LCD_RW_ HIGH y LCD_E_ HIGH. P2) a) Indique los nombres de las funciones que se definen en lcJ. , tipo de funcin y argu- mentos. b) Defina la funcin que realiza cada una de las funciones de la pate (a) P3) LCD CON 8 BITS a) Establezca en el archivo lcJ. , que el puerto de datos es el PORTB y que los pines de con- trol (E, RS y RW) son del PORTA. Compilar el siguiente CODIGO 1 #include <htc.h> #include "lcd.h" //Adicionar a la carpeta del proyecto, lcd.h y lcd.c //Configurar numero de bits de dato, frecuencia del PIC, //puertos que manejaran los pines de control y PORT //de datos del PIC en ldc.h. Ing. Armando A. Cajahuaringa Camaco Pgina 2
void main(void) { lcd_init(); lcd_gotoxy(0,0); lcd_puts("Hola Mundo!!"); while(1) {} // en lugar de {} colocar ; } b) Simularlo en MPLAB SIM para analizar su funcionamiento. c) Simularlo en ISIS para verificar su funcionamiento.
P4) Repita lo anterior agregando al programa: lcd_gotoxy(3,1); lcd_puts("HI-TECH C"); Que funcin realiza cada sentencia anterior? P5) LCD CON 4 BITS a) Modifique una lnea del archivo lcd.h para usar 4 lneas de datos para mostrar caracteres en el LCD. Denomnelo CODIGO2. b) Simularlo en MPLAB SIM para analizar su funcionamiento. c) Modifique el circuito en ISIS de la pregunta P1, retirando 4 lneas del puerto B, para simular el funcionamiento con 4 bits. Ing. Armando A. Cajahuaringa Camaco Pgina 3
P6) a) Modifique el archivo lcJ. para usar 4 lneas de datos y 3 pines de control (E, RW, RS) del mismo puerto, para mostrar caracteres en el LCD. Denomnelo CODIGO3. b) en ISIS, retire las lneas de control del PORTA y asgnelos a los pines del PORTB. Simule el circuito.
P7) a) Leer el archivo de Funcion sprint. Jocx para conocer como imprimir caracteres en lenguaje C. b) Compilar el siguiente cdigo, denominado CODIGO4,
char mensaje[16]; //para almacenar cadena de caracteres, hasta 16 unsigned char c=0; //variable a usarse como contador
void main(void) Ing. Armando A. Cajahuaringa Camaco Pgina 4
{ ADCON1=7; // Configura las E/S del puerto A como digitales o discretos lcd_init(); lcd_gotoxy(0,0); lcd_puts("Hola Mundo!!"); while(1) { lcd_gotoxy(0,1); sprintf(mensaje,"Nombre Apellido"); //Coloque su nombre y apellido lcd_puts(mensaje); c++; __delay_ms(500); } } b) Simularlo en MPLAB SIM para analizar su funcionamiento. c) Simularlo en ISIS para verificar su funcionamiento. d) Cul es la funcin de sprintf(mensaje,"Nombre Apellido")?
P8) a) Repetir la pregunta anterior, agregando la siguiente lnea, en lugar del sprint() sprintf(mensaje,"Contador =",c); Despus de la simulacin, explique el funcionamiento de la sentencia anterior. b) La sentencia anterior cambiarlo por: sprintf(mensaje,"Contador = %3u",c); Despus de la simulacin en ISIS, cul es la finalidad de %3u? c) Pruebe otros formatos para salida de caracteres, como %d, %s, %f, %c. P9) Visualice el archivo de video IiJco Iutoriol 8 isploy IC 2x16 E4478u con 6ilos y AC. mp4 e implemente una librera para manejar un LCD con 6 hilos (4 de datos y 2 de control) a) Qu cambios se deben de realizar en lcJ. para implementar lcJ_6ilos. ? Ing. Armando A. Cajahuaringa Camaco Pgina 5
b) Use lcJ_6ilos. para los ejemplos anteriores, para verificar su uso. P10) LCD CON 3 BITS a) Del anterior archivo visualizado, Qu cambios se realizara para manejar al lcd con 3 hilos? Se requiere solo software? b) Con los cambios realizados a lcJ. se tiene lcJ_cJ4u94. . Repita los ejercicios anteriores con esta librera, para verificar la escritura en el LCD.