Sie sind auf Seite 1von 7

SISTEMAS DIGITALES DE MANDO Y CONTROL

PRCTICA 3 EXHIBIDOR DE LETRERO EN UNA LCD

OBJETIVO
Desplegar un letrero en la pantalla de cristal liquido (LCD).

INTRODUCCION
Una LCD estndar es una pantalla de cristal lquido con una matriz de 16, 32, 40 u 80 caracteres de 5x7 pixeles, contando, adems, con un microcontrolador (generalmente el Hitachi 44780) que lo gobierna. Normalmente cada lnea contiene entre 8 y 80 caracteres, y suelen ser capaces de mostrar caracteres ASCII, japoneses, griegos...; o smbolos matemticos. Su bus de conexin puede ser de 4 u 8 bits. El consumo de este tipo de mdulos es muy bajo (75mW), y, gracias a su sencillo manejo, son ideales para dispositivos que requieren una visualizacin pequea o media. Expondremos el uso de una librera, la LCD.LIB, preparada para una pantalla de cristal lquido con dos lneas de 16 caracteres y una conexin de 8 bits. ADAPTACIN DE UNA PANTALLA LCD. El mdulo LCD que vamos a trabajar tiene 14 patillas, cuya descripcin se hace en la figura que sigue a este prrafo. Su alimentacin es de +5 V, y la regulacin del contraste se realiza dividiendo esos +5V mediante un potenciometro de 10 k. Para el mdulo de 8 bits requeriremos 11 lneas (uno de 4 bits necesitara slo 7). De ellas hay tres de control, que son EN (habilitacin), I/D (Instruccin/Datos) y R/W (Lectura/Escritura). En un modo de 4 bits usaramos slo las lneas DB4-DB7 de datos.

La activacin de la lnea EN (habilitacin) es la que permite a la LCD leer el resto de lneas, es decir, si la desactivamos no reaccionar ante los cambios en el resto de lneas. La lnea R/W se conectar a masa, para ahorrar una lnea, en todos los casos en los que no sea necesario el modo de lectura.

SISTEMAS DIGITALES DE MANDO Y CONTROL

PRCTICA 3 EXHIBIDOR DE LETRERO EN UNA LCD

Pin 01 02 03 04 05 06 07 08 09 10 11 12 13 14

Nombre del pin Vss Vdd Vo Vee I/D RS R/W E EN DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7

Funcin del pin Masa +5V Ajuste de contraste Seleccin de modo Lectura / Escritura Validacin (1) / Deshabilitacin (0) Lnea de datos (bit de menos peso) Lnea de datos Lnea de datos Lnea de datos Lnea de datos Lnea de datos Lnea de datos Lnea de datos (bit de mas peso)

Habitualmente el puerto A del micro es utilizado para manejar las lneas de control (en la LCD.LIB PORTA.2 se conectar a EN, y habilitar la LCD, PORTA.1 manejar la lectura/escritura, y, finalmente, la PORTA.0 se encargar de la seleccin de modo), mientras la puerta B es utilizada para datos. La secuencia de escritura debe seguir los siguientes pasos: 1) Lnea I/D a 0 o a 1, segn se trate de comandos o datos 2) Lnea R/W a 0 (1 en caso de escritura) 3) Lnea EN a 1 (se habilita la LCD) 4) Escritura de datos en el bus DB. 5) Lnea EN a 0 (deshabilitacin de la LCD) La misma secuencia en un mdulo de 4 bits cambiara: 1) Lnea I/D a 0 o a 1, segn se trate de comandos o datos 2) Lnea R/W a 0 (1 en caso de escritura) 3) Lnea EN a 1 (se habilita la LCD) 4) Escritura en los 4 bits de mayor peso del DB de la LCD. 5) Lnea EN = 0 6) Lnea EN = 1 7) Escribir de nuevo los 4 bits de menor peso 8) Lnea EN = 0 (deshabilitacin de la LCD). Las dos secuencias de 4 bits se concatenaran dentro del LCD para formar 8 bits. Al resetear una LCD o encenderla sta se queda a la espera de instrucciones. Usualmente se suele empezar encendiendo la pantalla, colocando el cursor y configurando la escritura de derecha a izquierda. La LCD contiene una RAM propia en la que almacena los datos, que se denomina DDRAM. Independientemente del nmero de caracteres visibles, la DDRAM contar con 80 posiciones. Los caracteres no visibles se visualizarn provocando un desplazamiento. 2

SISTEMAS DIGITALES DE MANDO Y CONTROL

PRCTICA 3 EXHIBIDOR DE LETRERO EN UNA LCD

La utilizacin de la LCD es lenta. Una escritura o lectura puede tardar entre 40 y 120 segundos; otras instrucciones pueden llegar a los 5 ms. Para lograr que el PIC no necesite esperar tiene una instruccin de 1seg que lee la direccin del contador y una bandera interior de ocupado. Cuando la bandera de ocupado (BF) est a 1, la LCD no puede leer ni escribir.

DIAGRAMA ESQUEMATICO

CDIGO FUENTE
;*****************Programa para desplegar un letrero en un LCD************ ;************************************************************************* LIST P=16F877 include<p16f877.inc> EQU 0x02 EQU 0x03 EQU 0x06 EQU 0X08 EQU 0X0A EQU 0x21 EQU 0x22

PCL ESTADO PUERTOB PUERTOD PCLATH RDELAY CONTA0

SISTEMAS DIGITALES DE MANDO Y CONTROL

PRCTICA 3 EXHIBIDOR DE LETRERO EN UNA LCD

CONTA1 CONTA2 Letra Flinea

EQU EQU EQU EQU

