Interrupt PIC

#1139893
Lesenswert?
• ▲
▼
Max Berg wrote:
> Hey kann mir jemand helfen wie man bei einem PIC16F887 einen Interrupt
> an RA0 machen kann?
> Hab davon leider echt fast keine Ahnung... (Brav wie ich war hab ich
> auch schon gegoogelt aber mehr Interrupts an RB gefunden..)

Ich kenne den Controller nicht. Aber im Datenblatt (Page 7) steht ja an 
welchen Pins INterruptfunktionen liegen. Nur PortB hat IOC (Interrupt on 
change).

Du musst das wohl ohne Interrupt lösen.
Persönliche Seite #1140285
Lesenswert?
• ▲
▼
Über die Komparatoren sollte es gehen. Die können auch einen Interrupt 
auslösen. Ist nur etwas schwieriger die richtigen Einstellungen zu 
finden. Ließ dir mal im Datenblatt den Abschnitt über die Komparatoren 
durch und zur Hilfe bei sprut.de. Ich hab das allerdings auch noch nicht 
so verwendet, kann dir also keine fertige Routine liefern.

Sven
Persönliche Seite #1141444
Lesenswert?
• ▲
▼
Mir fiel gerade ein, dass mein aktuelles Projekt, ja doch den 
RA0-Komparatorinterrupt benutzt. Falls es dir was nützt, hier mal die 
wichtigsten Codeschnipsel:

ISR:
1
;welcher Interrupt?
2
IH_Interrupt_Poll
3
  Bank0
4
  btfsc   PIR2,C1IF  ;Test auf Komparator1 Interupt
5
  goto  IH_Comp1
6

7
IH_Comp1
8
  Bank2
9
  btfss  CM1CON0,C1OUT
10
  goto  IH_Comp1_ende
11
        :
12
        :
13

14
IH_Comp1_ende
15
  Bank0
16
  bcf  PIR2,C1IF  ;Interruptbit Komparator zurücksetzen

Init:
1
;Komparator1 initialisieren, löst Interrupt aus bei Spannungsausfall
2
  Bank1
3
  bsf  VRCON,VR3  ;VR<3:0> = .11 um Referenzspannung auf 2,97V einzustellen. Das entspricht ca. 14V Eingangsspannung
4
  bcf  VRCON,VR2
5
  bsf  VRCON,VR1
6
  bsf  VRCON,VR0
7
  bsf  VRCON,VREN  ;Referenzspannungsquelle einschalten
8
  Bank2
9
  bsf  CM2CON1,C1RSEL  ;Die interne Ref.spg. vom Ref.spg.modul soll benutzt werden
10
  bsf  CM1CON0,C1R  ;Die interne Ref.Spg. soll am Komparator1 +Eingang anliegen
11
  bsf  CM1CON0,C1ON  ;Komparator1 einschalten

Eventuell nützt es dir ja was

Gruß
Sven

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.