Autor Tema: Problema 18F4550 + lcd + teclado  (Leído 25646 veces)

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

Desconectado SNaIDeR

  • PIC10
  • *
  • Mensajes: 3
Problema 18F4550 + lcd + teclado
« en: 26 de Noviembre de 2008, 21:34:35 »
Tengo que portar mi proyecto de fin de carrera, desde un 16f877a a este pic 18f4550.

El unico problema que encontre es en referencia al uso del teclado.

Utilizo las librerias del CCS de teclado y de lcd, y el problema es que no consigo que funcione el teclado, la patilla RB1 no se pone roja en el proteus como deberia al activar la pull ups, y no se pork no funciona, ya que con esta misma configuracion, en el otor pic funcionaba perfectamente.

Os dejo la rutina que utilizo, es simplemente pulsar una tecla y que la muestre por el LCD, si alguien sabe a que es debido me seria de gran ayuda.

Adjunto el archivo de proteus utilizado, tambien he puesto resistencisa en las  columnas e igualmente no funciona, es por el problema de esa patilla, la RB1, si puls 1 2 o 3 coge un 1, y pulsando otras teclas nada de nadda :S

Saludos y mil gracias





include <18f4550.h>
#fuses NOWDT,NOPROTECT,NOLVP,NOCPD,NOBROWNOUT,NOPUT,NOMCLR,NODEBUG,HS,NOPBADEN
#use delay(clock=2000000)
#include <lcd.c>
#include <stdio.h>
#include <KBD.C>
   
char c;

   
void main(){

   port_b_pullups(true);    // activa las resistencias de pull-up teclado
   lcd_init(); // Inicializo lcd
   kbd_init(); // inicializo teclado


   printf(lcd_putc,"\f");
   printf(lcd_putc,"Hola");
   do{ //hacer hasta...
      c=kbd_getc();
         
   }while(c=='\0'); //...que  se pulse tecla
   printf(lcd_putc,"\f");
   printf(lcd_putc,"%c "c);
 
}

Desconectado Giovanny

  • PIC12
  • **
  • Mensajes: 97
    • Supercomponentes
Re: Problema 18F4550 + lcd + teclado
« Respuesta #1 en: 27 de Noviembre de 2008, 03:38:41 »
printf(lcd_putc,"%c ",c);
        Saludos desde Colombia! Que hermoso país....

Desconectado SNaIDeR

  • PIC10
  • *
  • Mensajes: 3
Re: Problema 18F4550 + lcd + teclado
« Respuesta #2 en: 27 de Noviembre de 2008, 05:30:13 »
ese no es el problema, que el display funciona, el problema esta en el teclado, que la simulacion con proteus no funciona

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Problema 18F4550 + lcd + teclado
« Respuesta #3 en: 27 de Noviembre de 2008, 12:24:12 »
a el codigo le falta la siguiente linea...
Código: [Seleccionar]

#include <18f4550.h>
#fuses NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,NOPUT,NOMCLR,NODEBUG,HS,NOPBADEN
#use delay(clock=2000000)

#define use_portb_kbd TRUE  //esto define al puerto b para ser usado por el teclado

#include <lcd.c>
#include <kbd.c>
   

igual te comento que con eso solo no se resuelve el problema yo ya lo probe, pero es un avance. y creo que esta mal configurado o conexionado porque el unico valor que anda es el 1 (el que esta conectado al B1  :shock:). Solo te ayude a generar mas problemas y poca solucion  :(.

 
LAS MALVINAS SON ARGENTINAS!

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Problema 18F4550 + lcd + teclado
« Respuesta #4 en: 27 de Noviembre de 2008, 15:45:01 »
Hola.

Falta configurar al puerto b como entradas o salidas digitales, ya que por deafault esta como entrada analogica.

Saludos
El papel lo aguanta todo

Desconectado SNaIDeR

  • PIC10
  • *
  • Mensajes: 3
Re: Problema 18F4550 + lcd + teclado
« Respuesta #5 en: 28 de Noviembre de 2008, 08:38:01 »
Ninguno de los dos era la solucion.


#define use_portb_kbd TRUE  //esto define al puerto b para ser usado por el teclado

Esta linea esta configurada dentro de la libreria, no es encesario ponerla en el programa principal.


#fuses NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,NOPUT,NOMCLR,NODEBUG,HS,NOPBADEN

Con el fuse NOPBADEN configuro ya que sean I/O digitales.



Lo que hice fue cambiar los pines dentro de la libreria, moverlos sin usar el RB1 y lo solucion,e no tengo ni idea porque ese pin no funciona ya que es igual que el resto del puerto pero bueno.

Gracias a todos ;)

Desconectado rodrigo_control2009

  • PIC12
  • **
  • Mensajes: 54
    • Blog  de la  Orden del  temple
Re: Problema 18F4550 + lcd + teclado
« Respuesta #6 en: 19 de Abril de 2009, 20:47:25 »
en   tu  proyecto  incluyes  el  archivo  stdio.h    yo  lo  realice  sin  dicho  archivo  y  funciono  muy  bien ...  cual es  la  ventaja  o  no  de  incluirlo   o  cual es  el  criterio  para  decidir  incluirlo  en  los  proyectos
Gracias
“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”

Desconectado therionx

  • PIC10
  • *
  • Mensajes: 10
