Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
3.6 texto lcd
1. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M07 MICROCONTROLADORES II
Laboratorio: D-19
Duración: 3 Hs DISPLAY CONTROL
3.6. LCD Texto
Objetivos
1. Configurar el ATMEGA128 para controlar un LCD.
3.6.1. AM-TLCD-P (Text LCD)
El módulo AM-TLCD-P se ve en la Figura 3.1, se pueden ver los conectores J731 que
son para los DATOS y el conector J733 para el CONTROL.
Figura 3.1: Módulo LCD AM-TLCD-P
3.6.2. Conectores del Módulo
J731 - DATA
Figura 3.2: Esquemático del conector J371 para los Datos.
Pedro Ramírez <pedroramirez22@gmail.com> 1
2. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M07 MICROCONTROLADORES II
Laboratorio: D-19
Duración: 3 Hs DISPLAY CONTROL
Figura 3.3: Pines del conector J731 para los Datos.
J733 - CONTROL
Figura 3.4: Esquemático del conector J733 para el Control.
Figura 3.5: Pines del conector J733 para el Control.
Figura 3.6: Nombre de los Pines de Control
Pedro Ramírez <pedroramirez22@gmail.com> 2
3. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M07 MICROCONTROLADORES II
Laboratorio: D-19
Duración: 3 Hs DISPLAY CONTROL
3.6.3. Instrucciones de Control y Display
Figura 3.7: Instrucciones de Control y Display
Pedro Ramírez <pedroramirez22@gmail.com> 3
4. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M07 MICROCONTROLADORES II
Laboratorio: D-19
Duración: 3 Hs DISPLAY CONTROL
3.6.4. Esquemático Proteus
PE0/RXD0/PDI 2
PE1/TXD0/PDO 3
PE2/XCK0/AIN0 4
PE3/OC3A/AIN1 5
PE4/OC3B/INT4 6
PE5/OC3C/INT5 7
PE6/T3/INT6 8
PE7/ICP3/INT7 9
PB0/SS10
PB1/SCK11
PB2/MOSI12
PB3/MISO13
PB4/OC014
PB5/OC1A15
PB6/OC1B16
PB7/OC2/OC1C17
PG3/TOSC2 18
PG4/TOSC1 19
RESET20
XTAL223
XTAL124
PD0/SCL/INT0 25
PD1/SDA/INT1 26
PD2/RXD1/INT2 27
PD3/TXD1/INT3 28
PD4/ICP1 29
PD5/XCK1 30
PD6/T1 31
PD7/T2 32
PG0/WR 33
PG1/RD 34
PC0/A835
PC1/A936
PC2/A1037
PC3/A1138
PC4/A1239
PC5/A1340
PC6/A1441
PC7/A1542
PG2/ALE 43
PA7/AD744
PA6/AD645
PA5/AD546
PA4/AD447
PA3/AD348
PA2/AD249
PA1/AD150
PA0/AD051
PF7/ADC7/TDI 54
PF6/ADC6/TDO 55
PF5/ADC5/TMS 56
PF4/ADC4/TCK 57
PF3/ADC3 58
PF2/ADC2 59
PF1/ADC1 60
PF0/ADC0 61
AREF62
AVCC64 PEN 1
U1
ATMEGA128
VCC
VCC
D714
D613
D512
D411
D310
D29
D18
D07
E6
RW5
RS4
VSS1
VDD2
VEE3
LCD1
Figura 3.8: Pantalla LCD
Observaciones:
En el Puerto E están conectados las lineas de Control del LCD.
En el Puerto F están conectados las lineas de Datos del LCD.
El LCD que utilizaremos tiene 2 filas y 16 columnas, existen otros LCDs de mayor
tamaño.
Pedro Ramírez <pedroramirez22@gmail.com> 4
5. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M07 MICROCONTROLADORES II
Laboratorio: D-19
Duración: 3 Hs DISPLAY CONTROL
3.6.5. Librería
Descargar la librería LiquidCrystal.h del Dropbox.
La libreria del LCD tiene 6 funciones operacionales:
1. initLCD(), inicializa los puertos donde esta conectado el LCD.
2. charactersLCD(char ascii_number), muestra un caracter ASCII en pantalla.
3. writeMsgLCD(char msg[], int SIZE), muestra una cadena texto en el LCD.
4. clearDisplay(), borra toda la pantalla del LCD y coloca el cursor al inicio.
5. returnHome(), mueve el cursor al inicio (0,0).
6. setCursor(int col, int row), mueve el cursor al col y row especificado.
3.7. Usos
charactersLCD
#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
#include "LiquidCrystal.h"//DESCARGAR DEL DROPBOX
int main(void)
{
initLCD();//INICIALIZA EL LCD
int ascii_number;
while (1)
{
for(ascii_number=’a’; ascii_number<=’z’; ascii_number++)
{
clearDisplay();//BORRA EL LCD
charactersLCD(ascii_number);//MUESTRA EL CARACTER
_delay_ms(2000);//ESPERA 2 SEGUNDOS
}//FIN DEL FOR
}//FIN DEL WHILE
}//FIN DEL MAIN
Pedro Ramírez <pedroramirez22@gmail.com> 5
6. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M07 MICROCONTROLADORES II
Laboratorio: D-19
Duración: 3 Hs DISPLAY CONTROL
writeMsgLCD
#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
#include "LiquidCrystal.h"
int main(void)
{
initLCD();//Inicializa los Puertos
char msg[]="Hola Caracola";
clearDisplay();//Borra toda la pantalla
while (1)
{
setCursor(0,1);//Al inicio de la segunda fila
writeMsgLCD(msg, sizeof(msg));
_delay_ms(5000);
}
}
3.7.1. Práctica
1. Realizar el código necesario para que en el LCD muestre un contador 0-9;
2. Realizar el código necesario para que en el LCD muestre todos los números y letras
(minúsculas y mayúsculas) de a uno.
3. Realizar el código necesario para que en el LCD muestre dos contadores contador
0-9 (ascendente) en la primera fila y al mismo tiempo un contador 9-0 (descendente)
en la segunda fila;
4. Realizar el código necesario para que en el LCD muestre la cadena de texto Soy
un Mario en la segunda fila.
5. Realizar el código necesario para que en el LCD muestre la cadena de texto Linea
12-1 en la primera fila y Abasto-Terminal en la segunda fila.
6. Realizar el código necesario para que en el LCD muestre un contador 0-999.
3.7.2. Conclusión
Pedro Ramírez <pedroramirez22@gmail.com> 6