leer teclado 4x4 y lcd

#1
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.
 
Última edición:
#2
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:)
 
Arriba