1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
timer_64led
(C) 2006-2009 Michel Pollet <buserror@gmail.com>
This is a real life project, see enclosed JPEG.
At atmega168 drives 4 74HC595 shift registers to drive 64 LEDs. 3 Buttons
provide an interface for "start", "stop" and "reset" of the timer.
The timer handles multiple days by switching to display "hours + minutes"
instead of "minutes + seconds" after an hour.
The LED brightness changes if you stop the timer.
The interest of this in simavr is the ease of making a "fake peripheral"
that simulates the 4 shift registers, recover the PWM duty cycle and
send button events.
Also, make sure to record a "wave file" to display in gtkwave, you will
see the Interupt flags, the shift register being filled, the latch pins,
and even the PWM duty cycle.
|