Está en la página 1de 5

UNIVERSIDAD MAYOR DE SAN ANDRES MICROCONTROLADORES

FACULTAD DE INGENIERIA MECÁNICA Y ELECTROMECÁNICA

TAREA Nº 4
PROGRAMACIÓN Y MANEJO DEL LCD

1. OBJETIVOS

En la presente práctica el estudiante aprenderá a instalar, configurar y programar el


LCD, controlado por el PIC, de tal forma que pueda interactuar con el programador
mediante el despliegue de mensajes o como indicador.

2. ESQUEMA DE CONEXIÓN DE UN “LCD” CON EL


MICROCONTROLADOR

En el siguiente circuito se muestra una forma de conexión del microcontrolador y el


LCD

Ing. Javier Tarqui Valeriano


UNIVERSIDAD MAYOR DE SAN ANDRES MICROCONTROLADORES
FACULTAD DE INGENIERIA MECÁNICA Y ELECTROMECÁNICA

3. INSTRUCCIONES EMPLEADAS PARA EL LCD

Cuando se emplea el LCD con el microcontrolador, es necesario usar las siguientes


instrucciones:

• Librería para inicializar al LCD. #include <lcd.c>

Al incluir la librería, por defecto se configura para usar el puerto D, sin embargo si
el microcontrolador solo tiene 2 puertos estaría configurado para usar el puerto B.

Si se quiere usar otro puerto se debe configurar el mismo usando instrucciones

• Configuración de otro puerto. Cuando se quiere usar otro puerto del


microcontrolador que no sea el por defecto, se debe configurar el mismo para el
nuevo puerto, y para las terminales del LCD como son: “RS, RW, E y los
DATOS”. A continuación se muestra como configurar para el caso de usar el
puerto B, donde:
- El RS del LCD al pin b0
- El RW del LCD al pin b1
- El E (Enable) del LCD al pin b2
- Los demás pines de datos del LCD a los puertos b4 al b7 del microcontrolador

Empleando las sentencias en el programa se tendría:

#define lcd_rs_pin pin_b0


#define lcd_rw_pin pin_b1
#define lcd_enable_pin pin_b2
#define lcd_data4 pin_b4
#define lcd_data5 pin_b5
#define lcd_data6 pin_b6
#define lcd_data7 pin_b7
Nota. Nótese que no se ha empleado los pines D3, D2, D1, D0 del LCD; esto debido a que
estos terminales se emplean cuando se trabajan con 8 bits,

Los pines D4, D5, D6 y D7 son obligatorios y se emplean cuando se trabaja con 4 bits

• Inicializador del LCD. La sentencia: lcd_init();

• Ubica la posición del cursor en el LCD. lcd_gotoxy(a,b);


Por lo general se ubica en la posición (1,1), pero siempre está en función del
programa

Ing. Javier Tarqui Valeriano


UNIVERSIDAD MAYOR DE SAN ANDRES MICROCONTROLADORES
FACULTAD DE INGENIERIA MECÁNICA Y ELECTROMECÁNICA

• Despliega un mensaje. printf(lcd_putc,"MENSAJE");


Entre las comillas se pone el mensaje a desplegar

4. MATERIALES
- Microcontrolador PIC 16f877a
- Resistencias, capacitores y oscilador de cristal que son parte del circuito del
microcontrolador
- Resistencias de protección de 330 Ω
- LCD de 2x16

5. DESARROLLO DE LA PRÁCTICA

PROGRAMA 1. Despliega en el LCD un mensaje

Descripción: Este programa configura el LCD por otro puerto diferente al por defecto, y
despliega un mensaje

Programar en el PIC C – COMPILER el siguiente programa y luego simularlo en el


PROTEUS

#include <16f877a.h>
#include <lcd.c>
#fuses hs,nowdt
#use delay(clock=20000000)

#define lcd_rs_pin pin_b0


#define lcd_rw_pin pin_b1
#define lcd_enable_pin pin_b2
#define lcd_data4 pin_b4
#define lcd_data5 pin_b5
#define lcd_data6 pin_b6
#define lcd_data7 pin_b7

void main()
{
lcd_init();
while(true)
{
lcd_gotoxy(1,1);
printf(lcd_putc,"INGENIERIA UMSA");
delay_ms(50);
}
}

Ing. Javier Tarqui Valeriano


UNIVERSIDAD MAYOR DE SAN ANDRES MICROCONTROLADORES
FACULTAD DE INGENIERIA MECÁNICA Y ELECTROMECÁNICA

CIRCUITO EN PROTEUS
LCD1
LM016L

VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
E
1
2
3

4
5
6

7
8
9
10
11
12
13
14
U1
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
35
RB2
2 36
RA0/AN0 RB3/PGM
3 37
RA1/AN1 RB4
4 38
RA2/AN2/VREF-/CVREF RB5
5 39
RA3/AN3/VREF+ RB6/PGC
6 40
RA4/T0CKI/C1OUT RB7/PGD
7
RA5/AN4/SS/C2OUT
15
RC0/T1OSO/T1CKI
8 16
RE0/AN5/RD RC1/T1OSI/CCP2
9 17
RE1/AN6/WR RC2/CCP1
10 18
RE2/AN7/CS RC3/SCK/SCL
23
RC4/SDI/SDA
1 24
MCLR/Vpp/THV RC5/SDO
25
RC6/TX/CK
26
RC7/RX/DT

19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7

PIC16F877A

PROGRAMA 2. PRACTICA PARA EL ESTUDIANTE

Despliega en el LCD dos mensajes mediante mando de botoneras

Descripción: el estudiante debe realizar un programa que realice:

- Colocar dos botoneras en las entradas a0 y a1 del microcontrolador


- Configurar el uso del display por el puerto D
- Cuando se manda un pulso por la primera botonera debe desplegar un primer
mensaje que será su nombre en la primera fila
- Cuando se manda otro pulso con la segunda botonera se debe desplegar en el LCD
otro mensaje que indique la carrera que estudia, en la segunda fila.

El circuito es el siguiente:

Ing. Javier Tarqui Valeriano


UNIVERSIDAD MAYOR DE SAN ANDRES MICROCONTROLADORES
FACULTAD DE INGENIERIA MECÁNICA Y ELECTROMECÁNICA

LCD2
LM016L

VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
E
1
2
3

4
5
6

7
8
9
10
11
12
13
14
U2
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
35
RB2
2 36
RA0/AN0 RB3/PGM
3 37
RA1/AN1 RB4
4 38
RA2/AN2/VREF-/CVREF RB5
5 39
RA3/AN3/VREF+ RB6/PGC
6 40
RA4/T0CKI/C1OUT RB7/PGD
7
RA5/AN4/SS/C2OUT
15
RC0/T1OSO/T1CKI
8 16
RE0/AN5/RD RC1/T1OSI/CCP2
9 17
RE1/AN6/WR RC2/CCP1
R2 R1 10
RE2/AN7/CS RC3/SCK/SCL
18
23
10K 10K RC4/SDI/SDA
1 24
MCLR/Vpp/THV RC5/SDO
25
RC6/TX/CK
26
RC7/RX/DT

19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7

PIC16F877A

6. PRESENTACIÓN

Los estudiantes deberán realizar el programa en el PROTEUS, y presentar el mismo en


un video corto, donde se muestre:

• El programa realizado en el PCW PIC – C Compiler


• El funcionamiento del circuito en el PROUTEUS

Fecha de presentación. Hasta el día martes 19 de octubre de 2021, hrs 23:59

Ing. Javier Tarqui Valeriano

También podría gustarte