# Cómo realizar una funcion de división con un pic?



## canales (Feb 16, 2007)

Hola a todos......

Quisiera hacer una consulta.

¿Sabe uno de ustedes como hacer un programa para un pic que haga una funcion de división de dos o mas numeros ?

Si alguien sabe le agradeceria mucho su comentario o sugerencia.

Buen dia!!!


----------



## mabauti (Feb 16, 2007)

basicamente la division es una resta repetida.

ej 10/5 = 10-5 =5 , luego 5 - 5 = 0  (se pudo restar 2 veces)

Hay micros que ya traen la division incluida (no se que PIC usas)

para programas sencillos consulta piclist.com


----------



## canales (Feb 21, 2007)

Mabauti te agradezco mucho tu comentario.

Tu comentario me dió la idea para realizar el programa, lo hice y me funcionó sólo para dos números pares o dos números impares. Sin embargo, ya más o menos tengo la idea para hacerlo que funcione con números pares e impares a la vez.

Gracias, men!!!!


----------



## Chico3001 (Feb 22, 2007)

La manera facil es hacer divisiones con potencias de 2... si recorres un numero a la derecha equivale a dividirlo una vez entre 2 y si lo recorres a la izquierda lo multiplicas.... solo que muchas veces no se puede sacar un resultado usando este metodo

Microchip tiene una nota de aplicacion llamada Ecuaciones Matematicas con el PIC o algo asi... dentro de esa nota de aplicacion vienen rutinas matematicas de 8, 16 y 32 bits de suma, resta, multiplicacion y division de numeros con el pic... tambien vienen rutinas de conversion BCD a HEX y viceversa

Te aviso por experiencia que el PIC es muy malo para hacer matematicas... especialmente si usas 32 bits.... asi que si puedes evitarlo evitalo como la roña..... o cambia de micro a algo de 16 bits o en otra marca o modelo que traiga una unidad de multiplicacion integrada


----------



## jbl_one (Mar 9, 2007)

me pueden ayudar en realizar la division con el pic16f877a, por que quiero exhibir en tres display todas las combinaciones que genera una entrada de 8 bits, se lo agradeceria mucho gracias


----------



## Aristides (Mar 12, 2007)

Chico3001 dijo:
			
		

> La manera facil es hacer divisiones con potencias de 2... si recorres un numero a la derecha equivale a dividirlo una vez entre 2 y si lo recorres a la izquierda lo multiplicas.... solo que muchas veces no se puede sacar un resultado usando este metodo
> 
> Microchip tiene una nota de aplicacion llamada Ecuaciones Matematicas con el PIC o algo asi... dentro de esa nota de aplicacion vienen rutinas matematicas de 8, 16 y 32 bits de suma, resta, multiplicacion y division de numeros con el pic... tambien vienen rutinas de conversion BCD a HEX y viceversa
> 
> Te aviso por experiencia que el PIC es muy malo para hacer matematicas... especialmente si usas 32 bits.... asi que si puedes evitarlo evitalo como la roña..... o cambia de micro a algo de 16 bits o en otra marca o modelo que traiga una unidad de multiplicacion integrada



Con el micro SX, tenés variables Word (16 bit), para dividir por ejemplo "RB=RB/4".

Si te interesa disponer de variables Lomg (32 bit), coma flotante y un montón de operaciones, el indicado es el micro Propeller.


----------



## Perromuerto (Mar 13, 2007)

Si el buscador del foro funcionase, se podría hallar esta pregunta anterior
https://www.forosdeelectronica.com/posts/34752/
en la que ya se aclaró el asunto.

Saludos


----------



## cesar_e (Oct 15, 2007)

Hola, Necesito hacer un programa que divida una variable entre raiz de dos, o bien, lo multiplique por .707, el pic en el que necesito hacer el programa es el 16F877, tiene que ser con ese, ya que es el que piden en la clase. espero me puedan ayudar, gracias


----------



## mabauti (Oct 15, 2007)

aqui hay varias rutinas:
http://www.piclist.com/techref/microchip/math/mul/index.htm


----------



## biker2k3 (Mar 30, 2009)

A ver si me sacan esta, yo uso picaxe y tengo que hacer esta cuenta es para un tacometro que mide la duracion de una vuelta y con una divicion saca las rpm.
Por ejemplo si mido 11472us me tiene que dar 5230rpm
RPM= 60000000/tiempo 
RPM= 60000000/11472us
RPM= 5230

Si lo primero que piensan es sacar o agregar ceros fijense bien porque le quita presicion al calculo


----------



## sneyder (Ago 6, 2013)

pues no se mucho en el ambito de programacion pero llegue a la conclucion que se puede hacer una divicion haciendo restas susecivas 
EJ:
6/2 =3
solucion : 6-2= 4 
; 4-2 = 2 
; 2-2 = 0
y se toma el valos de las veses de las restas echas en este caso se hicieron 3 restas lo que corresponde al resultado de 6/2 = 3


----------

