Académique Documents
Professionnel Documents
Culture Documents
Esta LCD grafica es monocromtica y de 128 x 64 pixeles, la GLCD tiene un funcionamiento diferente a las LCD alfanumricas, estas ltimas poseen internamente predefinidos todos los caracteres alfanumricos, y por medio de su cdigo ASCII se logran visualizar, por el contrario en una GLCD lo que se tiene es una matriz de 128 x 64 puntos y el usuario define la imagen a visualizar, por medio de los datos obtenidos del diseo de dicha imagen.
PIN1: GND PIN2: VCC (5V) PIN3: V0 (Voltaje de Ajuste) PIN4: D/I (Control Datos o Instrucciones) PIN5: R/W (lectura o Escritura) PIN6: E (Habilitacin de la GLCD) PIN7 PIN14: Bus de Datos PIN15: CS1 (Chip Select 1) PIN16: CS2 (Chip Select 2) PIN17: RST (Reset) PIN18: VEE (Voltaje Negativo para el Ajuste de Contraste) PIN19: A (nodo de la luz de fondo) PIN20: K (Ctodo de la luz de fondo)
La librera utilizada para el manejo de la LCD grfica es la GLCD.C, dicha librera posee las siguientes funciones:
GLCD_INIT (ON)
Inicializa la GLCD
Dibuja una lnea entre la coordenada X1 , Y1 y la coordenada X2 , Y2 con un color determinado, si color = ON lo dibuja en negro y si color = OFF lo dibuja en blanco, tambin se pueden utilizar el 1 y el 0 respectivamente.
GLCD_LINE ( X1 , Y1 , X2 , Y2 , COLOR)
GLCD_PIXEL (X , Y , COLOR)
Dibuja un pixel en la coordenada X , Y de un color determinado (Blanco o Negro)
GLCD_FILLSCREEN (COLOR)
Dibuja toda la pantalla de un color determinado, ON de negro y OFF de blanco.
Puesto que en esta LCD se pueden dibujar diferentes graficas, tambin se logra pasar imgenes jpg; hay que tener en cuenta que primero hay que pasarla a pixeles y de esto se obtiene una tabla con todos los valores de la imagen, para este trabajo existen muchos programas, uno de los ms utilizados es el Bitmap2LCD, el cual me acepta una imagen y me la convierte a una tabla de datos que simplemente pegamos en el cdigo. Despus de tener la tabla de datos, se necesita un cdigo para tomar dato por dato y visualizar todos los pixeles.
U1
13 14 2 3 4 5 6 7 8 9 10 1 OSC1/CLKIN OSC2/CLKOUT RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 CS1 CS2 DI
RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A
RST
CS2 CS1
18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
-Vout RST DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 E R/W DI V0 VCC GND CS2 CS1
RW E
U1
13 14 2 3 4 5 6 7 8 9 10 1 OSC1/CLKIN OSC2/CLKOUT RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 CS1 CS2 DI
RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A
RST
CS2 CS1
18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
-Vout RST DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 E R/W DI V0 VCC GND CS2 CS1
RW E
LCD1
LGM12641BS1R
U1
13 14 2 3 4 5 6 7 8 9 10 1 OSC1/CLKIN OSC2/CLKOUT RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 CS1 CS2 DI RW E
RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A
RST
CS2 CS1
18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
-Vout RST DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 E R/W DI V0 VCC GND CS2 CS1
Un teclado matricial es un simple arreglo de botones en filas y columnas, de modo que se pueden leer varios botones con el mnimo numero de pines requeridos.
Realizar un rastreo bsico de las teclas de un teclado matricial de 4x4 y mostrar el dato en un LCD.
1 4
U1
13 14 2 3 4 5 6 7 8 9 10 1 OSC1/CLKIN OSC2/CLKOUT RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 RS RW E D4 D5 D6 D7 C3 C2 C1 C0 F3 F2 F1 F0
2 5 8 0
3 6 9
2ND
I
RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A
Clear
HELP
J
ENTER
C3 C2 C1 C0 F3 F2 F1 F0
1 2 3 4 5 6 7 8 9
1 2 3 4 A B C D S
LCD1
LM016L
RS RW E 4 5 6 RS RW E
1 2 3
D4 D5 D6 D7
7 8 9 10 11 12 13 14
D0 D1 D2 D3 D4 D5 D6 D7