TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: aps en 25 de Julio de 2006, 12:12:25

Título: LCD
Publicado por: aps en 25 de Julio de 2006, 12:12:25
  

Hola soy nuevo en estos menesteres, pero con la ayuda de algun colega conseguiré poder controlar un LCD de 2 lines 16 caracteres,,, he mirado por varios sitios pero no encuentro lo que yo quiero que es la esplicación de como programar el LCD,, como soy nuevo envio mi correo por si algun amable me hace de tutor,,aps123@terra.es 8)
Título: Re: LCD
Publicado por: microcom en 25 de Julio de 2006, 14:32:56
bueno caballero para programar un lcd existen varios comandos que los puedes interpretar
como
limpiar pantalla
comunicacion a 8 bits
comunicacion a 4bits
etc..
los datos que usted mande por pic puede ser un dato visible en ldc . o  el dato puede ser una instruccion la cual se ve
en los siguiente.
para mandar un dato visible dede ser :
DATOS   visibles
   BSF   PORTA,RS
   BSF   PORTA,E
   MOVWF   PORTD
   CALL   RETARDO
   BCF   PORTA,E
   RETURN
para mandar una instruccion debe ser:
INSTRUC   
   BCF   PORTA,RS        ;COLOCA EN CERO RAO
   BSF   PORTA,E
   MOVWF   PORTD   
   CALL   RETARD
   BCF   PORTA,E
   RETURN

Estos deben ser los datos para las instrucciones que dicen delante:
LCDINI   MOVLW   B'00111000'     ;INTERFACE DE 8BITS 2 LINEAS
   CALL   INSTRUC
   MOVLW   B'00000110'     ;DIRECCION A LA DERECHA
   CALL   INSTRUC
   MOVLW   B'00001101'     ;PRENDE PANTALLA
   CALL   INSTRUC
   MOVLW   B'00000001'     ;LIMPIA PANTALLA
   CALL   INSTRUC

http://www.x-robotics.com/rutinas.htm
los lcd bienes con los pines de datos y de comando.
bueno
 
Título: Re: LCD
Publicado por: aps en 26 de Julio de 2006, 07:23:30
bueno caballero para programar un lcd existen varios comandos que los puedes interpretar
como
limpiar pantalla
comunicacion a 8 bits
comunicacion a 4bits
etc..
los datos que usted mande por pic puede ser un dato visible en ldc . o  el dato puede ser una instruccion la cual se ve
en los siguiente.
para mandar un dato visible dede ser :
DATOS   visibles
   BSF   PORTA,RS
   BSF   PORTA,E
   MOVWF   PORTD
   CALL   RETARDO
   BCF   PORTA,E
   RETURN
para mandar una instruccion debe ser:
INSTRUC   
   BCF   PORTA,RS        ;COLOCA EN CERO RAO
   BSF   PORTA,E
   MOVWF   PORTD   
   CALL   RETARD
   BCF   PORTA,E
   RETURN

Estos deben ser los datos para las instrucciones que dicen delante:
LCDINI   MOVLW   B'00111000'     ;INTERFACE DE 8BITS 2 LINEAS
   CALL   INSTRUC
   MOVLW   B'00000110'     ;DIRECCION A LA DERECHA
   CALL   INSTRUC
   MOVLW   B'00001101'     ;PRENDE PANTALLA
   CALL   INSTRUC
   MOVLW   B'00000001'     ;LIMPIA PANTALLA
   CALL   INSTRUC

http://www.x-robotics.com/rutinas.htm
los lcd bienes con los pines de datos y de comando.
bueno
 

Título: Re: LCD
Publicado por: aps en 26 de Julio de 2006, 07:34:50
bueno caballero para programar un lcd existen varios comandos que los puedes interpretar
como
limpiar pantalla
comunicacion a 8 bits
comunicacion a 4bits
etc..
los datos que usted mande por pic puede ser un dato visible en ldc . o  el dato puede ser una instruccion la cual se ve
en los siguiente.
para mandar un dato visible dede ser :
DATOS   visibles
   BSF   PORTA,RS
   BSF   PORTA,E
   MOVWF   PORTD
   CALL   RETARDO
   BCF   PORTA,E
   RETURN
