Maunix ante todo, gracias por responderme. Tienes toda la razon del mundo, releyendo mi post, la verdad es que no daba datos concretos sobre mi problema; quizas, si que parece que haya soltado una retaila rapida y sin sentido de cosas, pero es que de todo lo que he intentado,no me sale nada... jejejeje, y ya se sabe, que ante la desesperacion, nos cegamos.
Respecto a lo que me dices Maunix te contesto y a ver si puedo aportar algo mas, por si me podeis echar un cable:
a. El software hecho por mi, lo he comprobado con Proteus y funciona perfectamente; realmente es el mismo ejemplo del link que puse en mi anterior post(el de VSZENER), solo que cambiando el original #include por el de mi pic, es decir #include <16F84a.h>.Resumiendo, que el mismo .hex que le quiero meter a mi pic, lo he comprobado con Proteus y funciona bien.
b. Yo supongo que sea de hardware, ya que como te pongo antes, en Proteus simula bien.
c. El cristal que uso es de 4Mhz; y en el ICprog, selecciono el PIC16F84A,configuro el oscillator como XT, y no toco nada mas, lo demas lo dejo como se queda, es decir, la casilla WDT activada y las otras 2(PWRT y CP) desactivadas. Al programarlo no me da ningun tipo de fallo, y si lo leo una vez programado, si que me ha programado el archivo .hex que le cargo al programa.
EL modulo LCD que uso es un JINGHUA JM162A.
Espero que con estos datos pueda dar un poco de luz sobre el problema....
MGLSOFT , muchas gracias por responderme a ti tambien; las conexiones las he comprobado y estan todas bien. EL cristal que uso, como pongo mas arriba es de 4MHZ, y con el ,2 condensadores de 33pF.
Respecto al ajuste de contraste, en un segundo intento lo puse; vamos le puse un potenciometro en la patilla 3....de 4.7KHZ, pero la verdad es que no me hacia mucho, seguro que lo estoy poniendo mal.... si fueras tan amable de explicarme cual seria un valor adecuado del potenciometro y como debo conectar sus patas(las 3 del potenciometro; yo ahora mismo tengo conectada, mirando el potenciometro desde arriba y teniendo la patita que esta sola mirando hacia adelante..., la patita de abajo a la izquierda a 5 V; la de abajo a la derecha conectada a tierra; y la que esta sola, delante, conectada a la conexion 3 del LCD...siento esta explicacion, se que es un poco.... cutre ,jejeje) no obstante os pongo el esquema del circuito, por si sois tan amables de echarle un vistazo, y mirarme si es que estoy conectando algo mal....
MUchas gracias a los 2¡¡¡¡¡ saludos.
Por cierto, edito para meter el programita, que como vereis es igual al del ejemplo de VSZENER....
////////////////////////////////////////////////////////////////////////////////////
// VsZeNeR'04
// 26/Agosto/05
// vszener@gmail.com
// Programa: Hola mundo VsZeNeR'05 ahorrando 1 pin
// Version: 0.1
//
// Dispositivo: PIC 16F648A Compilador: CCS vs3.227
// Entorno IDE: MPLAB IDE v7.20 Simulador: Proteus 6.7sp3
//
// Notas: Se muestra por pantalla de lcd(LM016L) en la primera linea la
// frase 'hola mundo ;)' y en la segunda linea 'VsZeNeR'05'. Para ahorrar un
// pin conectamos RW a tierra(GND) y en nuestro programa generamos un retraso de
// 2ms para poder apreciarse todos los caracteres. La ventaja es que nos ahorramos
// 1 pin pero la desventaja es menor rapidez ya que empaquetamos en bloques de 4 bit.
// Tener en cuenta que hay que poner la directiva NOLVP para que el pin B4 sea de
// salida.
//
// Conexiones: B0 -> E
// B1 -> RS
// B4 -> D4
// B5 -> D5
// B6 -> D6
// B7 -> D7
//////////////////////////////////////////////////////////////////////////////////
#include <16F84a.h> //pic a utilizar
#fuses XT,NOWDT,NOPROTECT,PUT//ordenes para el programador
#use delay (clock=4000000) //Fosc=4Mhz
#define use_portb_lcd TRUE //definir portb lcd
#include<lcd.c> //libreria manejo lcd
///PROGRAMA
void main(void)
{
lcd_init(); //inicializa lcd
delay_ms(2); //retardo para apreciarse todos los caracteres
printf(lcd_putc,"Hola mundo"); //muestra por pantalla el mensaje
}