TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: beto0350 en 23 de Marzo de 2007, 22:01:04

Título: ¿como realizar operaciones de punto flotante en asm en pic?
Publicado por: beto0350 en 23 de Marzo de 2007, 22:01:04
Hola:

  Quiero realizar en un 16f877 una division y luego con el valor obtenido,
  multiplicarlo y obtener el valor original.
  En decimal la perdida de digitos es poca por ejemplo
 
  6200/470 = 13,19 y luego
 
  470 * 13,19 = 6199,3  casi el valor original,
  pero en HEXA PIERDO todo el valor de los decimales
 
  6200= 1838 HEX
  470 = 1D6 HEX
 
  1838 / 1D6 = D
 
  D * 1D6 = 17DE pierdo 5A
 
  como puedo hacer para no perder los decimales y obtener
  casi el valor original o como trabajar con punto flotante
 
  Todo usando lenguaje ASM
Título: Re: ¿como realizar operaciones de punto flotante en asm en pic?
Publicado por: micro_cadaver en 24 de Marzo de 2007, 00:21:01
sugiero usar BASIC o C y utilizar un cristal de 20MHz para q las operaciones se realizen rapido sino ..... uff va ademorar pues debido a la arquitectura de los pics (en este caso del 16f877) no se presta facilmente para tales intenciones, sugiero q chapes un pic de la gamma  18F. :-/
Título: Re: ¿como realizar operaciones de punto flotante en asm en pic?
Publicado por: maunix en 24 de Marzo de 2007, 15:10:30
  como puedo hacer para no perder los decimales y obtener
 

La otra alternativa es que escales ambos numeros.

Ej. si A = 245 y B = 42,  haz

A = 24500 y B = 4200

Saludos