Autor Tema: ¿Problema con libreria ldc.c?  (Leído 1382 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
¿Problema con libreria ldc.c?
« en: 11 de Octubre de 2006, 14:59:43 »
Hola amigos! Mi problema es que no consigo mostrar caracteres en un LCD 2x16. Creo que consigo que se inicialice puesto que la segunda fila se pone entera en negro(si no recuerdo mal esto quería decir que se había inicializado bien). El caso es que simulo en Proteus y la cosa va bien pero en "vivo y en directo"  :lol: no. Hace tiempo estuve trasteando con este mismo LCD pero programaba en asm y recuerdo que no utilizaba la misma programación para simular en Proteus y en la realidad porque recuerdo que el simulador no aceptaba los mismos tiempos para el envio de comandos que el modulo real. Ahora estoy con CCS y no se muy bien si tengo que tener en cuenta algún cambio en la librería lcd.c para que me funcione... por eso les pido ayuda  :-/ . Si sirve de algo este es el código(muy simple):

#include <16f877a.h>
#use delay (clock=4000000)
#define use_portb_lcd TRUE #include<lcd.c>
 


void main(void)
{
port_b_pullups(FALSE);
set_tris_b(0);
lcd_init();
printf(lcd_putc," HOLA MUNDO ");
while(TRUE){};
}


Y las conexiones:

RB0 <==>  E
RB1 <==>  RS
                  RW ===> MASA (sólo escribo...)
RB5 <==>  DB4
RB5 <==>  DB5
RB6 <==>  DB6
RB7 <==>  DB7

Vo está conectada a la salida de un pot10K y la alimentación a un regulador de 5V. Gracias por leerme y saludos!!!!!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: ¿Problema con libreria ldc.c?
« Respuesta #1 en: 11 de Octubre de 2006, 17:35:08 »
Deberías conectar RW.
Si no recuerdo mal,la librería hace que el micro haga en algún momento lectura del bit BUSY del lcd...
Edito el mensaje para confirmar lo dicho

Código: C++
  1. // lcd.c
  2. ...
  3. ...
  4. void lcd_send_byte(BYTE adress,BYTE n)
  5.    {
  6.    lcd.rs = 0;
  7.    while ( bit_test(lcd_read_byte(),7) );
  8.    ...
  9.    ...
  10.    }
« Última modificación: 11 de Octubre de 2006, 17:43:25 por Modulay »

Desconectado Dancrazy

  • PIC16
  • ***
  • Mensajes: 134
Re: ¿Problema con libreria ldc.c?
« Respuesta #2 en: 11 de Octubre de 2006, 18:11:35 »
Holas

casualmemente, hablamos de lo mismo en "ayuda con LCD"
en

http://www.todopic.com.ar/foros/index.php?topic=14256

A lo mejor te sirve la info

Yo hice mi propia programación a pie para manejar esa LCD, pues recuerda que al 16F877A le sobran puertos, asi que me puedo conectar por medio de bus de 8 bits... es mas simple y todo

y si te faltan puertos, aun puedes multiplexar ese bus con por ejemplo un Matrix de botones de 4x4, y un 8255 (manejador de puerto paralelo) y así..

es una opción...



Daniel 
Caracas, Venezuela 

-----------------


 

anything