; (C) original version: Andreas Krebs, Feb. 2004 ; modified by Timo Teifel, Apr. 2004 ; sends a hardcoded bit-sequence over and over, as long as the ; processor has its supply voltage. ; currently programmed bit sequence: 101 ; Version 1.02, 13.04.2004 ; Version 1.02, 13.04.2004 ; changed timing: short=3, long=9 ; Version 1.00, 12.04.2004 ; original version. timing: short=6, long=18 .equ SHORT = 3 ; time * 0,64ms for short impulse .equ LONG = 9 ; time * 0,64ms for long impulse .equ OUTPIN = 1 ; output Pin no. .equ PORTB = $18 .equ DDRB = $17 .macro WAIT ldi r16,@0 clr r1 loop1: inc r1 brne loop1 dec r16 brne loop1 .endmacro ; cycles: (2 + 3*255-1 + 3)* @0 - 1 = 769 * @0 -1 ; at 1.2 MHz: 0,64ms * @0 .macro BIT0 sbi PORTB,OUTPIN WAIT LONG cbi PORTB,OUTPIN WAIT SHORT .endmacro .macro BIT1 sbi PORTB,OUTPIN WAIT SHORT cbi PORTB,OUTPIN WAIT LONG .endmacro sbi DDRB,OUTPIN loop: BIT1 BIT0 BIT1 rjmp loop