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

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.