PIC 16F690 , ich komm da jetzt nicht weiter

OP #3160886
Lesenswert?

Hallo
Kann sein dass ich mich mit der Programmierung meines PIC verhaspelt 
habe.
Ich möchte an Ports anstehende BCD Daten mit einer dezimalen Auswahl 
vergleichen, und mit dem Ergebniss Unterprogramme starten, die
für eine LED Matrix 15X5 die Kathodenstrecke schaltet.(Ansteuerung eines 
ULN 2803).
Für meinen Testaufbau benutze ich PORTB zum einlesen.Es soll die Zahl 
2948 angezeigt werden, aber es kommt 0040.
Wenn ich PORTB überhaupt nicht initialisiere, wird mir die gewünschte 
Zahl angezeigt ?
Im code ist kurz erklärt, was das Programm machen soll.
Was kann da nicht funktionieren ?
Eventuell kann sich ja mal jemand meines Problems annehmen
btw.: PORTB ist nicht beschaltet
Grüße
Jörn
Angehängte Dateien:
#3161083
Lesenswert?

Tut mir leid, ich kann nicht erkennen, was du mit dem Programm 
bezweckst. Außerdem kann ich auch keine richtige Logik erkennen.

z.B. unter „Uhrzeit1“ fängst du mit „call Zahl2“ an dann erst „call 
Zahl1 … Zahl3, Zahl4 .. usw.
Die binärwerte machen für mich auch keinen Sinn.
z.B. vor „Call Zahl5“ hast du b01010000 was Sinn macht aber vor „Call 
Zahl3“ movest du 0b11110000!?

Vielleicht habe ich ja des Grundprinzip nicht erkannt :-(
OP #3161354
Lesenswert?

Ich hatte ja geschrieben, das die Zahl 2984 gezeigt werden soll, deshalb 
call
2, 9 8,und 4, deshalb dort auch der binärwert von b 00000000.
Der Port wird nicht beschaltet, muss also als Eingangswert eine 0 haben
Damit sollte der Wert von 2984 angezeigt werden.
Die Reihenfolge ist nur ein Ergebnis meines Testversuchs.Natürlich muss 
später bei Call Zahl0 der Binärwert von b´00000000` am Port verglichen 
werden.
Bei call Zahl9 natürlich d´9´am port B :-)
Da wirds dann wieder Logisch , aber erstmal muss es ja funktionieren, 
und das tut es nicht .
Grüße
Jörn
OP #3161559
Lesenswert?

Hallo John
Das war wohl mein Anfängerpech :-((
Jetzt habe ich die Eingänge mit 10K gegen Masse gelegt, und das ganze 
Programm läuft so wie es soll. Eine Änderung am Port verändert sofort 
die Anzeige :-))
Da hätte ich eigentlich selbst drauf kommen müssen......
Danke
Jörn

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