16f877 con lcd en c

hola a todos, tengo un problema, tengo que conectar un pic 16f877 con una lcd y me esta resultando un infierno, alguno sabe como hacerlo?? estoy programando en lenguaje c, partiendo de un programa en asm. si fueseis tan amables de ayudarme lo agradeceria. un saludo.
 
juantxo182 dijo:
hola a todos, tengo un problema, tengo que conectar un pic 16f877 con una lcd y me esta resultando un infierno, alguno sabe como hacerlo?? estoy programando en lenguaje c, partiendo de un programa en asm. si fueseis tan amables de ayudarme lo agradeceria. un saludo.

SI he conectado varios, podrias postear un esquemático de lo que estas haciendo?

Empecemos por el esquemático si eso va bien, revisaremos el código, te parece?
 
gracias, en cuanto pueda te coloco el esquematico, va con mas elementos para las demas funciones, te coloco el entero o prefieres solo el esquema de la lcd??
en principio el puerto d entero es el bus de datos de la pantalla.
puerto c 0,1 y 2 son el enable el rw y el rs, luego colocada la retroiluminacion a 5v y despues el contraste directamente a masa.
GRACIAS POR TU TIEMPO.
 
juantxo182 dijo:
gracias, en cuanto pueda te coloco el esquematico, va con mas elementos para las demas funciones, te coloco el entero o prefieres solo el esquema de la lcd??
en principio el puerto d entero es el bus de datos de la pantalla.
puerto c 0,1 y 2 son el enable el rw y el rs, luego colocada la retroiluminacion a 5v y despues el contraste directamente a masa.
GRACIAS POR TU TIEMPO.

Postea todo lo que vaya al LCD y si pones mas detalle (de conexiones de otros pines) pues mejor.

Saludos
 
gracias por todo, pero ya he hecho que funcione la lcd, el problema debia de ser la placa, ya que lo monte en una board para probar y me funciono a la primera. ahora el problema lo tengo con el reloj PCF8583, sabes algo al respecto?
 
Es la primera vez q escribo en este foro, disculparme di cometo algun error.

Llevo poco tiempo con microcontroladores, bueno en realidad con electrónica. El caso es que estoy utilizando un 16F877 y no consigo hacer funcionar un LCD, me descargue un codigo fuentye que utilizaba el puerto A (RA0, RA1....) pero el problema es q yo tengo todos los pines de A y B utilizados por lo que opte por conectarlo al C. Pero no funciona.

El LCD se enciende y la primera linea se me ponen todos los caracteres en negro, se q algo he hecho mal pero no se el que.

Sabeis donde puedo conseguir un codigo del programa comentado o algo. Llevo ya tiempo mirandolo y estoy a punto de tirar la toalla no por fala de ganas si no por no encontrar soluciones.

Espero q podais ayudarme. Gracias de antemano
 
Hay ui codigo fuente en la pagina de todopic (la direccion exacta no le se, pero si buscas en google la encuentras) donde esta una libreria llamada flex lcd, la que te permite manejar una lcd por cualquier puerto...respscto a la linea que mencionas que aparece en negro, debes revisar que el minel de contraste de la lcd es correcto.. puede que tu circuito y el programa esten bien, pero el alto (o bajo) contraste no t edeja ver losc caracteres.. revisa primero el contraste y despues busca la libreria que te digo. Suerte
 
hola a todos:

necesito programar en CCS el pic 16F877A.

la siguiente secuencia:
01010101
10101010

En forma repetitiva;
la partida comienza al presionar boton 1 y la detensión al presionar boton 2

he hecho un programa, haber si esta bueno.

/* Tarea Led´s Intermitentes*/

#include "C:\Archivos de programa\PICC\Devices\16F874A.h" /*PIC a Utilizar*/
#use delay (clock=10.000000) /* Defino el Reloj*/
#byte puerto_b=06 /* Direccion del puerto B*/

void main(void)
{
set_trib_b(0x00);
puerto_b=0;

#if (!input(PIN_B0=0));
goto Aca;
#end if

#if (!input(PIN_B1=0));
SLEEP();
#end if

Aca output_c (aa);
Delay (500);
output_c (55);
Delay (500);
goto Aca;
}


