Programa en c para pic 12f609 para tener una salida en un pin de 1hz

Que tal, en la escuela unos amigos están trabajando en un proyecto que consiste en diseñar y construir un reloj digital mediante la implementación de contadores y utilizan como generador de pulsos un 555, yo les comente que ese integrado no es muy preciso ya que lo tenían con una configuración para 1 Hz y que con el tiempo se desajustaría, les propuse que implementaran un microcontrolador para generar un pulso de 1 Hz un poco más preciso y si lo consiguieron, la desventaja de esto es su tamaño ya que solamente sabemos utilizar el microcontrolador 89S52, así que me puse a investigar y encontré un pic (12f609) que tiene el tamaño del 555 y se me ocurrió hacer un programa para cumplir con el propósito de tener en un pin del pic una señal de 1Hz la cual seria dirigida a los contadores.

Supe que estos integrados se programan en un lenguaje llamado c el cual tiene un gran potencial y que la tarea en la que lo pienso aplicar se puede realizar con la instrucción delay_ms o delay_us, el problema es que soy nuevo en esto de los pic´s y no conseguí entender claramente cómo hacer este programa, entiendo que tengo que tener un compilador para c y un programador para poder generar y cargar el archivo que se ejecutara en el pic de los cuales solamente en la escuela tenemos el programador pero nos falta el compilador para c y quisiera pedirles que me ayudaran con esto, tal vez alguien pueda ayudarme a generar el programa en c y el archivo que va en el pic y explicarme como funciona. Desde ya gracias.

P.D. Creo que este pic cuenta con un osilador interno lo cual hace aun más pequeño el circuito de implementación ya que me ahorraría el cristal.

Saludos.
 

Adjuntos

  • 12f609_205.jpg
    12f609_205.jpg
    37.6 KB · Visitas: 31
Mmmm si tienes razon en que un PIC es mas exacto que un 555, pero solo si usas un cristal como oscilador maestro, si usas el oscilador interno las variaciones van a ser mucho mas complejas de controlar que con un 555

Por otro lado usar un PIC solo para generar una señal estable de reloj se me hace mucho desperdicio, existen en el mercado osciladores construidos solo para esa funcion (RTC), o puedes hacer un oscilador a cristal con compuertas logicas....
 
Bueno pues tienes razón Chico3001, tal vez para la tarea en la que quiero utilizar el pic seria como matar una mosca con una escopeta, pero más que un desperdicio y lo veo como mi primer “Hola mundo” en el ámbito de los pic´s y que mejor que emplearlo en algo que no solamente prendera un led, sino que también es para ayudar a mis compañeros con su reloj.
Saludos.
 
Código:
        bsf '03',5
        movlw 'pon el valor aqui pero deja las comillas' d       ;esta parte define que pines a usar como entradas o como salidas un 1 es una entrada y viceversa el numbero tiene que ser de ocho bits, contando de derecha a izquierda los primeros 5 bits son para las 5 I/O que puedes utilizar en el chip los demas bits van a ser ignorados por el chip
        movwf '86'
        bcf '03,5
 loop    movlw 'xxxxxxxx'        ;de derecha a izquierda pon como unos los bits en los que quieras sacar la senal y como zeros en los que no quieras sacar la senal de nuevo los ultimos 3 bits (de derecha a izquierda) van a ser ignorados por el chip
        xorwf '06'h,1
        movlw'255'd
        movlw ''d
        movwf '40'h
delay   decfsz '40'h
        goto dela
        goto delay
dela movlw '255'd 
        movwf '41'h
del     decfsz '41'h
        goto del        ;769
        goto delay
te doy el resto del programa despues[/code]
 
hola , yo tambien estoy interesado en aprender a utilizar los pic, por ahora solo se trabajar con el microcontrolador 8051 y todos los que son compatible a este como los de atmel. agradeceria cualquier ayuda o comentario.
tambien me gustaria encontrar a alguien que me ayude a crear una tarjeta osciladora con un microcontrolador y que esta a su vez tenga una etapa de transferencia.
 
Atrás
Arriba