Paso 2: Social para una señal
Utilizaremos estos dos interruptores a parpadear un LED programable varias veces. Los LEDs que usaremos será la social que el verdadero Elliot hizo famoso. Interruptores 1 y 2 se considerará como dos dígitos binarios, por lo que la combinación puede representar los números 0, 1, 2 y 3. Nuestro programa se lea los dos interruptores y parpadeará el LED el número apropiado de veces, pero sólo si han cambiado los ajustes del interruptor. Los interruptores son debounced durante 500 milisegundos (no optimizados). El algoritmo de debounce es bastante simple. Los interruptores se leen y se observa la lectura. Si es diferente del valor pero (el último valor guardado), entonces el programa se retrasa durante 500 milisegundos y los interruptores son leídos otra vez. Si el valor es el mismo como se lee, se actualizará el valor de pero y el LED comenzará a parpadear el número de veces implicada en el valor binario de los dos interruptores. Tenga en cuenta la inversión del valor desde un interruptor que está en "on" Lee LO. Los interruptores se analizará continuamente para más cambios.Por favor consulte Instructables anterior por el verdadero Elliot para aprender más acerca de social. Echar un vistazo a este http://www.ganssle.com/debouncing.pdf para aprender más sobre contra rebotes interruptores.
Aquí está el ATtiny2313 código de este ejemplo. En operación, este programa empezará a parpadear el LED en la PB4 se inicializa (física pin 8) dos veces para mostrarlo. Será entonces leer cambia uno y dos y una a tres veces dependiendo el ajuste de interruptor cada vez que se cambian. Cuando los interruptores no están cambiando, el LED parpadeará lentamente.
Para ejecutar este código, cree un nuevo directorio (lo llaman "Básico" Si te gusta) y descargar el siguiente archivo de código C y makefile en él. Cambie el nombre Makefile1.txt a Makefile. Utilizando WinAVR, compilar el programa y cargarlo en el ATtiny2313.