Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(1,1) (1,16)
(2,1) (2,16)
VDD
VEE
VSS
R/W
RS
D0
D1
D2
D4
D5
D3
D6
D7
E
10
4
6
1
11
12
13
8
14
7
1
LCD1 LM016L/HD44780
En la comunicación del μC con un Lcd LM016 se
utilizan 2 tipos de señales digitales:
VDD
R/W
VSS
VEE
RS
D4
D3
D0
D1
D2
D5
D6
D7
E
señales de datos: D7, D6, D5, D4, D3, D2, D1, D0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
+Vcc
GND
Contraste
Control Bus de Datos
Lo habitual es que no nos interese saber lo que está representando el Lcd (ya lo
sabemos), y que sólo nos interese enviarle los caracteres a representar R/W = 0
2
El compilador MikroC PRO dispone
de una herramienta que permite crear
caracteres.
Se accede a dicha herramienta en:
3
El compilador dispone de una serie de funciones que facilitan la programación de la
comunicación del μC con el Lcd. Para poder utilizar dichas funciones es necesario
indicar los terminales del μC que están conectados al Lcd mediante la declaración de
una serie de variables globales. A continuación se muestra un ejemplo que corresponde
a la conexión del Lcd a varios terminales del puerto D:
LCD1 LM016L
// Lcd pinout settings U1
sbit LCD_RS at RD2_bit; 13
1
OSC1/CLKI RC0/T1OSO/T1CKI
MCLR/VPP RC1/T1OSI/CCP2A
VDD
VEE
RA0/AN0 RC3/SCK/SCL
RW
3
RS
D0
D5
D1
D2
D3
D4
D6
D7
VS
RA1/AN1 RC4/SDI/SDA
E
4
sbit LCD_D7 at RD7_bit; 5 RA2/AN2/VREF-
RA3/AN3/VREF+
RC5/SDO
RC6/TX/CK
6
RA4/T0CKI RC7/RX/DT
sbit LCD_D6 at RD6_bit; 7
14 RA5/AN4/SS/LVDIN
RA6/OSC2/CLKO RD0/PSP0
sbit LCD_D5 at RD5_bit; 33 RB0/INT0
RD1/PSP1
RD2/PSP2
34 RB1/INT1 RD3/PSP3
sbit LCD_D4 at RD4_bit; 35
36
RB2/INT2 RD4/PSP4
RB3/CCP2B RD5/PSP5
37 RB4 RD6/PSP6
38 RB5/PGM RD7/PSP7
// Pin direction 39 RB6/PGC
40 RB7/PGD RE0/RD/AN5
sbit LCD_RS_Direction at TRISD2_bit; RE1/WR/AN6
RE2/CS/AN7
Ejemplos:
Nota: las funciones para manejar el Lcd interpretan los valores a representar en ASCII. El
compilador dispone de una tabla ASCII 5
» Representación de una cadena de caracteres: Lcd_Out (fila, columna, cadena de caracteres);
Ejemplos:
Lcd_Out (1, 1, “Hola”); se representa la cadena de caracteres Hola a partir de la fila 1, columna 1
Representación de un número de 8 bits sin signo (unsigned char ó unsigned short)0 - 255
Ejemplo:
7
Representación de un número de 8 bits con signo (signed char ó signed short)–128 - +127
Ejemplo:
signed short aux = –23; // {–128, · · ·, +127}
char txt [5];
...
ShortToStr (aux, txt);
…
Lcd_out(1,1, txt); //en la pantalla aparece un espacio en blanco a la izquierda del –23
Ejemplo:
unsigned int aux = 527; //{0, · · ·, 65535}
char txt [6];
...
WordToStr (aux, txt);
…
Lcd_out(1,1, txt); //en la pantalla aparecen dos espacios en blanco a la izquierda de 527
8
Representación de un número de 16 bits con signo (signed int)–32768 - +32767
Ejemplo:
signed int aux = –1752; // {–32768, · · ·, +32767}
char txt [7];
...
IntToStr (aux, txt);
…
Lcd_out(1,1, txt); //en la pantalla aparece un espacio en blanco a la izquierda del –1752
Ejemplos:
10