//(c) 2007 Markus Vohburger //Gewerbliche Nutzung nur mit Genehmigung .include "tn13def.inc" .def temp1 = r16 .def presscount = r17 .def rxptr = r18 .def dosleep = r19 .def pulseoutput = r20 .def temp2 = r21 .def temp3 = r22 .def pulsestatus = r23 .def wrongcount = r24 .def lockcount = r25 .def temp4 = r26 //PB BITs der Funktionespins .equ OUTPUT = 1 .equ STATUS = 2 .equ TASTER_INTERN = 3 .equ TASTER_EXTERN = 4 //Wartezeit bei Überschreiten der Fehlversuche .equ LOCKTIME = 75 //bedeutet ca 75*8 Sekunden .equ CODELENGTH = 5 //Die Schlüssel-Länge, maximal (SRAM / EEprom Grösse Minus Stack) .equ MAX_TRY = 3 //Anzahl der Fehlversuche .org $0000 rjmp reset .org WDTAddr rjmp wdthandler .org PCI0Addr rjmp PCIHandler .org OVF0addr rjmp OVF0Handler .org INT_VECTORS_SIZE*2 reset: //Stack Pointer initialisieren ldi temp1,low(ramend) out spl,temp1 //Output und Status-Pins als Ausgang ldi temp1,(1<