org 0003h JMP ISREX0 org 000Bh Jmp ISRTO start: acall init loop:jmp loop init:mov TMOD,#00000010b ;Initalisierungsteil Timer und Extern Interrupt mov TL0,#2 mov TH0,#2 setb ET0 setb EX0 setb IT0 setb EA setb TR0 mov R0,#0 mov R1,#0 ret ISRTO: cjne R0,#20,marke1 ;ISR für Timer mov R0,#0 cpl P1.3 ende: reti marke1: inc R0 sjmp ende InitTabelle: mov dptr,#frequenzcode cjne A,#6,marke2 clr A ret marke2: inc A ret ISREX0: mov A,#0x00 ; gib Akkumulator die Adresse des frequencodes movc A,@A+dptr ; Hole die Konstante die abgespeichert ist mov TL0,A ; in TL0 laden mov TH0,A reti frequenzcode: DB 4,7,9,10,18,20,22,24,26,28,30