Morse Code Bicycle Safety Blinker

Posted on Feb 6, 2014

This is my first project using an AVR microcontroller and really the first embedded systems project I`ve done since college. I had two options for programming languages C and assembly. I chose assembly because I was familiar (at least with the 8051) and because it is well documented in the datasheets. Another advantage of assembly is the ability t

Morse Code Bicycle Safety Blinker
Click here to download the full size of the above Circuit.

o know exactly what is going on especially when using a device simulator. ;Bikey Talkie ;by Tim Kyle. include "tn45def. inc" ;Includes the ATTiny45/65/85 definitions file. org 0x0000 ;Places the following code from address 0x0000 ;The Following instructions and "nop"s are for handling interrupts. rjmp RESET ;Take a Relative Jump to the RESET Label rjmp Interrupt0 ;Handle an interrupt input on INT0 or PortB Pin 2 (case pin 7) nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop reti ;return from any other interrupts that might be thrown. They are not important. Interrupt0: ldi r16, 0x10 ; this represents about 1/3 of a second for a dit rcall dah ; this produces a time delay long enough to handle switch bounce. ldi r18, 0x00 ; Zero reference (there are easier ways I know) cpse r18, r22 ; Was the unit on or off If equal (off) skip 1 instruction rjmp RESET pop r20 ;pop the old program counter from the stack. It isn`t important. R20 is a convenient place to put it. sei ;Turn interrupts back on rjmp LOOP RESET: ;Reset Label ;Turn off all unnecessary clocks, timers, etc ldi r16, 0x0F out PRR, r16 ;The momentary button is connected to DIP pin 8 (INT0, Port B Pin 2). It should normally be pulled up. ;The LED is connected directly between pin 3 (Port B pin 4) and Vcc. PWM replaces the resistor. ldi r22, 0x00 ; Tell the interrupt process that the light is currently off. sei ; set Global Interrupt...

Leave Comment

characters left:

New Circuits



Popular Circuits

Adjustable Auto transformer
Slave Flash Trigger
Regulated Charge Pump
Make this Fancy LED Tail Ring Light Circuit for your Car
sound generator
making an rf car
switching loads with MOSFETs
A Mixed-Signal LED Clock
UM3561 high temperature detector circuit diagram
The triangular wave carrier generator circuit diagram