0x23 0x24 0x25 0x26

;Constantes para el programa ;*************************** Linea1LCD Linea2LCD ClrLCD CasaLCD IncLCD DecLCD OnLCD OfLCD OnCursor OffCursor BlinkCursor IzqLCD DerLCD IzqCursor DerCursor FuncionLCD RS RW E W F EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU ORG goto ORG 0x80 0xC0 0x01 0x02 0x07 0x05 0x0C 0x08 0x0E 0x0C 0x0F 0x18 0x1C 0x10 0x14 0x38 6 5 7 0 1 0 INICIAR 5

;* IZQUIERDA ;* DERECHA

;Comandos o Caracteres, pin 6 del puerto D ;Escritura al LCD ;Habilitacion para el LCD, pin 7 del ;puerto D ;Registro W ;Registro de trabajo

;PROGRAMA PRINCIPAL ;****************** INICIAR rb1 call Port_LCD call Ini_LCD movlw Linea1LCD call Comando_LCD movlw 0x0f movwf Flinea clrf Letra movf Letra,W call Mensaje call Caracter_LCD call delay incf Letra,F decfsz Flinea,F goto rb2 goto segundaL ;Inicializa el LCD ;Poner seal para empezar a mandar ;datos 0x80 ;w=15 para 15 datos ;registro Flinea=15 ;registro que va a moverse sobre la tabla ;Muestra el mensaje ;Manda el caracter al LCD ;Lo muestra por un tiempo de ---; F=1 en el registro si F= 0 en W

rb2

SISTEMAS DIGITALES DE MANDO Y CONTROL

PRCTICA 3 EXHIBIDOR DE LETRERO EN UNA LCD

; Inician las subrutinas ;*********************** Mensaje addwf retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw addwf retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw PCL,1 AD AE AS AP AL AE AG AA AD AO AR A AL AC AD A PCL,1 0x20 0x50 0x52 0x41 0x43 0x54 0x49 0x43 0x41 0x20 0x20 0x54 0x52 0x45 0x53 0x20 ;Mensaje a desplejar en el LCD

Mensaje2

;Mensaje a desplejar en el LCD ; ;P ;R ;A ;C ;T ;I ;C ;A ; ; ;T ;R ;E ;S ;

segundaL

rt2

parar

movlw Linea2LCD call Comando_LCD movlw 0x0F movwf Flinea clrf Letra movf Letra,w call Mensaje2 call Caracter_LCD call delay incf Letra,F decfsz Flinea,F goto rt2 goto parar

SISTEMAS DIGITALES DE MANDO Y CONTROL

PRCTICA 3 EXHIBIDOR DE LETRERO EN UNA LCD

Port_LCD

bsf ESTADO,5 clrf PUERTOD clrf PUERTOB bcf ESTADO,5 bcf PUERTOD,E return call retardo bsf PUERTOA,RW movlw FuncionLCD call Comando_LCD call retardo movlw FuncionLCD call Comando_LCD call retardo movlw FuncionLCD call Comando_LCD call retardo movlw FuncionLCD call Comando_LCD movlw OnLCD call Comando_LCD movlw ClrLCD call Comando_LCD movlw DecLCD call Comando_LCD movlw CasaLCD call Comando_LCD return

;Configura los Puertos del PIC ;configura al puerdo D como salidas ;configura al puerdo B como salidas ;E equ 7 enable del LCD ;Inicializa el LCD ;poner a 1 el bit 1 del puerto D ;w<-0X38 ;0X38 ;0X38 ;0X38 ;0x0c ;0x01 ;0x05 ;0x02

Ini_LCD ;

Comando_LCD bcf PUERTOD,RS bcf PUERTOD,E movwf PUERTOB call Habilita_LCD return Caracter_LCD bsf PUERTOD,RS bcf PUERTOD,E movwf PUERTOB call Habilita_LCD return ;RETARDO DE 255 MICRO SEG Habilita_LCD bsf PUERTOD,E movlw 0xFF movwf RDELAY t1 decfsz RDELAY,F goto t1 bcf PUERTOD,E return retardo ret2 movlw movwf movlw movwf 0x01 CONTA0 0x64 CONTA1

;Manda un comando al LCD RS equ 0 ; Entrada de habilitacin

;Manda un caracter o dato al LCD

;Habilita el LCD

;Retardo

SISTEMAS DIGITALES DE MANDO Y CONTROL

PRCTICA 3 EXHIBIDOR DE LETRERO EN UNA LCD

ret1 ret0

movlw movwf decfsz goto decfsz goto decfsz goto return movlw movwf movlw movwf movlw movwf decfsz goto decfsz goto decfsz goto return end

0x64 CONTA2 CONTA2,F ret0 CONTA1,F ret1 CONTA0,F ret2 0xFF CONTA0 0xFF CONTA1 0x03 CONTA2 CONTA2,F re0 CONTA1,F re1 CONTA0,F re2 ;Retardo

delay re2 re1 re0

Para el desarrollo de esta prctica necesitamos de los siguientes materiales: 1 fuente variable de DC. 1 microcontrolador PIC16F877. 1 cristal de 4 Mhz. 2 capacitores 33 pf. 2 capacitores 0.1 f a 25V. 2 capacitores 1 f a 25V. 1 LCD. 1 protoboard 1 resistencias de 10 k. 1 push button. 1 Potencimetro de 10 k. Cable. Pinzas.

COMENTARIOS
Esta prctica resulto un poco mas complicada respecto a las anteriores pero esta es mucho muy til debido a la ventaja de poder desplegar cualquier informacin que deseemos.

Das könnte Ihnen auch gefallen