Multiplicar dos numeros en PIC18F452

Hola, en la universidad estamos haciendo un programa que convierta ciertos valores. Por ejemplo, el programa pide un numero (0 a 1000), ese numero "num" debe hacer lo siguiente entre otras:

Valor=(1.66+(num/1000))*5000;

Bien, el primer problema que encuentro es que por comunicacion RS232, al introducir un numero, por ejemplo "2", lo lee como ASCII es decir "50", entonces que deberia hacer? pasarlo a decimal para que me de "2" con algun algoritmo? y segundo, como se pueden multiplicar y dividir los valores de la formula ya que son de mas de 8 bits y no se la forma.

Gracias por adelantado

PD: Llevo una semana buscando por el foro pero no he visto nada que me abra los ojos, apenas unas converisones a binario, pero por ejemplo nada sobre mas de 8 bits.
 
Hay te te dejo un ejemplo. Solo agrega tu ecuacion.
No es mi constumbre resolver las tareas de otros pero de por eso no e terminado.
 

Adjuntos

  • pruebas en 18fxxx.rar
    44 KB · Visitas: 39
gracias por las respuestas,ahora me encuentro con el problema de que en la formula del primer post, a veces (num) es negativo, por lo que el resultado de la formula es negativo, como puedo hacer el modulo de la formula para que siempre sea un numero positivo?

Por mas que busco y lo intento no se.

Gracias
 
La instruccion en CCS es abs()
ejemplo:
Temp = abs(x) donde x es un numero signado de 8 16 o 32 bits o flotante.
no olvides incluir la libreria stdlib.h

Saludos
 
Atrás
Arriba