www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer Benutzung


Autor: Wouter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mal ein sehr einfaches Problem: Ich versuche ein C-Programm zu
schreiben, welches 3 verschiedene PINs meines PIC16F876 je 100 mal pro
Sekunde auf High setzt. Hierfuer wuerde ich gerne den Timer0 (+
Prescqler) verwenden. Kann eigentlich ja kein Problem sein, faellt mir
trotzdem schwer. Waere nett, wenn mir jemand helfen koennte, bzw wenn
hier jemand ein Programm reinstellen koennte, an dem ich mir das
Vorgehen anschauen kann. Danke!

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du parametrierst TMR0 als Counter für den internen Takt. Damit wird er
mit dem internen Takt / Vorteiler um eins erhöht.

Als Zeitbasis brauchst Du 10ms (Beispiel, die ISR müsste evtl. mehrmals
als 100x/s aufgerufen werden) mit einem  4MHz Quarz. Damit wäre der
interne Takt 1MHz und nach 10.000 Takten soll ein Interupt ausgelöst
werden.

Das würde ungefähr mit Vorteiler=64 funktionieren, wenn TMR0 nach 156
Takten überlaufen würde. Um das zu realisieren müsste TMR0 in jeder ISR
mit 100 geladen werden (256-156=100).

Die Variante ist aber nicht 100%-ig genau. Auf die µs genau kannst Du
so etwas mit dem CCP-Module realisieren. In der Codesammlung findest Du
ein Programm für eine Schaltuhr (Belichtungsuhr) mit dem 16F876. Ist
zwar ASM aber dort habe ich das CCP-Module verwendet. Für einfache
Sachen reicht aber auch TMR0.

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.