Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo, > > ich möchte in Assembler LEDs, die an Port 1 angeschlossen sind blinken lassen. Ich habe dies breits mit Hilfe > zweier geschachtelter Schleifen mit NOP-Befehlen realisiert. Dies ist natürlich sehr unschön. > Ich möchte dies also nun mit Hilfe eines Timers realisieren. Ich habe hier nun Timer T3 gewählt. Hier habe ich > aber anscheinend noch ein kleines Verständnisproblem. Mein Code sieht folgendermaßen aus: > > <asm> > T3_ EQU 0FE42h > > EXTR #1 > MOV DP1L,#0FFh ;P1L als Augang > MOV P1L,#0BBh > MOV R1,#500 ;Intervall > > b_loop: CALL init_timer ;Timer aufrufen > XOR P1L,#0BBh ;LEDs invertieren > jmp b_loop ;Endlosschleife > > init_timer: > mov T3IC,#0 ;Interrupt ausschalten > mov T3CON,#1000111B ;Timer starten,Auflösung 51,2us > > > > timer: EXTS #0,#1 > mov r4,T3_ ; Timer 4 in r4 laden > cmp r4,r1 ; > jmpr cc_UGE, timeout ;r4>=r1 => timeout > jmpr timer > > timeout: ret > </asm> > > Es scheint nun, dass die "Timer"-Schleife nie beendet wird. Was genau steht nun eigentlich in T3? > Wo liegt hier mein "Denkfehler"? Benötige ich für diese Aufgabe, vielleicht auch gar keinen GPT sondern > eher die CAPCOM-Einheit? > Außerdem würde mich interessieren, wie ich beispielsweise ein Intervall von 2s berechnen kann... > > Für eure Hilfe schon mal vielen Dank > > Gruß > > Thomas