mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 1/100 sekunde Interrupt?


Autor: Denis Gérard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, habe mal eine Stopuhr programmiert und dabei den Timer1(Atmega
8), Compare Match verwendet(kaononen uns spatzen) um einen 1/100
Sekunden Interrupt zu erhalten. meine Idee war bei 4Mhz einen vorteiler
von 64 zu verwenden, und dann den Timer 1 bis 625 laufen zu lassen (low
113, high 2).
Meine Rechnung bei 4Mhz / 64 = 62500 Timerschritte je Sekunde / 100 =
625 ,also alle 625 Timerschritte ein Interrupt. Soweit meine Theorie.
In Praxis läuft die Uhr viel viel schneller als gewünscht.Das der AVR
mit 4 Mhz läuft habe ich kontrolliert. Kann mir das nicht erklären.
Ihr?
Danke

Autor: Anton (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du das ganze schonmal im Simulator ausprobiert? Was sagt der denn
dazu? Und poste mal das Programm..

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Setzen von 16-Bit Registern ist eine bestimmte Reihenfolge
einzuhalten !


Peter

Autor: Denis Gérard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke danke, erst high dann low sonst gehts in klo,
der simulator hat diesen fehler ignoriert,

 diese code funktioniert
;*********************************************************************

;Start des Timers 1 zum Generieren des 1/100 s taktes, Vorteiler 64 ,


Tim1_Start:

cli
clr temp1
out TCNT1H,temp1 ; löschen der Zählregister
out TCNT1L,temp1

ldi temp1,$02
out OCR1AH,temp1
ldi temp1,$71
out OCR1AL,temp1

ldi temp1,0b00010000
out TIMSK,temp1

ldi temp1,0b00001011     ; Start Vorteiler auf 64
out TCCR1B,temp1
sei

ret

;*********************************************************************

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.