PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gelöst. Ausgabe 12f675 Reihenfolge vertauschen->dann Prob



PWN
13.02.2009, 21:40
BeideBlinken
; bsf GPIO,1 ; Einschalten Kontroll - LED
bsf GPIO,5 ; Einschalten Blinker-LED-1-Links
bsf GPIO,2 ; Einschalten Blinker-LED-2-Rechts

movlw D'249' ; Dezimalwert für die Zeitkonstante zur Übergabe
movwf help ; Schieben des Wertes in die Variable "help"
call PAUSE250ms ; Aufruf des Unterprogramms "Pause250ms"
; bcf GPIO,1 ; Ausschalten Kontrill - LED
bcf GPIO,5 ; Ausschalten Blinker-LED-1-Links
bcf GPIO,2 ; Einschalten Blinker-LED-2-Rechts

movlw D'249' ; Dezimalwert für die Zeitkonstante zur Übergabe
movwf help ; Schieben des Wertes in die Variable "help"
call PAUSE250ms ; Aufruf des Unterprogramms "Pause250ms"
goto HAUPT ; Und wieder von vorne!




Das ist mein erstes Programm!!

Ich nutze einen 12f675, deshalb die Bezeichnung GPIO statt PORT.

Von Interesse sind nur die Zeilen beginnend mit bsf / bcf.

Und gleich mein erstes Unverständnis:
In diesem Programmteil sollen 2 angeschlossene Lämpchen an Ausgabeport 2 und 5 gleichzeitig blinken.
Das tun sie auch, aber erst, nachdem ich die Reihenfolge ausgetauscht habe!
Wenn ich im Programm ZUERST GPIO2 und DANN GPIO5 ein bzw. ausschalte, dann blinkt nur die Lampe an GPIO5.

Wie im Code angegeben: Zuerst 5, DANN 2 schalten, und es funktioniert.

Zur Steigerung habe ich an GP!O1 noch eine Kontroll-LED angeschlossen (im Code auskommentiert).
Die tut keinen Muks.
Funktioniert aber einwandfrei, wenn ich die Zeilen mit GPIO2 und GPIO5 wegkommentiere.

Ich bin ja schonmal soo froh, dass die Schaltung einwandfrei geht. Was hat es bloss mit der Reihenfolge auf sich?

Peter

PWN
14.02.2009, 12:58
"Ein wenig" gebessert hat sich das Problem, als ich einen Spannungsteiler an einem unbenutzen Analogeingang entfernt hatte.

(Kontroll-LED blinkt dann mit, aber alle Ausgänge gaben keine volle Spannung ab)

Aber das mit dem Ausgang vertauschen?

Lösung:
Ich habe an zwei Ausgängen je einen MOSFET dran. Und so einer benötigt wohl doch mehr Spannung bzw. mehr Zeit um das Gate umzuladen.

Versuchsweise eingesetzte Ableitwiderstände zwischen Gate und Ground brachten nichts.

Nach dem Schalten des problematischen Ausganges habe ich erst viele, letztendlich nur einen NOP eingefügt und alles läuft einwandfrei.

NOP habe ich dann sicherheitshalber auch beim Schalten der anderen MOSFET-Ansteuerung eingebaut.

Fazit:
Nur nicht aufgeben....