Abrir fuente Microchip LED PWM controlador proyecto (2 / 3 paso)

Paso 2: Diseño de Software


Programación de la 12F609 separa a los hombres de los muchachos. Mientras que el hardware puede ser super sencillo, el software no lo es. Pasé semanas (OK, tal vez dos) verter sobre esta materia. El código siguiente ha sido altamente optimizado solo para esta aplicación. No hay prácticamente ninguna sobra RAM o ROM de sobra. De hecho, quedó sin RAM muchas muchas veces y tenía a éter gota funcionalidad o busque más optimizaciones.

El 12F609 no tiene un UART. Así que, recibiendo nuevos comandos manteniendo los canales PWM se convirtió en mi pesadilla. Los canales PWM deben mantenerse aunque se recibe un nuevo personaje. El ojo humano es tan bueno al ver el pequeño bache que emana de un LED.

Recibir un nuevo personaje utilizando el software no es gran cosa. Sin embargo, recibir caracteres al actualizar salidas PWM. El truco es para actualizar los canales de salida LED mientras se espera el siguiente bit en el enlace comm. En efecto, es multitarea y conseguir que todos los trabajadores fue una molestia importante. Simplemente imposible sin un LSA (analizador lógico de estado). Usé un pin de salida como un pin de depuración. Quisiera cambiar el pin en ciertos eventos y busque en mi LSA. Con este truco, pude ver cada bit recibida por mi código.

OK, OK, ya lo suficiente. A continuación puede encontrar los archivos de origen que hacen toda la magia. Soy publicarlos con la esperanza de que otros pueden aprender de mis esfuerzos. Existe algún buen código allí.

En lugar de describir todo el software en detalle, los comentarios en el código deberían explicar más cosas. Recuerde que en caso de duda "Usar la fuerza - ver el origen." He añadido un montón mas comentarios al código en un intento de hacerlo más legible. Espero que estarás de acuerdo que es, de hecho, legible.

=========================================

Actualización: 16 de mayo de 2012

A continuación es un accesorio de Zip que tiene 32 hexagonal archivos dentro.  Cada archivo hexadecimal es lo mismo excepto el número de nodo codificadas.  Así, para flash nodo #1 Utilice archivo "1.hex" para programar el micro.

Esto debería ayudar a la gente que no tiene acceso al CCS C Compiler.

Artículos Relacionados

Arco iris LED - RGB LED PWM controlador construcción - fácil construir

Arco iris LED - RGB LED PWM controlador construcción - fácil construir

paso a paso, fácil de seguir las instrucciones en la construcción de un controlador de PWM LED arco iris RGB LED. Se necesitan solamente una cantidad mínima de piezas, junto con un procesador PIC, y se puede construir uno de los mejores controladores
Diseñar una lámpara Multi nodo LED PWM

Diseñar una lámpara Multi nodo LED PWM

este instructable le mostrará cómo diseñé un controlador de PWM de la lámpara LED. Lámparas múltiples ser ensartadas para grandes cadenas de la luz.Crear algunas blinky luces LED para Navidad siempre ha estado en mi lista de deseos. Temporada de Navi
Abrir fuente Solarpad Kit Solar USB cargador

Abrir fuente Solarpad Kit Solar USB cargador

Por favor haga clic abajo para visitar nuestra página de proyecto de Kickstarter para Solarpad!http://www.Kickstarter.com/projects/249225636/sola..."Por último, un correcto Cargador Solar para excursionistas y ciclistas" - culto de Mac¿ Can un c
Abrir fuente TV Box - GeekBox

Abrir fuente TV Box - GeekBox

"... eres un esclavo, Neo. Como todos los demás naciste en cautiverio. En una prisión que no puedes probar o ver o tocar. Una prisión para tu mente." Morpheus - la matriz (1999)Vale. Debo admitir que es una introducción teatral (tal vez demasiad
Abrir fuente agua impresa 3D filtro

Abrir fuente agua impresa 3D filtro

Objetivo de Faircap es proporcionar agua limpia para todos, en ese sentido estamos haciendo herramientas de filtración que eliminan bacterias y virus. Nuestro objetivo es hacer un filtro de agua $1, esperamos realizar una campaña de crowdfunding para
PWM controlador solar y tracker

PWM controlador solar y tracker

Tracker y regulador solar pwmPaso 1: introducciónLas aplicaciones de PV podrían agruparse según el esquema de interacción con la red eléctrica: red conectada, independiente y híbrido. Sistemas fotovoltaicos consisten en un generador FV (células, módu
Papercraft de la abrir-fuente

Papercraft de la abrir-fuente

Papercraft de la abrir-fuente o una caja para tu celular!Aquí, paso a paso, es conseguir una caja para tu celular, Ipad, lo que, usando sólo Software libre en Linux.Hay versiones de Windows para estos programas.Y estos programas son, en orden de uso,
Coser los LEDs en tu proyecto!

Coser los LEDs en tu proyecto!

Es muy fácil incluir LEDs en su proyecto de circuito suave. Para esto utilicé un hilo conductor de baja resistencia, de la hermosa Lynne Bruning, unos alicates, dos agujas de coser y un montón de LEDs verdes.Comienza por enrollar los cables de tus LE
Matriz de LED con controlador de juego - un primer proyecto

Matriz de LED con controlador de juego - un primer proyecto

este proyecto fue construido para mi clase de introducción de la electrónica de la Universidad de Waterloo en Canadá.  Esta fue mi primera introducción a la electrónica y por lo tanto, mi primer proyecto.Siga estos pasos para construir una matriz de
PWM LED con controlador de Servo inteligente

PWM LED con controlador de Servo inteligente

En esta demo voy a mostrarle cómo conectar un LED de color con el controlador de Servo inteligente.El controlador de Servo inteligente puede hacer salir señales PWM de alta velocidad que son adecuadas para manejar LEDs. Para LED de alta potencia debe
Abrir fuente temperatura controlador dispositivo intercambiador de calor

Abrir fuente temperatura controlador dispositivo intercambiador de calor

Aquí es una demo de intercambiador de calor con el regulador de temperatura de código abierto.Intercambiador de calor completo disponible aquíRegulador inteligente de esquemas y código disponible aquíEl regulador de temperatura de código abierto le p
Pequeño kit de LED usable - 12 LED PWM de un reprogramable ATtiny85

Pequeño kit de LED usable - 12 LED PWM de un reprogramable ATtiny85

Este instructivo cubre el montaje y uso de un kit de LED portátiles pequeños.  El kit es utilizable inmediatamente pero es desigend ser hackeable y puede ser reprogramado a su gusto usando un programador ISP o placa Arduino y el IDE de Arduino.No son
Codificador rotatorio tira LED brillo controlador

Codificador rotatorio tira LED brillo controlador

Simplemente tira brillo controlador de LED con rotary encoder y attiny microcontrolador 85Paso 1: Introducción:Le mostrará cómo controlar fácilmente el brillo de la tira LED. Este es realmente un controlador PWM. Está diseñado sólo para DC. Olvidar C
McMeshmixer maestro: Abrir fuente de prototipos

McMeshmixer maestro: Abrir fuente de prototipos

Fue una revelación reciente que McMaster Carr - proveedor más de la mitad de un industrial millones de bits y piezas, del catálogo amarillo enorme fama y el arma secreta del inventor, creador y artesano - ofrece ahora muchos de sus productos como par