# conversión nº decimal a binario 4 bits en programación



## skan (Ago 24, 2006)

buenas. programando PIC16F84A, estoy realizando un microtemporizador, visualizando su estado en un display7seg controlado por un 74247. recojó pulsos de un pulsador y los cuento y almaceno en un registro del pic, en decimal... necesito convertir el nº de pulsos obtenidos a nºbinario de 4bits para atacar el 74247....

2soluciones rondan mi cabeza...
1)algun algoritmo o instrucción que me permita la conversión.
2)realizar la cuenta (suma o resta) en binario, pero debería forzar que este sea de 4 bits, y no se bien como almacenarlo (en un unico registro...imposible no, solo almacenan unbit) eje. 0x0C (ahí realizo la cuenta en decimal...)

utilizao MPLAB para programar. gracias por su atención y espero contestación.


----------



## sagueso (Ago 27, 2006)

Creo que le puedeo colaborar, pero necesito tener claro:
* El número de pulsos máximo que va contar.
* Si tiene un solo display o varios


----------



## skan (Ago 28, 2006)

maximo recojere 9 pulsos, y atacaré solo a un display.

(cada pulso supondrá un minuto mas de temporización, y 9 minutos es ya de sobra para realizar la insolación..por lo tanto con un solo display me apaño)

gracias.


----------



## sagueso (Ago 28, 2006)

Aun no me queda claro el problema.
Si esta contando los pulsos, debe estar almacennado en un registro del PIC ese valor.
Como indica que solo va a contar hasta nueve significa que ese registro máximo tendra ese valor, luego variara entre 0-9.
Si tiene configurado uno de los puertos como salida, por ejemplo el puerto A y configura solo los 4 bits bajos como salida, solo debería enviar el valor del registro que tiene la cuenta a PORTA y no habria problema.
Si el número de pulsos excede los nueve, en el programa se deve colocar una restricción para que no siga contando ó  para reinicar el registro nuevamente a cero.
Debe recordar que los datos que salen por los puertos son binarios y puede conectar el conversor 74247 directamente a la salida del PIC.


----------

