; ****************************************************** ; BASIC .ASM template file for AVR ; ****************************************************** .include "C:\VMLAB\include\tn15def.inc" ; Define here the variables ; .def temp =r16 .def bitzaehler =r20 .def datum =r17 .def null = r18 .def rT0run = r19 .def adresse = r22 .def kommando = r23 .def zeit = r21 .def helligkeit = r24 .def anausz = r25 .def stufe = r1 .equ T0run = 3 ; Zeitgeber 0 mit Takt/64 laufen lassen .equ fosc = 1600000 ; Taktfrequenz der CPU .equ stufenw = 5 .equ schwelle = 38 ; 1.5e-3/TeilerT0*fosc .equ cal = 5e ; Kalibrierungsbyte, mit "make read_cal" auslesen! .equ adresse = 18 ; Geräteadresse .equ heller = 20 ; Kommando für "heller" .equ dunkler = 21; Kommando für "dunkler" .equ einaus = 22 ; Kommando für "ein/aus" ; Define here Reset and interrupt vectors, if any ; reset: rjmp start .org INT0addr rjmp neuesBit .org T0OVaddr rjmp zeitUeber .org 0x13 ; Program starts here after Reset ; start: ldi temp,cal out osccal,temp ; kalibrieren clr bitzaehler clr null clr datum clr anausz ldi rT0run,T0run ldi temp,stufenw mov stufe,temp sbi DDRB,1 ; OC1A als Ausgang ldi temp,255 out OCR1B,temp ldi temp,((1<