Timer Benutzung

Gast #160216
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!
Gast #160217
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

Eine eigene Frage? Dieser Thread ist über 21 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.