mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC-Würfel: Interrupts, Flanken und Sleep Mode


Autor: P.H. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: P.H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: P.H. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier der neue überarbeitete Schaltplan.

Autor: A.Z. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht es nur um eine Programmierlösung?

Autor: P.H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja es handelt sich nur um ein Software Problem. Kann jemand helfen?

Autor: P.H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner, der uns helfen kann?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P.H. schrieb:
> Keiner, der uns helfen kann?

Bei PIC-Assembler kann ich Dir leider nicht helfen.

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


Peter

Autor: P.H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: U.R. Schmitt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lehrmann Michael schrieb:
> 2. LED-Verschaltung ist grauenhaft. Schalten sollte man nach GND und vor
> allem nicht 2*20mA pro Pin.

Sind nur etwa 4mA pro Pin (Knopfzelle - Led-Durchlassspannung) / 560 Ohm 
ergeben 2mA (wohl Low Current Leds).

Zur Programmierung kann ich euch in PIC Assembler auch nicht helfen, 
gibts für PICs nicht auch spezialisierte Foren?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.