Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage


von Thomas R. (tommyr)


Lesenswert?

Hi.
Ich programmiere noch nicht lange mit PIC's.
Jetzt wollte ich mal eine allgemeine Frage stellen.
Ich arbeite mit dem PIC18F2550. Laut Datenblatt ist nur der PortB zu
benutzen für Interrupts?

Und meine zweite Frage.
Ich hab jetzt fürn Anfang ein lauflicht programmiert das funzt auch
ganz gut jetzt will ich 2 Taster anschließen und wenn ich die betätige 
soll
sich das lauflicht ändern. So wie setze ich das am besten um?
Eine einfache bit = 1 abfrage? Oder einen Interrupt programmieren?
Wenn es der Interrupt werden soll komm ich nicht ganz mit der umsetzung 
klar.
Wenn ich ein Interrupt programmiere springt er ja in die routine da ich 
aber einen taster und keinen schalter benutze springt er doch wenn er 
fertig ist wieder ins hauptprogramm. Er soll aber in dem lauflicht 
bleiben bis man einen anderen Taster wieder drückt. Wenn mir einer 
Starthilfe geben kann bin ich dankbar.

von Mhm (Gast)


Lesenswert?

Also, ich würde jetzt mal mit ganz einfachen Spielerien anfangen, wie 
z.B. den Taster an einen externen Interrupt-Pin hängen, möglichst 
low-schaltend, und dann eben den Pullup aktivieren an dem Pin. Den 
externen Interrupt dann so einstellen, dass er ausgelöst wird, wenn der 
Pin seinen Zustand auf low ändert, also bei einer fallenden Flanke. Nun 
schaltest du in der Interrupt-Routine einfach eine LED an, und wenn das 
schonmal klappt kannst du dann weitermachen, wie z.B. dass die LED 
ausgehen soll wenn der Taster wieder losgelassen wird, oder dass du den 
Taster entprellst. Dazu kannst du dir auch hier im Forum mal den Artikel 
Entprellung durchlesen.

von MaWin (Gast)


Lesenswert?

> So wie setze ich das am besten um?
> Eine einfache bit = 1 abfrage?

Die ist sicher einfacher als das:

> Oder einen Interrupt programmieren?

Du hast kein Zeitproblem.

Natürlich kannst du üben, um festzustellen,
was bei Interruptverarbeitung zu beachten ist.
Das kannst du mit der Bitabfrage nicht :-)

von Thomas R. (tommyr)


Lesenswert?

Ne zeitproblem hab ich keines.
Ich will mich mal so in Grundlegende sachen einarbeiten.

Ich probier mal bißchen rum mit den Interrupts :o).

Ich hab noch ne andere Frage ich hab den MCLRE aktiviert aber irgentwie 
mag der nich so wie ich will sprich er macht garnix. Hab ihn über 10k 
widerstand auf VDD angeschlossen und über einen Taster mit masse 
verbunden.

Hier meine Configurationbits vielleicht hängt da der wurm drin.

;Configuration bits

CONFIG      FOSC = ECPLLIO_EC
CONFIG      PLLDIV = 2
CONFIG      PWRT = ON
CONFIG      BOR = OFF
CONFIG      WDT = OFF
CONFIG      LVP = OFF
CONFIG      MCLRE = ON

von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo
Hab mal 2 Anhänge hochgeladen.
Vielleicht hilft es dir ja.
Habe den µC so eingestellt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.