Autor Tema: LCD en un PIC 16F877A  (Leído 32002 veces)

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

Desconectado soymoe

  • PIC18
  • ****
  • Mensajes: 456
    • El blog de Moe
Re: LCD en un PIC 16F877A
« Respuesta #15 en: 30 de Enero de 2011, 17:37:54 »
.


Ese mismo display fue en el cual probé las rutinas que adjunto en este mensaje (una es para usar el LCD en modo 8 bits y la otra para 4). Están en ASM y de seguro funcionan. Por cualquier cosa que no se entienda, no tema en preguntar  :smiley:
Saludos.


Estoy interesado en usar la rutina de 4 bits pero no se manejar el Cblock para definir lo que se necesita, como seria para el PIC 16f628a?. Darias un ejemplo basico para utiliza la rutina?

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: LCD en un PIC 16F877A
« Respuesta #16 en: 08 de Febrero de 2011, 18:21:02 »
.


Me disculpo por la tardanza en la respuesta :mrgreen:
La directiva CBLOCK es una manera muy cómoda y fácil de declarar registros de la memoria RAM. Por ejemplo:

Código: ASM
  1. CBLOCK 0x20
  2. REG1
  3. REG2
  4. CONT
  5.      ENDC

Es equivalente a:

Código: ASM
  1. REG1     EQU     0x20
  2. REG2     EQU     0X21
  3. CONT     EQU     0X22

El número al lado de CBLOCK indica cuál es la dirección de inicio. Al registro con esa dirección se le asigna la primer etiqueta de la lista. La etiqueta siguiente es asignada al registro siguiente.
Si se omite el número que le sigue a CBLOCK, la dirección inicial se toma del último bloque declarado. Por ejemplo:

Código: ASM
  1. CBLOCK 0x20
  2. REG1
  3. REG2
  4. CONT
  5.      ENDC
  6.  
  7. ; Cualquier codigo...
  8.  
  9.      CBLOCK
  10. NUM
  11. CONT2
  12.      ENDC

El primer bloque es igual al primer ejemplo. El segundo es equivalente a:

Código: ASM
  1. NUM     EQU     0x23
  2. CONT2   EQU     0X24

Si declarás tus variables con CBLOCK, al incluir el archivo con las rutinas, las variables necesarias se ubican inmediatamente después de las que declaraste.
Espero que se haya entendido.

Saludos.
When you see a good move, look for a better one (Emanuel Lasker)

Desconectado soymoe

  • PIC18
  • ****
  • Mensajes: 456
    • El blog de Moe
Re: LCD en un PIC 16F877A
« Respuesta #17 en: 20 de Febrero de 2011, 11:40:50 »
Hola descarge tus rutinas de 4bits pero no se como se usan, estoy tratando de hace funcionar un LCD,  logre hacerlo funiconar y que aparezca el cursor para cuando le doy que dibuje un caracter no lo dibuja. En el proteus si me anda. Sera porque es un LCD "fordata" FDCC1602G

que me parece que no es 100% compatible con hitachi. Cuando le doy la posicion del curor me la toma pero no escribe el caracter. AYUDA!!
« Última modificación: 23 de Febrero de 2011, 21:51:33 por soymoe »