Re: Problema 18F4550 + lcd + teclado
« Respuesta #7 en: 24 de Abril de 2009, 02:12:04 »
la verdad es mucho mas sencillo incluir una funcion teclado en mi opinion eso hice y me sirvio, me pasaba lo mismo con las librerias para el 18f4550 :mrgreen: :-/

Desconectado rodrigo_control2009

  • PIC12
  • **
  • Mensajes: 54
    • Blog  de la  Orden del  temple
dato anexo para descargas de archivos
« Respuesta #8 en: 24 de Abril de 2009, 02:18:35 »
hola  un dato  anexo  no  se  si  le s interesa  pero  encontre  estos  linc  que  me parece  son  muy  utiles 
dos páginas muy interesantes la primera es: http://www.downloadmegafiles.com/  en esta página podréis descargar de megavideo y de megaupload archivos sin limite de tiempo ni de velocidad .

La segunda página es http://www.atrapavideo.com/ en esta podréis visualizar los videos de megavideo sin límite de tiempo y también trae la opción de descargar el video .Esta ultima permite la descarga de videos de las siguientes webs
“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Problema 18F4550 + lcd + teclado
« Respuesta #9 en: 24 de Abril de 2009, 02:29:07 »
hola  un dato  anexo  no  se  si  le s interesa  pero  encontre  estos  linc  que  me parece  son  muy  utiles 
dos páginas muy interesantes la primera es: http://www.downloadmegafiles.com/  en esta página podréis descargar de megavideo y de megaupload archivos sin limite de tiempo ni de velocidad .

La segunda página es http://www.atrapavideo.com/ en esta podréis visualizar los videos de megavideo sin límite de tiempo y también trae la opción de descargar el video .Esta ultima permite la descarga de videos de las siguientes webs


¿Que tiene que ver ésto con el tema?
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado rodrigo_control2009

  • PIC12
  • **
  • Mensajes: 54
    • Blog  de la  Orden del  temple
Re: Problema 18F4550 + lcd + teclado
« Respuesta #10 en: 24 de Abril de 2009, 12:05:18 »
Nada, solo que encontre  esa  informacion  que  me  parecio  util  y  la  publique  en el  lugar  equivocado. (crei que seria vista por algun administrador  y reubicada ) 
“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”

Desconectado ivanbv4

  • PIC10
  • *
  • Mensajes: 21
Re: Problema 18F4550 + lcd + teclado
« Respuesta #11 en: 25 de Febrero de 2011, 17:12:48 »
Hola amigos veo que estos mensajes son de hace tiempo ya, asique imagino que han podido solucionar el problema. Yo lamentablemente estoy frente al mismo inconveniente. Tengo el teclado conectado al puerto b de un 18f4550 y el pin b1 esta en gris en la simulacion en proteus. Vi más arriba que alguien lo habia solucionado cambiando este pin pero no veo como hacer esto desde el fichero kdb.c. También ya me aseguro de tener descomentabada la linea #define use_portb_kbd TRUE  en el fichero y aun asi sigo sin poder mostrar en el lcd la tecla pulsada. Lo que mas me llama la atención que todo lo que hice fue migrar de un pic a otro manteniendo el esquema y haciendo los cambios correspondientes y en el primero andaba fantastico y en el segundo no. Si alguno tiene la solución agradeceria que la publicara
Saludos

Desconectado rodrigo_control2009

  • PIC12
  • **
  • Mensajes: 54
    • Blog  de la  Orden del  temple
Re: Problema 18F4550 + lcd + teclado
« Respuesta #12 en: 25 de Febrero de 2011, 18:36:04 »
Suba  algun esquemático, imagenes  de la simulación en Proteus y el firmware   asi  se podrá  ver  en  donde esta el error  además  q otros podrán probar el firmware, y darle una mejor  ayuda
“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”

Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: Problema 18F4550 + lcd + teclado
« Respuesta #13 en: 25 de Febrero de 2011, 19:54:26 »
Hola Ivanbv4:
                Como dice rodrigo_control2009 sería mejor que subas el dsn y el código para que te podamos dar una mano. O aunque sea una parte del mismo para ver como configuraste los fuses.
                 Aclará a que te referis con "haciendo los cambios correspondientes" que cambios hiciste precisamente?.
                       Saludos.
                             Jukinch
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado rodrigo_control2009

  • PIC12
  • **
  • Mensajes: 54
    • Blog  de la  Orden del  temple
Re: Problema 18F4550 + lcd + teclado
« Respuesta #14 en: 25 de Febrero de 2011, 23:09:34 »
en tu  firmware  stas  habilitando  las  resistencias pullups  del  puerto b ?? Has  probado tu codigo  en fisico  pq  yo  he usado  ese  PIC  y  no  me  ha  dado  problemas con el teclado  de membrana 4*4 por ej.  el cual  no posee  resistencias pullups

yo  uso esta  declaracion fuera del main()    #define use_portb_kbd (true); ya que si no lo usas  se  activa  por defecto el portd a menos  q tngas modificado el  driver
y esta  en el  main()    port_b_pullups(true);  para  habilitar  las  pullups cuando el teclado no  las  tiene.
“El hombre ideal, sería persa de origen, árabe de religión, iraquí por cultura, hebreo por experiencia, cristiano por conducta, hindú por perspicacia, sufí por su estilo de vida, angélico por su moral y divino por sus ideas y conocimiento, destinado a la eternidad”