TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Cortijero en 07 de Abril de 2010, 07:10:00

Título: Problema LCD y teclado matricial
Publicado por: Cortijero en 07 de Abril de 2010, 07:10:00
Hola gente! estoy aprendiendo a programar gracias a este foro, y un hilo-tutorial de VSZender, y todo de vicio (hasta ahora)
La cuestion es que estoy intentando escribir en una lcd la tecla que pulso en un teclado 3x4, pero soy incapaz. Kizas el problema este en las bibliotecas, o incluso en las conexiones al pic (que no me queda muy claro eso de conectar la lcd y el teclado al mismo puerto. Al intentar simularlo en el proteos, se le va la oya y tengo que terminar el proceso desde el administrador de tareas, asi que ya veis...
El programa que he hecho es el siguiente:

Código: [Seleccionar]
#include <18F4550.h>           //Libreria del PIC
#fuses XT,NOMCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,NOVREGEN,NOPBADEN //Configuracion de los fuses:
#use delay (clock=4000000)    //Configuramos oscilador a 4Mhz
#include <lcd2.c>   //Libreria para la lcd
#include <kbd3x4.c>   //Libreria para teclado matricial
#use fast_io(A)
#use fast_io(B)


//---------- PROGRAMA PRINCIPAL ----------------
void main ()
{
   char tecla;   //almacena tecla pulsada
   lcd_init();      //inicializa lcd
   lcd_putc("Tecla pulsada:\n");   
   for(;;){
      do{               //espera hasta que se pulse una tecla
         tecla=kbd_getc();   
         }while(tecla==0);
         
      printf(lcd_putc,"%c",tecla);      //muestra tecla
      lcd_putc("\b");            //retrocede una posicion
      }      //...infinito
     
}
Título: Re: Problema LCD y teclado matricial
Publicado por: MLO__ en 07 de Abril de 2010, 11:06:30
Habría que mirar las librerías que usas.  :?
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 07 de Abril de 2010, 11:17:25
He hecho algun que otro cambio en el programa, y parece que ahora funciona algo mejor, pero sigue sin mostrarme en pantalla la tecla pulsada.
Pongo el programa a ver si alguien me puede mostrar el camino hacia la luz :(

PROGRAMA


Código: [Seleccionar]
#include <18F4550.h>           //Libreria del PIC
#fuses XT,NOMCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,NOVREGEN,NOPBADEN // fuse con cristal 4Mhz
#use delay (clock=4000000)    //Configuramos oscilador a 4Mhz

#define LCD_ENABLE_PIN  PIN_D0                                    ////
#define LCD_RS_PIN      PIN_D1                                    ////
#define LCD_RW_PIN      PIN_D2                                    ////
#define LCD_DATA4       PIN_D4                                    ////
#define LCD_DATA5       PIN_D5                                    ////
#define LCD_DATA6       PIN_D6                                    ////
#define LCD_DATA7       PIN_D7
#define use_portb_kbd TRUE   
#include <lcd.c>   //Libreria para la lcd
#include <kbd.c>   //Libreria para teclado matricial



//---------- PROGRAMA PRINCIPAL ----------------
void main ()
{
   char tecla;   //almacena tecla pulsada
   lcd_init();      //inicializa lcd
   kbd_init();
   port_b_pullups(TRUE);
   lcd_putc("Tecla pulsada:\n");   
   for(;;){
      do{               //espera hasta que se pulse una tecla
         tecla=kbd_getc();   
      }while(tecla==0);
         
   lcd_putc(tecla);      //muestra tecla
   lcd_putc("\b");            //retrocede una posicion
   }      //...infinito
     
}

Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 07 de Abril de 2010, 12:44:00
Otro avance mas... aunque no termina de ir. Funciona la pantalla y funciona el teclado, pero me marca valores distintos a los que presiono. Podria ser porque lo tenga mal conectado?? Si en el codigo puse que usaria el puerto B para el teclado (define use_portb_kbd TRUE ), como se supone que va conectado al puerto b??

Venga, hechadme una mano, que estoy cerquita :(
Saludos y gracias!
Título: Re: Problema LCD y teclado matricial
Publicado por: MLO__ en 07 de Abril de 2010, 15:03:41
Hola.

La forma de conexión esta en la librería del teclado.

Saludos
Título: Re: Problema LCD y teclado matricial
Publicado por: bigluis en 07 de Abril de 2010, 15:25:23
Primeramente recomiendo que pongas un esquema del circuito que estas haciendo, me imagino que proteus se reininica porque talves estas trabajando con resistencias y diodos, y por defecto vienen con una porpiedad de forma de trabajo analogica, esta la debes cambiar a digital para que proteus no se cuelgue, ya que esto le permitira realizar menos calculos a la hora de la simulacion
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 07 de Abril de 2010, 16:01:08
Aqui esta el circuito. Me va a explotar la cabeza, y lo peor es que seguro que es cualquier tonteria el error....

En cuanto a mirar las conexiones en la libreria... pues por ejemplo, en la libreria lcd.c, biene claro, pero en la kbd.c, no soy capaz de encontrarlo  :(

saludos y gracias!



(http://s3.subirimagenes.com:81/otros/previo/thump_4327322dibujo.jpg)

EDITO: se ve muy chiquitito, aqui el enlace: http://www.subirimagenes.com/otros-dibujo-4327322.html (http://www.subirimagenes.com/otros-dibujo-4327322.html)
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 07 de Abril de 2010, 16:05:02
Por cierto, en el codigo, figura como que la LCD esta conectada al puerto D, pero entre prueba y prueba, termine cambiandolo al B
Título: Re: Problema LCD y teclado matricial
Publicado por: bigluis en 07 de Abril de 2010, 19:13:23
Hola, me fue imposible bajar ese esquema. Te recomiendo que lo subas al servidor de todo pic, eso lo puedes hacer en las opciones adicionales al responder un mensaje.
Título: Re: Problema LCD y teclado matricial
Publicado por: MLO__ en 07 de Abril de 2010, 23:44:27
Mas claro no puede estar:

Código: C#
  1. //Keypad connection:   (for example column 0 is B2)
  2. //                Bx:
  3.  
  4. #ifdef blue_keypad  ///////////////////////////////////// For the blue keypad
  5. #define COL0 (1 << 2)
  6. #define COL1 (1 << 3)
  7. #define COL2 (1 << 6)
  8.  
  9. #define ROW0 (1 << 4)
  10. #define ROW1 (1 << 7)
  11. #define ROW2 (1 << 1)
  12. #define ROW3 (1 << 5)
  13.  
  14. #else ////////////////////////////////////////////////// For the black keypad
  15. #define COL0 (1 << 5)
  16. #define COL1 (1 << 6)
  17. #define COL2 (1 << 7)
  18.  
  19. #define ROW0 (1 << 1)
  20. #define ROW1 (1 << 2)
  21. #define ROW2 (1 << 3)
  22. #define ROW3 (1 << 4)
  23.  
  24. #endif

Saludos
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 08 de Abril de 2010, 06:20:26
Y que diferencia hay entre blue keypad y black keypad?
Título: Re: Problema LCD y teclado matricial
Publicado por: stk500 en 08 de Abril de 2010, 06:57:47
la libreria viene con el nombre DRIVERS y se encuentra en el Archivo de programa PICC debajo,alli lo encotrara, y deberia leertela bien para que sepa trabajar con ella o cualquier DRIVER que use.
Título: Re: Problema LCD y teclado matricial
Publicado por: bmfranky en 08 de Abril de 2010, 07:07:11
Son dos formas de conectar el teclado según la disposición de los pines del matricial.

Has probado a conectar separadamente el lcd.
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 08 de Abril de 2010, 07:23:26
Son dos formas de conectar el teclado según la disposición de los pines del matricial.

Has probado a conectar separadamente el lcd.

Sepp, pasa exactamente igual. Ahora, tal y como esta, le doy a las teclas, y aparecen valores distintos a su valor, pero no siempre el mismo valor; es decir, si le doy al 2, a veces marca en la lcd 2, y otras veces 1. :(

Saludos y gracias
Título: Re: Problema LCD y teclado matricial
Publicado por: alcubo01 en 08 de Abril de 2010, 07:33:46

 Las pantallas LCD puede recibir los datos con 4 Bits (L3-L7) o con 8 Bits (L0-L7).

 ¿Estás seguro de que la función que usas para enviar los datos está usando sólo 4 Bits? Quizás esté configurado para que el bus sea de 8 y por eso muestra basurilla espacial ...

Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 08 de Abril de 2010, 07:39:05

 Las pantallas LCD puede recibir los datos con 4 Bits (L3-L7) o con 8 Bits (L0-L7).

 ¿Estás seguro de que la función que usas para enviar los datos está usando sólo 4 Bits? Quizás esté configurado para que el bus sea de 8 y por eso muestra basurilla espacial ...



Pues ya he usado esta misma pantalla y libreria en otras simulaciones con LCD,  y me ha funcionado ok; ademas, en la libreria dice de conectar solo de d4 a d7.

Saludos y gracias
Título: Re: Problema LCD y teclado matricial
Publicado por: bmfranky en 08 de Abril de 2010, 07:48:34
Elimina el lcd del puerto B y conecta-lo al d otra vez, después conecta resistencias de pul up a las columnas, no en serie con el display como las tienes, que aunque en el proteus puede que funcione, en la vida real seguro que no.

Ten en cuenta que según el estado de los bits enviados al lcd, te variara el dato recibido por el teclado.
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 08 de Abril de 2010, 10:00:12
Elimina el lcd del puerto B y conecta-lo al d otra vez, después conecta resistencias de pul up a las columnas, no en serie con el display como las tienes, que aunque en el proteus puede que funcione, en la vida real seguro que no.

Ten en cuenta que según el estado de los bits enviados al lcd, te variara el dato recibido por el teclado.

Acabo de probarlo y nada de nada :(
Título: Re: Problema LCD y teclado matricial
Publicado por: MLO__ en 08 de Abril de 2010, 10:39:39
Hola.

Para trabajar con el teclado puedes usar cualquiera de las dos configuraciones, no hay problema, lo único que hacen es facilitar la conexión del teclado en hard para que no se crucen los hilos.

Yo he simulado con la conexión que describe el blue keypad y funciona.

Te recomiendo quitar las resistencias que tienes de 4k7 y colocar unas de PULLUP (buscalas así en el PROTEUS), también está la opción de usar las pullup's internas del puerto B.

Saludos
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 08 de Abril de 2010, 10:50:21
Hola.

Para trabajar con el teclado puedes usar cualquiera de las dos configuraciones, no hay problema, lo único que hacen es facilitar la conexión del teclado en hard para que no se crucen los hilos.

Yo he simulado con la conexión que describe el blue keypad y funciona.

Te recomiendo quitar las resistencias que tienes de 4k7 y colocar unas de PULLUP (buscalas así en el PROTEUS), también está la opción de usar las pullup's internas del puerto B.

Saludos

Ok, voy a probar con las conexiones de blue keypad, a ver. En cuanto a las Pullup, con este trozo de codigo, es suficiente?
Código: [Seleccionar]
port_b_pullups(TRUE);Es decir, con esto, no es necesario poner las de 4k7?

Saludos y muchas gracias
Título: Re: Problema LCD y teclado matricial
Publicado por: bmfranky en 08 de Abril de 2010, 12:57:39
Hola no se con el 4550, pero con el 18f14k50 tienes tambien que seleccionar uno a uno en que pin esta conectada la resistencia.
Título: Re: Problema LCD y teclado matricial
Publicado por: bigluis en 08 de Abril de 2010, 21:05:11
El problema es que hacian falta algunos diodos, en las filas del KEYPAD, mas abajo adjunto los archivos de la simulación y codigo fuente.

(http://img709.imageshack.us/img709/6518/tecladolcd.png)
By null (http://profile.imageshack.us/user/null) at 2010-04-08
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 09 de Abril de 2010, 06:53:03
Muchisimas gracias, bigluis! Pero... aqui hay alguna fuerza sobrenatural! mi programa en tu circuito va perfecto, pero en mi circuito (exactamente igual) no va ni tu programa ni el mio (aunque son practicamente igual), o hay alguna diferencia que escape a mis principiantes ojos?




Otra pregunta mas: para que son estas dos ordenes??
Código: [Seleccionar]
   setup_adc_ports(NO_ANALOGS);
   setup_comparator(NC_NC_NC_NC);

Saludos y muchas gracias!
Título: Re: Problema LCD y teclado matricial
Publicado por: AngelGris en 09 de Abril de 2010, 09:11:29
Cortijero, ¡ojo! que el proteus no simula las resistencias de Pullup interna de los PIC (al menos no en la familia 16F).

setup_adc_ports(NO_ANALOGS);
setup_comparator(NC_NC_NC_NC);

Esas dos líneas se usan para que dichos puertos se puedan utilizar como digitales. Si no lo explicitás, dichos puertos quedan conectados a los correspondientes dispositivos analógicos.
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 09 de Abril de 2010, 09:15:15
Cortijero, ¡ojo! que el proteus no simula las resistencias de Pullup interna de los PIC (al menos no en la familia 16F).

setup_adc_ports(NO_ANALOGS);
setup_comparator(NC_NC_NC_NC);

Esas dos líneas se usan para que dichos puertos se puedan utilizar como digitales. Si no lo explicitás, dichos puertos quedan conectados a los correspondientes dispositivos analógicos.

Ajammm, tomo nota! Muchas gracias!

Lo que sigo sin entender es, como dos simulaciones identicas, una sí simula los programas bien, y la otra no  :(
Título: Re: Problema LCD y teclado matricial
Publicado por: bigluis en 09 de Abril de 2010, 12:01:00
 :? no se muy bien que es lo que ocurre, te recomiendo que subas el esquematico, es decir el archivo de proteus no la imagen, asi podre simularlo en mi compu y decirte cual es tu problema. No estoy seguro si es posible subirlo directamente o necesitas comprimirlo en un archivo *.rar antes, como he hecho anteriormente.
Título: Re: Problema LCD y teclado matricial
Publicado por: AngelGris en 09 de Abril de 2010, 12:24:25
Lo que sigo sin entender es, como dos simulaciones identicas, una sí simula los programas bien, y la otra no  :(

¿Y en el proteus estás configurando la frecuencia de oscilación del PIC? Perdón por la pregunta, pero es para ir descartando cosas.
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 09 de Abril de 2010, 13:50:01
Lo que sigo sin entender es, como dos simulaciones identicas, una sí simula los programas bien, y la otra no  :(

¿Y en el proteus estás configurando la frecuencia de oscilación del PIC? Perdón por la pregunta, pero es para ir descartando cosas.

Pues si esta configurada, o eso creo jejeje. Subo el programa y el archivo del proteus a ver...
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 09 de Abril de 2010, 13:52:41
Por cierto, una cosita (no tiene que ver con el tema, pero asi me ahorro abrir otro hilo). En cuanto a la alimentacion de la protoboard, aun no he montado ningun circuito, pero mi compañero tiene una fuente mas que suficiente. La cuestion es que para no tener que estar de visita por su cuarto cada dos por tres, he pensado en un cargdador de movil que tengo por aqui, que, aunque pone que saca 5V, el polimetro dice que saca 6.20V. Podria usar este transformador con alguna resistencia de por medio, o algun regulador d tension o algo asi???

Saludos y gracias!
Título: Re: Problema LCD y teclado matricial
Publicado por: bmfranky en 09 de Abril de 2010, 14:03:26
Te faltaban las resistencias de pull-up prueba ahora y vers, ya funciona, puede que sea la version del proteus.
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 09 de Abril de 2010, 15:45:37
Ajamm, todo perfecto, muchisimas gracias!

Entoces, esto se debe a que mi version del proteus no simula las pullups internas?

Y para montar este circuito en una protoboard, no serian necesarias estas resistencias porque ya estan activadas las internas, o me equivoco? A ver si monto el circuito esta noche, que me hace ilu!! :-/
Título: Re: Problema LCD y teclado matricial
Publicado por: AngelGris en 09 de Abril de 2010, 16:34:52
Ajamm, todo perfecto, muchisimas gracias!

Entoces, esto se debe a que mi version del proteus no simula las pullups internas?

Y para montar este circuito en una protoboard, no serian necesarias estas resistencias porque ya estan activadas las internas, o me equivoco? A ver si monto el circuito esta noche, que me hace ilu!! :-/

Es así como mencionás. Al estar activadas las resistencias de pull-up internas no es necesario agregarlas al circuito.

Con respecto a usar el cargador como fuente para el PIC, podrías intentar bajar la tensión con una resistencia y un zener de 5.1V. Hay que calclar el valor de la resistencia para que permita que el zener regule bien.
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 09 de Abril de 2010, 17:14:43
Y para conectar la lcd al puerto b con el teclado, habria que tener alguna precaucion extra, ninguna, directamente no se podria hacer? Lo digo porque comentabais alguno arriba que funcionaria en el proteus, pero en la vida real no.

Siento ser tan pesado, pero me estais siendo de gran ayuda!

Gracias!
Título: Re: Problema LCD y teclado matricial
Publicado por: bigluis en 10 de Abril de 2010, 11:47:36
Si es posible conectar el LCD y el teclado al mismo puerto, para ello debes conectar solo los 4 pines de datos del lcd al puerto del PIC y luego debes conectar el teclado al mismo puerto. los tres pines restantes (RS,RW,E) deben ir conectados preferiblemente a otro puerto, con esto quiero decir que los el puerto conectado al teclado se multiplexara con el LCD, no se si en CCS haya algun ejemplo pero en Basic si los hay puedes per esto (http://www.todopic.com.ar/foros/index.php?topic=13762.msg219328#msg219328).

Siento ser tan pesado, pero me estais siendo de gran ayuda!

:) No te preocupes este foro fue creado para ese motivo, en algun momento todos fuimos, somos y seremos principiantes ya que es imposible saberlo todo, por lo tanto hemos recibido ayuda de los demas. La mejor forma de agradecer la ayuda es ayudando a otros, ya sea en este mismo foro, tu universidad o algun otro sitio.


Título: Re: Problema LCD y teclado matricial
Publicado por: bmfranky en 11 de Abril de 2010, 10:07:12
La rutina de teclado que usas del ccs, ya esta preparada para ello, no tienes que realizar ninguna modificación, ten en cuenta que las dos rutinas, la de lcd y teclado, no se ejecutan a la vez, y cada una re define las entradas y salidas antes de usarlas, de todas formas no olvides poner en serie unas resistencias con las columnas, pues son necesarias para absorber los estados bajos y altos cuando entran en conflicto con el valor que tu fuerzas al pulsar un botón.
Título: Re: Problema LCD y teclado matricial
Publicado por: andyta en 14 de Abril de 2010, 11:22:04
Hola! Soy nueva programando en c y tengo algunas dudas...  a que te refieres con que no hay que modificar las librerias? Cuales? para la <lcd.c> no habria que decalrar los pines E, RS y RW estaran en otro puerto? Como se puede declarar esos pines en otro puerto? O estas usando otra libreria? tengo un problema tratando de encontrar librerias :? si estas usando otra libreiar xfa la puedes publicarla. Y un ultimo favor,si qusiera hacer el mismo programa pero con un teclado 4x4 tendria que usar otra libreria, una  libreria de teclado 4x4 en c para ccs, no tiene alguna que pudieran publicar. Xfa.. estoy algo estresada con lo de encontrar librerias...
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 14 de Abril de 2010, 17:01:35
Hola! Soy nueva programando en c y tengo algunas dudas...  a que te refieres con que no hay que modificar las librerias? Cuales? para la <lcd.c> no habria que decalrar los pines E, RS y RW estaran en otro puerto? Como se puede declarar esos pines en otro puerto? O estas usando otra libreria? tengo un problema tratando de encontrar librerias :? si estas usando otra libreiar xfa la puedes publicarla. Y un ultimo favor,si qusiera hacer el mismo programa pero con un teclado 4x4 tendria que usar otra libreria, una  libreria de teclado 4x4 en c para ccs, no tiene alguna que pudieran publicar. Xfa.. estoy algo estresada con lo de encontrar librerias...

Te explico... dentro de mi conocimiento, ya que tambien estoy iniciandome en este mundillo.... asi que no te garantizo que todo lo que te digo sea correcto (aviso) XD

Para usar la LCD y configurar los pines que tu quieras, solo necesitas poner lo siguiente en tu programa:

Código: [Seleccionar]
#define LCD_ENABLE_PIN  PIN_A0                                   
#define LCD_RS_PIN      PIN_A1                                   
#define LCD_RW_PIN      PIN_A2
#define LCD_DATA4       PIN_B0
#define LCD_DATA5       PIN_B5                                 
#define LCD_DATA6       PIN_B6                               
#define LCD_DATA7       PIN_B7


En cuanto al teclado 4x4, pues el amigo vszener colgó una libreria, tendrias que descargarla, y pegarla en la carpeta devices del css. La puedes descargar de su disco duro virtual:
http://www.box.net/shared/4l7bedpqrz


Espero haberte sido de ayuda!
Título: Re: Problema LCD y teclado matricial
Publicado por: andyta en 15 de Abril de 2010, 10:21:44
muchas gracias!! voy a probar!!!
Título: Re: Problema LCD y teclado matricial
Publicado por: andyta en 15 de Abril de 2010, 12:47:55
Te cuento que estuve probando el programa de biguis adaptandolo al pic 16f877a (Siempre tarabajo con este  :g)) y la libreria<lcd2.c>(adjunto el programa), me compila bien, pero tengo un problema en la simulacion. Creo que esta mal la conección del LCD con el teclado ya que no me sale nada en el LCD. Segun lo que quiero hacer, necesito tener el LCD y teclado en el mismo puerto. Apreciaria cualquier sugerencia.
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 15 de Abril de 2010, 13:55:53
Te cuento que estuve probando el programa de biguis adaptandolo al pic 16f877a (Siempre tarabajo con este  :g)) y la libreria<lcd2.c>(adjunto el programa), me compila bien, pero tengo un problema en la simulacion. Creo que esta mal la conección del LCD con el teclado ya que no me sale nada en el LCD. Segun lo que quiero hacer, necesito tener el LCD y teclado en el mismo puerto. Apreciaria cualquier sugerencia.


Pues te he modificado alguna cosa en el programa y la simulacion, te lo subo.

De el programa, he cambiado la libreria lcd2.c por la lcd.c (es la que yo uso) y ademas he definido los pines donde estaban conectados los datos de la lcd. (He puesto un "//AÑADIDO" al lado de las lineas que he añadido para que compares XD)
En la simulacion, he añadido unas resistencias pullup (aunque actives las internas del controlador, el proteus no las simula, asi que hay que ponerlas externas) y unos diodos (de eso no se el porque XD)

Espero que te aclare las dudas, y si no, pues ya saves :)
Título: Re: Problema LCD y teclado matricial
Publicado por: bmfranky en 15 de Abril de 2010, 14:03:46
Los diodos son por si tienes pulsada una tecla al mismo tiempo que se manda un comando al lcd, ya que si cruzas potenciales al presionar la tecla puedes joder al pic. por eso se ponen tambien unas resistencias en serie.

Por cierto no has subido el archivo. Poooorfa :mrgreen: , quiero verlo. :-/
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 15 de Abril de 2010, 15:51:38
Los diodos son por si tienes pulsada una tecla al mismo tiempo que se manda un comando al lcd, ya que si cruzas potenciales al presionar la tecla puedes joder al pic. por eso se ponen tambien unas resistencias en serie.

Por cierto no has subido el archivo. Poooorfa :mrgreen: , quiero verlo. :-/

Te refieres a mi con lo del archivo?? si es asi, si que lo he subido XD (yo al menos lo veo)jeje

Por cierto, gracias x la info de los leds!
Título: Re: Problema LCD y teclado matricial
Publicado por: bmfranky en 15 de Abril de 2010, 15:57:45
No se que ha pasado pero no veía los adjuntos en el trabajo, aquí en casa ya los veo gracias de todas formas.
Título: Re: Problema LCD y teclado matricial
Publicado por: andyta en 16 de Abril de 2010, 10:47:21

Muchas Gracias Cortijero, me estaba complicando tratando de la libreria <lcd2.c>, y bmfranky tambien muchas gracias son muy buenos datos que no estaba tomando en cuenta  ;-) otro favor... uso el proteus 7.4 y ¡no puedo abrir la similacion! ja ja ja! porfa podrian subir una foto de la simulacion... me parece tan frustarante, estoy tan cerca... y...y... :? Xfa.
Título: Re: Problema LCD y teclado matricial
Publicado por: Cortijero en 16 de Abril de 2010, 12:43:21
Aqui esta.
Título: Re: Problema LCD y teclado matricial
Publicado por: andyta en 19 de Abril de 2010, 11:36:36
muchas gracias por los datos y su paciencia! Ya pude solucionar mi problema.
Título: Re: Problema LCD y teclado matricial
Publicado por: MARINS en 23 de Abril de 2010, 10:43:45
port_b_pullups(TRUE); con esto activa las resistencias de pullup internas del micro, mi recomendacion es que trabajes el lcd por su puerto d, que es el de por defecto.. y verifique muy bien la configuracion de los puertos.. el acceso a pines que pines de salida y cuales de entrada hablo del teclado...y haz una prueba..
Título: Re: Problema LCD y teclado matricial
Publicado por: andyta en 23 de Abril de 2010, 12:17:22
Muchas gracias, ya solucione mi problema, encontre un programa de Vszener y e estado practicando a partir de eso. Por si a alguien le sirve adjunto aqui el mi programa. Se trata de sumar dos numeros introduciados por teclado. Uso pic 16f877a, la libreria <lcd2>(de 8 bit) y teclado 3X4 conectados ambos en el puerto b. Al final desiti de usar el teclado 4X4 el 3X4 tambien se adecua a lo que qiero hacer.
Título: Re: Problema LCD y teclado matricial
Publicado por: junior perez en 10 de Junio de 2012, 12:14:38
hola amigos tengo un proble,a estoi comenzando conlo de programar yquiero hacer uno con lcd teclado de 4x4 el codigo es algo que se me a dificultado gracias por la ayuda aa ya lo tengo en proteus
Título: Re: Problema LCD y teclado matricial
Publicado por: andyta en 11 de Junio de 2012, 10:20:24
Hola! sera que puedes ser un poco mas especifico con tu problema?
Título: Re: Problema LCD y teclado matricial
Publicado por: raneo2182 en 13 de Junio de 2012, 21:56:47
Hola espero no aver llegado muy tarde yo tuve el mismo problema y bien asi es si le das verdadero a las resistencias pull ups no es nesesario ponerlas bien para utilizar las librerias de lcd viene predefinido para el puerto d al igual q que kbd.h pero no se por que proteus no lo simula tampoco lo e probado en la realidad si funciona bien q es lo que hice fue abrir el archivo que contiene cada libreria y descomentar las lineas para el uso del puerto B y listo las instrucciones vienen dadas en ingles no me acuerdo bien como es, estoy en un cibercafe pero espero esta ayuda te pueda servir ami me funciono si no logras dar con eso mañana q me conecte desde mi lap top te informo cuales son los pasos
Título: Re: Problema LCD y teclado matricial
Publicado por: manu_sheen en 08 de Julio de 2014, 13:56:20
Hola probé tu programa y funciona muy bien, pero cuando copio el código en un nuevo source file y lo cargo a proteus, la lcd no muestra nada (a pesar de compilar muy bien y sin errores).
que podría estar faltando. gracias BigLuis