Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

13/07/2010 #1


leer teclado 4x4 y lcd
Hola amigos, los vuelvo a molestar con una pequeña duda que tengo. Bueno les cuento que quiero realizar un proyecto con un teclado y un lcd el cual servirá para ingresar el tiempo de temporizacion que activara un relé u otro dispositivo electrónico de potencia mediana(220v), bueno eso no me parece problema, el único inconveniente que me pasa por la cabeza ahora es como transformar una cadena de texto en un numero ya sea por ejemplo a un entero (int). Utilizare la KBD.C para adquirir datos desde el teclado hacia el pic, por ejemplo de la siguiente manera que sera visualizada en el display:
(esto pretende ser un algoritmo de lo que quiero, un poco improvisado )
**que se introduzca tiempo de temporizacion (expresada en ms)
**capturar del teclado en una variable hasta que se presione tecla enter (enter sera el *)
**transformar la cadena en valor numérico tipo entero (int)
**asignar el valor ya transformado en tiempo de temporizacion
Bueno lo que mas me interesa es transformar la cadena de caracteres en un valor numérico.
Bueno de antemano muchas gracias.
Saludos...

Se me olvidaba agregar que el programa lo realizare en C con el compilador PCW CSS. Bueno y eso mas que nada si alguno ha realizado algo similar o si esposible que exista alguna lib, rutina etc...
Gracias.
13/07/2010 #2

Avatar de rednaxela

Respuesta: leer teclado 4x4 y lcd
Te voy a dar un ejemplo y tú lo acomodas a tu necesidad :

Por ejemplo vamos a convertir un número de 3 dígitos, lógicamente lo tenemos en carácter:

llamemos a "num_letras" la variable que va a contener el dato por el teclado matricial y es de tipo char, en este ejemplo supongamos que deseamos convertirlo a un número máximo de 3 dígitos hummm digamos al número 126:

Código:

char num_letras[3];
int numero = 0;
         num_letras[0]='1';
         num_letras[1]='2';
         num_letras[2]='6';
         
numero = ( ( (100)*( num_letras[0]-48 ) ) + ( (10)*( num_letras[1]-48 ) ) + ( num_letras[2]-48 ) );
El procedimiento es el siguiente:

centenas*(1) + decenas*(2) + unidades*(6) -->
100*(1)+10*(2)+1*(6) = 126

y la otra parte es jugar con el valor ascii del numero char, le restamos 48 para que podamos hacer operaciones matemáticas con el verdadero valor en entero, mira una tabla ascii y te darás cuenta.

Saludos
13/07/2010 #3


Respuesta: leer teclado 4x4 y lcd
Muchas gracias Rednaxela me has dado una solución muy buena y sencilla, de verdad se agradece mucho.
Nuevamente muchas gracias.
Saludos...
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.