PIC-Würfel: Interrupts, Flanken und Sleep Mode

Gast #2072339
Lesenswert?

Hallo liebe Nutzergemeinschaft,

wir befinden uns in unserer Ausbildung momentan in einem Stadium der 
Verzweiflung. Mein Kollege und ich scheitern schon lange an einem 
Würfel, wobei unser Ausbilder immer wieder mit neuen Aufgaben zu uns 
kommt. Jetzt sollen noch der Sleep Mode, Interrupts und eine Abfrage 
anhand einer fallenden Flanke erfolgen. Ich hoffe ihr könnt uns helfen, 
damit wir das Projekt abschliessen können. Wir nutzen den PIC12F675. 
Vergebt mir meine etwas schlechte Programmierarbeit, aber ich wusste 
nicht wie ich es anders realisieren soll. Hier der Teil an dem Eine 
Flanke abgefragt werden soll.
Wir benutzen einen Neigungswinkelschalter, um ein richtiges 
Würfelfeeling hinzubekommen.Der Sleep Mode soll mit Hilfe des Timer1 
aktiviert werden, und durch eine Flanke an GP5 im Sleep Mode wieder 
aufgeweckt werden.

Hier soll die Flanke abgefragt werden.

Neu_Würfeln

btfss  GPIO, GP5              ; Tasterstand überprüfen
goto  Decrement               ; Sprung zu "Decrement"
goto  Funktionstest           ; Sprung zu "Funktionstest"

Decrement

call  Tab1                    ; Rufe Unterprogramm "Tab1" auf
decfsz  Zaehler, F            ; Speicherzelle "Zaehler" dekrementieren
goto  Neu_Würfeln             ; Sprung zu "Neu_Würfeln"
goto  Neuer_Ladevorgang       ; Sprung zu "Neuer_Ladevorgang"

Danke im Vorraus

P.H.
Angehängte Dateien:
#2072415
Lesenswert?

1. 100nF zwischen Vcc und Vss (GND) fehlen. Abblockkondensator für 
Spannungsschwankungen und Störungen. Essentiell - Grundlage.

2. LED-Verschaltung ist grauenhaft. Schalten sollte man nach GND und vor 
allem nicht 2*20mA pro Pin.

3. Wenn dann bräuchte man schon das ganze Programm.

4. http://www.sprut.de/electronic/pic/index.htm
Da steht alles wirklich bis in kleinste Detail ausgeführt. Von Sleepmodi 
über Interrupts und Capturemodul ... Wer's dann nicht kapiert ist im 
flaschen Metier unterwegs.

P.H. schrieb:
> Der Sleep Mode soll mit Hilfe des Timer1
> aktiviert werden, und durch eine Flanke an GP5 im Sleep Mode wieder
> aufgeweckt werden.

www.sprut.de und das Datenblatt.
Gast #2072419
Lesenswert?

Der Kondensator ist mittlerweile eingefügt, habe die aktuelle Version 
des Schaltplans nicht hier.

Über Sprut haben wir uns schon informiert, aber kommen nicht wirklich 
weiter.

Die LED Verschaltung wurde vom Leiter unserer Platinenfertigung so 
ausgelegt.

Die Schaltung wird übrigens von einer Knopfzelle mit 3 Volt versorgt.
#2072431
Lesenswert?

Lehrmann Michael schrieb:
> 2. LED-Verschaltung ist grauenhaft. Schalten sollte man nach GND

Sagt wer?
Gibt es etwa ne Schaltungspolizei?

Schau mal ins Datenblatt, in VSS dürfen 300mA fließen, aber in VDD nur 
250mA.
Es kann also durchaus sinnvoll sein die Lasten an VDD zu legen und der 
MC-Strom fließt über VSS.

Rein programmtechnisch ist es vollkommen schnuppe, ob gegen VCC oder GND 
geschaltet wird.


Peter
Gast #2073838
Lesenswert?

> Ich denke mal, die meisten hier benutzen AVRs und programmieren in C.
> Bascom taucht auch noch häufig auf.
>
>
> Peter

Danke erstmal für den Beitrag. Das Problem ist nur aufgrund der Auflagen 
unseres Betriebs und der Tatsache, dass wir in der Schule auch nur mit 
PIC's arbeiten, soll auch hier ein kleiner PIC genutzt werden.

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