para mandar una instruccion debe ser:
INSTRUC   
   BCF   PORTA,RS        ;COLOCA EN CERO RAO
   BSF   PORTA,E
   MOVWF   PORTD   
   CALL   RETARD
   BCF   PORTA,E
   RETURN

Estos deben ser los datos para las instrucciones que dicen delante:
LCDINI   MOVLW   B'00111000'     ;INTERFACE DE 8BITS 2 LINEAS
   CALL   INSTRUC
   MOVLW   B'00000110'     ;DIRECCION A LA DERECHA
   CALL   INSTRUC
   MOVLW   B'00001101'     ;PRENDE PANTALLA
   CALL   INSTRUC
   MOVLW   B'00000001'     ;LIMPIA PANTALLA
   CALL   INSTRUC

http://www.x-robotics.com/rutinas.htm
los lcd bienes con los pines de datos y de comando.
bueno
 

YOYO TE PUEDO MANDAR UN PROGRAMA DE Y TU ACTIVAR LA 2º LINEA
Título: Re: LCD
Publicado por: Manofwar en 26 de Julio de 2006, 11:31:30
Hola Aps, te contesto por aquí para que sirva a otros.

En este post (http://www.todopic.com.ar/foros/index.php?topic=6016.msg75556#msg75556) tienes los archivos necesarios para lo que necesitas. Para activar una línea sólo tienes que llamar a la función LCD_Linea1 o LCD_Linea2 según te interese presentar texto en una o en otra.  Estas funciones y otras se encuentran en el archivo LCD_4BIT.INC.

La selección de la línea en la que queremos visualizar el mensaje se hace de la siguiente forma

Código: [Seleccionar]
call LCD_2Lineas4Bits5x7 ;le ponemos en modo 4 bits 2 líneas
main
call LCD_Linea2    ;Seleccionamos la línea 2 para presentar el mensaje
pageselw Mensaje36   ;Cargamos PCLATH con los bits de más peso de la dirección del mensaje a presentar
movlw Mensaje36     ;Pasamos a la función los bits de menos peso de la dirección del mensaje a presentar
call LCD_Mensaje   ;Llamamos a la rutina de presentación en el LCD

goto main

Aquí tienes le circuito, puedes sustituir el pic por el que quieras que tenga 2 puertos A y B, o configurar los pines de control a tu antojo en el las definiciones del inicio del archivo LCD_4BIT.INC.

Título: Re: LCD
Publicado por: microcom en 26 de Julio de 2006, 15:34:04
esta es la instruccion para posecionerte en la segunda linea lcd

EMERGEN            
   MOVLW   B'11000000'      ;EL PUNTERO SE UBICA EN LA SEGUNDA LINEA
        CALL    INSTRUC2    ;PARA DECIR EMERGENCIA   
        CLRF    MENS
A         MOVF    MENS,0
        CALL    TABLA3
        CALL    DATOS3
        INCF    MENS,1
        MOVF    MENS,0
        XORLW   .15
        BTFSS   STATUS,2
        GOTO     A
   RETURN
TABLA3   ADDWF   PCL,1
      RETLW   "S"
   RETLW   "O"
   RETLW   "L"
   RETLW   "O"
        RETLW   " "
        RETLW   "E"
   RETLW   "M"
   RETLW   "E"
   RETLW   "R"
   RETLW   "G"
   RETLW   "E"
   RETLW   "N"
   RETLW   "C"
   RETLW   "I"
   RETLW   "A"
bueno
Título: Re: LCD
Publicado por: aps en 29 de Julio de 2006, 08:04:23
HOLA DE NUEVO.. LAPROGRAMACION DEL LCD, ES DE 4 BITS