Autor Tema: LCD a 4bits  (Leído 2479 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
LCD a 4bits
« en: 18 de Abril de 2008, 14:09:45 »
Hola grupo, no he podido simular un LCD a 4 bits en proteus; pero en la práctica funciona bien, ahora si lo simulo a 8 bits trabaja bien. Será que el código que utilizo no es compatible con el algoritmo del proteus ?

  :(

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: LCD a 4bits
« Respuesta #1 en: 18 de Abril de 2008, 14:49:15 »
Yo los LCD's que he simulado a 4 bits van bien.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: LCD a 4bits
« Respuesta #2 en: 18 de Abril de 2008, 15:31:55 »
gracias por responder, no se que sucede pienso que la forma como estructuro la rutina no es muy compatible con el algoritmo de proteus, o quiza la forma como se inicializa el display, acá te presento parte del código

RUTINA DEL DISPLAY

display_4b   movlw   b'00101000'   ;CODIGO PARA DISPLAY A 4 BITS
      call   c_display_4b
      
      ;movlw   b'00111000'   ;CODIGO PARA DISPLAY A 8 BITS
      ;call   c_display_4b
;==================      
      movlw   b'00001100'   ;CODIGO QUE ACTIVA EL DISPLAY
      call   c_display_4b
      
      movlw   b'00000110'   ;CODIGO QUE DEFINE EL CURSOR PARA
      call   c_display_4b   ;QUE SE DESPLACE HACIA LA DERECHA
      
      ;movlw   b'00000111'   ;CODIGO QUE DEFINE EL CURSOR PARA
      ;call   c_display_4b   ;QUE DESPLACE HACIA LA IZQUIERDA
               ;TODO EL MENSAJE
      
      movlw   0x01      ;LIMPIA EL DISPLAY
      call   c_display_4b
;======================================
      movlw   h'80'      ;DIRECCION DONDE SE VA A EMPEZAR A
      call   c_display_4b   ;ESCRIBIR EL MENSAJE " HOLA "
      
      movlw   "H"      ;SE CARGA EL CARACTER Y SE ENVIA
      call   d_display_4b   ;AL LCD
      movlw   "O"
      call   d_display_4b
      movlw   "L"
      call   d_display_4b
      movlw   "A"
      call   d_display_4b
      
      nop
      goto   $-1
;====================================================================
c_display_4b   bcf   porta,rs      ;RUTINA DE DISPLAY LCD
      goto   $+2      ;PARA TRABAJAR A CUATRO BITS
               
d_display_4b   bsf   porta,rs
      bsf   porta,e
      call   tiempo_d
      movwf   portb   
      call   nop_10
      bcf   porta,e
      
      bsf   porta,e
      call   tiempo_d
      swapf   portb,f
      call   nop_10
      bcf   porta,e

      call   tiempo_d
      
      return      
;====================================================================
nop_10      nop         ;RETARDO DE 10 Ms PARA ACTIVAR EL
      nop         ;ENABLE DEL LCD
      nop
      nop
      nop
      nop
      return
;====================================================================
tiempo_d      nop         ;RETARDO DE 2048 Ms TIEMPO QUE DEBE
      nop         ;ESPERAR ANTES DE ENVIAR OTRO DATO
      nop         ;AL LCD
      nop
      nop
      decfsz   conta1,f
      goto   tiempo_d
      return

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: LCD a 4bits
« Respuesta #3 en: 18 de Abril de 2008, 17:06:40 »
uffffffffffff yo trabajo en "C" y el ASM aunque lo manejo y lo domino no me gusta ni un pelo.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: LCD a 4bits
« Respuesta #4 en: 21 de Abril de 2008, 17:22:24 »
Si te corre el programa montado, es porque esta bien tu rutina. Debes tener en cuenta  la frecuencia de trabajo de la LCD, en las propiedades del dispositivo esta, no se si sera de pronto eso.

No creo que sea incopatibilidad de proteus, yo he probado con C18, CCS, HiTech y assembler y no me ha dado lata :). Que version del proteus tienes?

Un saludo

pd// de que parte de colombia eres?
El papel lo aguanta todo

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: LCD a 4bits
« Respuesta #5 en: 22 de Abril de 2008, 14:35:13 »
tengo la versión 7.1 de proteus.

Ahora les cuento que resolví el problema de la siguiente manera: creee un módulo con un pic que me convierte de 4 a 8 bits y este me sirve de interfase, lo he probado con mis aplicaciones a 4 bits y trabaja bien, de todos modos muchas gracias

 :lol:

Desconectado rober_gv

  • PIC10
  • *
  • Mensajes: 7
Re: LCD a 4bits
« Respuesta #6 en: 27 de Mayo de 2008, 16:32:39 »
Hola:

   Hay varias librerias para el 16F87xx, yo te adjunto una que modifique para el 16f84 por si te sirve. Saludos a todos.