Bitte um Hilfe!!!! Was ist hier falsch? (Timer)

Gast #90817
Hi, habe Probleme mit dem Timer, und seinen Startwerten, etc.
was ist hier denn genau falsch? Müsste nur ein bisschen sein. würde es
aber gerne wissen. habe gestern 3 STunden damit zu verbracht dannach zu
such, kann aber nichts finden!!!
danke schonmal für eure HILFE!!!

schönen gruss euch allen

Alex Haydl

und hier der quelltext:



start:

org 000Ch       // Sprung zur programmaddresse 000C um mit Interrupt
                   nicht in Konflikt zu kommen

mov TMOD,#01h  // Modus 1 des Timer 0 (16 - Bit Timer)
setb 0AFh      // Freigabe aller interrupts
mov TH0, 03Ch  // Startwerte des Timers im High - Nibble
mov TL0, 0B0h  // Startwerte des Timers im Low -Nibble
setb TR0       // Startbit des Timers

org 000Bh      // Einsprungadresse des Interrupts
ljmp T0_int    // Sprung ins Interrupt




T0_int
inc P1         // Zähler an P1, wird alle 100µS erhöht
reti           // Zurück ins Hauptprogg


end
Gast
Hi Alex!

Schau dir doch mal das Tutorial auf dieser Seite (den Teil mit den
Interrupts) an.

Der Controller arbeitet deinen Code ab Adresse 0x000 ab und da stehen
dann auch die Sprungbefehle für die Interrupts.


.org 0x000                    ; kommt ganz an den Anfang des Speichers
         rjmp START           ; Interruptvektoren überspringen
                              ; und zum Hauptprogramm
.
.
.
.

START:
   Hier kann jetzt der Code hin...

Meiner Meinung nach kann dein Code nicht funktionieren. Du schreibst
dein Programm an die Adresse 0x000C aber hast keinen Sprung dorthin.
D.h. dein Controller läuft von 0x000 ins Nirvana und macht das was da
zufällig gerade steht.

Versuchs erstmal mit dem Tutorial bevor du den Timerinterrupt
programmierst

ciao
  hmann

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.