; santa fe beacon sim ; stk500/attiny2313 ; by renesis. ; for avrfreak. ; 2007.10.22 .set sample_count = 500 .include "tn2313def.inc" .def lpm_in =r0 .def temp =r16 .def temp2 =r17 .def state =r18 .macro throb_it ldi temp,(@0) out ocr0a,temp reti .endmacro .org $0 rjmp reset reti reti reti rjmp sample_out reti reti reti reti reti reti reti reti reti reti reti reti reti reti reset: ldi temp,low(ramend) out spl,temp ldi temp,0b10000011 out tccr0a,temp ldi temp,0b00000001 out tccr0b,temp ser temp out ocr0a,temp ldi temp,0b00000000 out tccr1a,temp ldi temp,0b00001101 out tccr1b,temp ldi temp,high(sample_count) out ocr1ah,temp ldi temp,low(sample_count) out ocr1al,temp ldi temp,0b01000000 out timsk,temp ser temp out portb,temp out ddrb,temp clr state sei deathloop: rjmp deathloop sample_out: cpi state,127 brne not_end clr state not_end: ldi ZH,high(2*throbtab) ldi ZL,low(2*throbtab) clr temp add ZL,state adc ZH,temp lpm out ocr0a,lpm_in inc state reti throbtab: .db 133,139,146,152,158,164,170,176,182,187,193,198,203,208,213,217,221,226,229,233,236,239,242,245,247,249,251,252,253,254,254,255,254,254,253,252,251,249,247,245,242,239,236,233,229,226,221,217,213,208,203,198,193,187,182,176,170,164,158,152,146,139,133,127,121,115,108,102,96,90,84,78,72,67,61,56,51,46,41,37,33,28,25,21,18,15,12,9,7,5,3,2,1,0,0,0,0,0,1,2,3,5,7,9,12,15,18,21,25,28,33,37,41,46,51,56,61,67,72,78,84,90,96,102,108,115,121,127