Autor Tema: como se saca el porcentaje en asembler. Proyecto especial para modulacion de ancho de pulso.  (Leído 2176 veces)

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

Desconectado christian1985

  • PIC10
  • *
  • Mensajes: 1
HOLA que tal, soy Ingeniero electronico en peru, y actualmente me encuentro diseñando un programa con PIC 16f877 , y bueno el programa ya me salio pero hay un eslabon que le falta el cual no funciona si no me sale.

Este se trata de sacarle el porcentaje a un registro cualquiera
y colocar el resultado en otro registro
Por ejemplo si tengo .50 en ese registro y en otro el valor .10
entonces el resultado seria 5 como hago esa operacion de sacarle el 10% a 50.

Y no puedo utilizar el modulo pwm del pic por que los periodos de trabajo son muy lentos.

Bueno te agradesco de antemano, y si me puedes ayudar tendras todo este programa con el esquema y explicacion del funcionamiento.
tambien te puedo brindar informaciones o intercambiar.


Desconectado jesus_sat

  • PIC10
  • *
  • Mensajes: 7
hola amigo, yo tambien soy de Peru (de donde eres), bueno espero que esto te sea util:
para sacarle un porcentaje a un numero, primero lo tienes que multiplicar al en tanto porciento y luego dividirlo entre 100, entonces lo que puedes hacer es primero multiplicar tu número (en binario) por el tanto porciento, pero por el problema del binario solo puede ser un multiplo de dos, la forma de multiplicar por un multiplo de dos es simplemente desplazar tu numero hacia la izquierda y agregando ceros a la derecha (lo tienes que hacer tantas veces como el tanto porciento dividido entre dos).. aa pero ten cuidado con el carry contenido en el registro status porque la instruccion rlf afecta al carry y tambien lo desplaza; ahora una vez hecho eso lo tienes que dividir entre 100 (1100100b), igual de la misma forma pero esta vez lo desplazas hacia la derecha, yo hice algo parecido para sacar el promedio de 8 muestras tomadas com el conversor.  Nos vemos.

Desconectado fenix_jn

  • PIC18
  • ****
  • Mensajes: 418
Bueno, la formula matematica del porcentaje es simple, porq no simplemente usas una rutina de multiplicacion y luego divides el resultado entre 100, en el foro hay varias rutinas q permiten multiplicar y dividir y no necesariamente los numeros deben ser multiplo de 2 para hacerlo.


 

anything