Pic16F877 Flankensteuerung, wie?

OP #688625
Lesenswert?
• ▲
▼
Hallo Leute!

Ich will mich zuerst kurz vorstellen.
Bin relativ neu in der uP programmierung.
Deshalb möchte ich euch bitten mit mir ein bisschen nachsichtig zu sein.
Nun zu meinem Problem:

bitte seht euch das mal an.
ich möcht mit dem Pic ein Blinklicht überwachen,
dabei kam mir ein Interrupt am sinnvollsten vor.

Das sieht dann so aus:

zuerst überwache ich RB4 ob das Blinksignal da ist.
quasi bei jedem Blinktakt soll 1 dazugezählt werden.

void interrupt isr(void)
{

  GIE=0;

    if (RBIF)                  // Am port B hat sich etwas geändert
    {

    if ((PORTB & 0b00010000)== 0b00010000)
    {
      a++;
    }

  }

  RBIF = 0;

  GIE=1;

}

und dann auswerten--> ich sag mal min. 10 Blinktakte sind ok.

also

if(a >= 10)
{
    Blink_ok = 1;
}

mein Problem ist das ich aber noch weitere Eingänge am PortB beutze und 
ich ein High von RB4 auch ein Fehler ist.

Also meine denkweise. wenn High dann wird ohnehin nur einmal gezählt 
also kann nie 10 erreicht werden und bei low wird nicht gezählt.

so jetzt zum Fehler. Der Interrupt wird immer ausgelöst wenn sich am 
PortB was ändert und wenn die Leuchte(RB4) dauernd auf high ist, wird 
der Interrupt über einen anderern Eingang am PortB ausgelöst.
Also wird auch bei dauern High raufgezählt.

Eine Idee wäre Flankensteuerung wie funktioniert das beim 16F877???

mfg Daniel.

Antwort schreiben

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.

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.