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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren