Upload
edwinrr7
View
94
Download
7
Embed Size (px)
Citation preview
UNIVERSIDAD TÉCNICA DEL NORTE
FICA
“SISTEMAS MICROPROCESADOS”
Ing. Gerardo Collaguazo.
Integrantes:
- Tabita Quilumbaquin- Edwin Ruiz
Fecha: 07 de junio de 2012
1. TEMA:“ MANEJO DE LA LCD 16x2 ”
2. OBJETIVOS
2.1 OBJETIVO GENERAL:
Realizar el programa para poder visualizar un mensaje por medio de la pantalla LCD.
2.2 OBJETIVOS ESPECÍFICOS:
Conocer el funcionamiento de los pines de la pantalla LCD.Configurar los pines de control y de datos de la pantalla LCD.
3. Descripción
1.En la práctica se trabajara con una LCD de 16x2, con la finalidad de mostrar un texto en la pantalla, usando un bus de 8 bits.El envió de datos se realizara a través del puerto b del MC, mientras que el control se realizara a través del puerto c, con lo siguiente:Pin C0 a RsPin C1 a rwPin C6 a E2. Realizar un dezplazamiento a 4 bits
4. MARCO TEÓRICO
Pantalla LCD.
Una pantalla de cristal liquido o LCD es una pantalla delgada y plana formada por un determinado número de pixeles monocromos (para este caso), colocados delante de una fuente luminosa. Una de las principales características de las pantallas LCD es su bajo consumo de energía eléctrica en comparación con los displays.Existen varias presentaciones de una pantalla LCD por ejemplo de 2 líneas por 8 caracteres,2x16, 2x20, 4x20, 4x40, etc. Sin backlight (14 pines) o con backlight (16 pines, iluminado de pantalla), el LCD más popular es el 2x16, 2 líneas de 16 caracteres cada una.
CARACTERÍSTICAS DE LA PANTALLA LCD
Desplazamiento de los caracteres a la izquierda y a la derecha.Memoria de 40 caracteres por línea en los de 16 por 2. Movimiento del cursor y cambio de su aspecto.Conexión para el usuario usando 4 u 8 bits.Permite que el usuario pueda programar 8 caracteres.
IMAGEN 1 TUTORIAL AVR
Descripción de los pines.
IMAGEN 2 HOJA DE DATOS LCD
Control de la pantalla LCD.
Para inicializar la pantalla LCD tenemos que seguir una serie de instrucciones las cuales como se puede apreciar en el código son las siguientes que se encuentran representadas en la tabla.
IMAGEN 3 COLLAGUAZO, GERARDO, SISTEMAS BASADOS EN MICROPROCESADOREs
5. FLIJOGRAMAFlujo grama 1
Flujo grama 2 INICIO
CONF DEL PORT D COMO SALIDA
CONF, LCD
CONFIG. LOS PINES DE LA LCD
ESCRIBIR LCD "HOLA",'*',"MUNDO
LIMPIAR PANTALLA
DEZPLAZAR
FIN
6. DISEÑO - Lista de componentes:Pantalla LCD 16x2.Micro controlador atmega 324p.Potenciómetro de 1k ohmio.Cables.ProtobooarFuente de 5 v
7. ESQUEMA COMPLETO
NOTA: NO ESTÁN ESPECIFICADOS LOS PINES DE ALIMENTACIÓN DEL MICROCONTROLADOR
8. PROGRAMA:.include"m324pdef.inc" ;definiciones variables .def temp=r16 .def dato_lcd= r17 ;programa principal .org 0x00 ldi temp,HIGH(RAMEND); INICIO PUTTERO DE LA RAM out SPH,temp ldi temp, LOW(RAMEND) out SPL,temp
rcall config_port ; LLAMADA A CONFIGURA PUERTOS rcall init_lcd ; LLAMADA A INICIALIZACION LCD
rcall clr_lcd ;LLAMADA A RESET DEL LCD rcall r_50ms ldi ZH,HIGH(msj_1*2); PUNTERO PARA EL MENSAJEldi ZL,LOW(MSJ_1*2)rcall envia_msj ;LLAMADA A VISUALIZACION DE L MENSAJEfin:
noprjmp fin;
;configuracion de puertos;lcd pb0-pb7
;pc0 rs, pc1 r/w, pc6 e
config_port:
ldi temp,0xff out ddrc,temp ;pin de control rs, rw, e.ldi temp,0xffout ddrb,temp ;pines de dato
;configuracion lcd
init_lcd:ldi dato_lcd,0b00111100 ;2 lineas dysplay,bus de datos de 8 bits y visualizacion de 5x10rcall envia_cmdrcall r_15uldi dato_lcd,0b00001111 ;pantalla encendida, cursor encendido, intermitencia del cursor encendido.rcall envia_cmdrcall r_15uldi dato_lcd,0b00000001;borrar pantalla y retorna el cursor a la direccion 0rcall envia_cmdrcall r_15uldi dato_lcd,0b00000110 ;modo incremental del cursor, no dezplazamiento de textorcall envia_cmdret
;envia instruccion a la lcd;entrada r17 = dato - lcd;pc0 - rs, pc1-rw, pc6-e;rs=0,rw=0,e=1,
envia_cmd:ldi temp,0out portc,temp ;rs=0,rw=0,e=0nopsbi portc,6 ;e=1nopout portb,dato_lcd ;envia palabra de controlrcall r_15ucbi portc,6 ;e=0nopret
;________________________;envia dato a lcd;pc0-rs,pc1-rw,pc6-e;rs=1,rw=0,e=1
envia_data:ldi temp,0out portc,temp ;rs-0,rw=0,e=0nopsbi portc,6 ;e=1nopsbi portc,0 ;rs=0nopout portb,dato_lcd ;envia caracterrcall r_15ucbi portc,6 ;e=0cbi portc,0 ;rs=0nopret
;envia mensaje a lcd
envia_msj:lpm dato_lcd,z+ ;carga datocpi dato_lcd,'*' ;indicadro de cambio
breq sec_linecpi dato_lcd,0 ;indicador de fin de mensajebreq fin_msjrcall envia_datarjmp envia_msj
sec_line:ldi dato_lcd,0b11000000rcall envia_cmdrjmp envia_msj
fin_msj:ret
clr_lcd:push tempin temp,SREGpush templdi dato_lcd,$01 ;limpiorcall envia_cmd
pop tempout SREG,R16pop tempret
;retar5do de 15us;ningun registro modificador_15u:
nopnopnopnopnopnopnopnopnopnop
ret
r_50ms:push r16in r16,SREGpush r16push r18ldi r18,60
lazo0_r_50ms:ldi r16,$ff
lazo1_r_50ms:dec r16brne lazo1_r_50msdec r18brne lazo0_r_50mspop r18pop r16out SREG,r16pop r16ret
;tablamsj_1:
.db "HOLA",'*',"MUNDO",0
9. CONCLUSIONES Con la conexión a 8 bits del bus de datos de la pantalla se facilito la programación de la misma, puesto que enviamos los 8 bits de datos en paralelo.Para poder configurar el funcionamiento de la LCD, se necesita enviar por los puertos del MC la señal adecuada, ya sea que necesitemos desplazamiento de texto, 8 bits de datos, una sola línea de visualización, etc.
10. BIBLIOGRAFÍACollaguazo, Gerardo, Sistemas Basados En MicroprocesadoresTutorial avr, biblioteca personal.