yo soy un principiante en esto asi que necesito la mayor ayuda posible.
de antemano muchas gracias

[/b]
 
Hola gente qué tal sucede que estoy montando un programa donde necesito visualizar el incremento de una variable en LCD, he hecho todo aparentemente bien, pero en la lcd me muestra números incoherentes, alguno de ustedes sabe como mostrar esto de forma correcta, aquí les muestro la parte clave del programa que pienso está mal :

char c;
int número=0;
*
*
*
if(c=='A'){
número++;
lcd_gotoxy(7,2);
printf(lcd_putc,"%i",número);
//lcd_putc(c);//////////////////////////PERO AQUI VISUALIZA UNA CADENA DE TRES CARACTERES QUE NO CORRESPONDEN AL NUMERO
}
 
seria bueno conseguir una libreria lcd para el puerto b ya que el 18f2525 no tiene puerto d y el puerto c esta utilizado para la comunicacion serieal rs232 en los pines c6 y c7 y quiero conectar una lcd y a la ves usar el rs232 del pic gracias por cualquier ayuda!
 
hola que tal soy nuevo en este foro y necesito tada la ayuda que se pueda acerca de la programacion del lcd, pues se me dejo una tarea de con el lcd que trata; con ayuda de un teclado matricial el pic 16f876 y el lcd, la tecla que preciones te la muestre en un display de 7 segmentos y te lo muestre en el lcd. ademas si precionas mas que 10 numeros te aparesca error etc.
 
Te recomiendo usar matrices, por ej si tengo este teclado:

Código:
1  2  3
4  5  6
7  8  9
*  0  #

Creas esta matriz en forma global (o en forma local en una funcion que se encargue de transformar la tecla presionada en el caracter):

Código:
....
unsigned char teclas[4][3]={{'1','2','3'},{'4','5','6'},{'7','8','9'},{'*','0','#'}};
....

Despues resulta sencillo convertir a partir de obtener la lectura + scan code.

La misma matriz, la haces para el 7 segmentos, obviamente dependera de tu conexion.
 
hace dias mi profe dio la explicacion de como funciona un lcd, y no hablo de pantallas sino de las pantallitas que usaremos en la programacion, y la pregunta es alguien sabe como funcionan estas pantallas, como se conectan y si tienen la simulacion en proteous para como conectarlos con el pic 16f876
 
hola, hace unos días conseguí mi primer lcd -w-, bueno, la cosa es, hice un pequeño programita para utilizar el adc del pic16f877a y desplegar la información en el lcd, pero al conectarla a la alimentación no da muestras de vida alguna, no se inicializa ni nada, también probé a conectar el led del backlight directamente con una resistencia de 220 y +5v, tampoco nada, sucede que al medir tensión entre terminales de mi fuente me da algo así como 1.25v, ¿será que el pic y el lcd juntos consumen demasiada corriente y mi fuente no es suficiente?, cabe aclarar que este es mi primer proyecto con pic

las caracteristicas a la salida de mi fuente son: +5V y 500mA

si alguién puede ayudarme de antemano muchas gracias ^^
 
Hola buenas. quiero conectar un pic16f876 a un lcd (todo para simularlo con el compilador c ccs y simulador proteus. Se trata de un ejercicio de un libro de Eduardo Garcia. El tema es que cuando simulo, el archivo LCD.c me da errores. He leido que en un principio el LCD por defecto trabaja con el puerto D, pero que de todos modos tengo que cambiar algunas lineas de codigo, en concreto estas:

#if defined use_portb_lcd
//#locate lcd = getenv("sfr:pORTB") // This puts the entire structure over the port
#ifdef __pch__
#locate lcd = 0xf81
#else
#locate lcd = 6
#endif
#define set_tris_lcd(x) set_tris_b(x)
#else
//#locate lcd = getenv("sfr:pORTD") // This puts the entire structure over the port
#ifdef __pch__
#locate lcd = 0xf83
#else
#locate lcd = 8
#endif
#define set_tris_lcd(x) set_tris_d(x)
#endif

Lo compilo asi y me sigue dando error. Aguien tiene idea de como lo puedo hacer? Ya no me quedan ideas que intentar. Gracias
 
Atrás
Arriba