Autor Tema: como programar un teclado en pic 18f4550 :D  (Leído 4446 veces)

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

Desconectado alex_angeluz01

  • PIC10
  • *
  • Mensajes: 14
como programar un teclado en pic 18f4550 :D
« en: 16 de Julio de 2008, 00:21:27 »
ola s alguein e podria explicar como programar para manejar un teclado y que el valor que coloque en el teclado me salga en el display :D de 7 segmentos grax :D

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado alex_angeluz01

  • PIC10
  • *
  • Mensajes: 14
Re: como programar un teclado en pic 18f4550 :D
« Respuesta #2 en: 19 de Julio de 2008, 08:53:08 »
ok listo la parte del teclado ya lo tengo ahora como hago para que las teclas selecionadas me aparescan en los display??

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: como programar un teclado en pic 18f4550 :D
« Respuesta #3 en: 19 de Julio de 2008, 13:43:16 »
dependiendo que obtengas del teclado lo puedes mostrar en el lcd directamente, mayormente te dan el codigo ascii de la tecla presionada o dependeindo de la libreria qeu usaste o del código en si, bueno de cualqueir manera la manera más facil de mostrarlo en un display es con lcd_putc(); o mejor con printf();

digamos que tienes la tecla registrada en una variable llamada tecla_push, entonces la manera de mostrarlo en el lcd será:

solo con putc:
lcd_putc("\f");
lcd_putc(tecla_push);

y con printf:
printf(lcd_putc,"\ftecla pulsada: %c",tecla_push); // el %c se reemplaza con el contenido de tecla_push en este caso.

como puedes ver hay dos formas, y el printf es una de las mejores formas, y más poderosas para imprimir muchas letras en un lcd
claro, que tb puedes ubicar alguna posición específica donde quieras verlo, para eso hay muchas funciones del lcd en la libreria misma del ccs, qeu son lcd_gotoxy(), lcd_init()(imprescindible inicializar el lcd para qeu funcione), lcd_putc(), etc, etc.

espero se haya entendido, sino pregunta tus dudas o mejor puedes busacar info por aca, que hay bastante, un saludo, adios.
.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: como programar un teclado en pic 18f4550 :D
« Respuesta #4 en: 19 de Julio de 2008, 22:24:50 »
Hola.

Para usar los display's debes pasar el numero final a BCD y luego desplegarlo usando multiplexacion.

Saludos
El papel lo aguanta todo

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: como programar un teclado en pic 18f4550 :D
« Respuesta #5 en: 20 de Julio de 2008, 13:11:53 »
 :oops: :oops: caramba que meti la pata, ya me acostumbre a solo usar lcd, que mal :( disculpa por la lata que dije, eso sirve para un lcd de todos modos, jeje cuando trabajes con uno ya mas o menos sabrás :mrgreen:

cuantos display utilizaras? si es solamente uno no hará falta la multiplexación, simplemente como menciono _MLO, convertir ese dato que recibes del teclado a uno para mostrarlo, hay varias formas, puedes utilizar una variable constante en donde tienes decodificado cada numero, y tb dependerá de si el display es de catodo común o ánodo.

por ejemplo defines, si fuera catodo comun:
int const NUMERO[10]={0b00111111,0b00000110,...};
                                        0                1
esto es como se verá en el display, por ejemplo para el cero, el primer dato, encendido todo menos el segmento g:   0b0 0 1 1 1 1 1 1
                         g  f e d c b a

y asi para el resto, y despues con tu dato que obtengas del teclado te posicionas en el dato que le corresponda en el variable NUMERO

beuno esa es una forma de hacerlo seguramente hay muchas más, espero me haya dejado entender, un saludo, adios, y disculpas por la confusión
.

Desconectado alex_angeluz01

  • PIC10
  • *
  • Mensajes: 14
Re: como programar un teclado en pic 18f4550 :D
« Respuesta #6 en: 20 de Julio de 2008, 22:24:03 »
son 4 y es de catodo comun :D

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: como programar un teclado en pic 18f4550 :D
« Respuesta #7 en: 20 de Julio de 2008, 23:11:35 »
Hola.

Debes usar multiplexacion, y si necesitas el numero en BCD, luego de pasarlo a BCD debes pasarlo a 7 segmentos tal y como lo describio Cryn, si son de catodo comun (negativo comun) debes enviar 1's al respectivo display en los pines de abcdefg y despues de enviado el numero activas el correspondiente display y asi con el resto.

Mira 7 segmentos con int timer0 para que te des una idea.

Saludos
El papel lo aguanta todo

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: como programar un teclado en pic 18f4550 :D
« Respuesta #8 en: 21 de Julio de 2008, 12:41:55 »
ok listo la parte del teclado ya lo tengo ahora como hago para que las teclas selecionadas me aparescan en los display??

para controlar varios 7-seg:

http://www.todopic.com.ar/foros/index.php?topic=8427.msg54971#msg54971

lo demás es cuestión de concatenar ambos programas

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado osvaldo93

  • PIC10
  • *
  • Mensajes: 2
Re: como programar un teclado en pic 18f4550 :D
« Respuesta #9 en: 25 de Julio de 2012, 15:34:20 »
como programo l pic 16f877a para un teclado 4x3! ocupo ayuda utilizo PIC BASIC, gracias de antemano