Forum: Mikrocontroller und Digitale Elektronik Pic spielt Programm nicht ab


von alex k. (Firma: ka) (zzalexzz92)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

brauch eure Hilfe weiß nicht mehr weiter...

Ich habe einen PIC16F84A und wollte diesen programmieren, klappt 
(mittlerweile) auch alles bloß mein PIC spielt das kleine Testprogramm 
nicht ab und weiß nicht wieso...
5V Versorgungsspannung sind vorhanden und auch der Resonator arbeitet so 
wie er soll und trotzdem reagieren die LED´s bzw der PIC nicht...

hoffe ihr könnt mir helfen


grüße alex

von DJ (Gast)


Lesenswert?

alex ka schrieb:
> mein PIC spielt das kleine Testprogramm
> nicht ab und weiß nicht wieso...

Ist ja auch keine Spielconsole

von Markus_AC (Gast)


Lesenswert?

Hast Du 'nen Debugger? Kommst Du damit ran?

von IN (Gast)


Lesenswert?

wie wäre es wenn du mal den Code bzw. das HEX mit Anhängst...
Meine Glaskugel arbeitet sonst nicht.
IN

von alex k. (Firma: ka) (zzalexzz92)


Angehängte Dateien:

Lesenswert?

Debugger hab ich und funktioniert auch...

und hier ist auch noch alles was im Hex-Code steht :)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

alex ka schrieb:
> und hier ist auch noch alles was im Hex-Code steht


Bitte: Quelltext als Quelltext und nicht als JPG anhängen.



Was Du für "Hex-Code" hältst, hat mit Deinem Programm nichts zu tun.

von Peter D. (peda)


Lesenswert?

Oh Gott, Quellcode als JPG, wer macht denn sonen Scheiß?

Das *.asm als Anhang, sonst hilft Dir keiner!


Peter

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Was Du für "Hex-Code" hältst, hat mit Deinem Programm nichts zu tun.

ok und wo finde ich dann den richtigen Hex-Code bei dem Programm?
arbeite erst seit kurzem mit MPLAB und kenn mich deswegen noch nicht 
sehr gut damit aus

von Villa Kunterbunt (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Oh Gott, Quellcode als JPG, wer macht denn sonen Scheiß?

... jene, bei denen das Programm nicht laufen, sondern spielen soll.

von Markus_AC (Gast)


Lesenswert?

Wenn ich das richtig sehe, hängt der MCLR über 10k an VDD und über 1k 
and GND. Also mehr GND als VDD -> Prozessor steht im Reset.

Schätze ich, da die Schaltung weiter links nicht sichtbar ist...

von Peter D. (peda)


Lesenswert?

alex ka schrieb:
> ok und wo finde ich dann den richtigen Hex-Code bei dem Programm?

In Deinem Projekt Verzeichnis (bzw. Unterverzeichnis darin).
Einfach mal mit dem Explorer reinschauen. Da findest Du das *.asm und 
*.hex.


Peter

von Putzhilfe (Gast)


Lesenswert?

alex ka schrieb:
> Autor:
>
>         alex ka
>           (Firma: ka)

Keine netten Kollegen in der Firma "ka", die dir weiterhelfen könnten?

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

Villa Kunterbunt schrieb:
> ... jene, bei denen das Programm nicht laufen, sondern spielen soll.

nimms halt bitte nicht gar so genau...

Markus_AC schrieb:
> Wenn ich das richtig sehe, hängt der MCLR über 10k an VDD und über 1k
> and GND. Also mehr GND als VDD -> Prozessor steht im Reset.

ok werd ich gleich mal abändern hoffe es hilft :)


und mehr als das find ich leider nicht... und sorry Leute JPG geht 
schneller

von IN (Gast)


Lesenswert?

Oder du änderst mal den Code so ab:

; Port A initialisieren und Tris Register setzten
  MOVLW  B'11111111'  ; APORT 0 - 7 Ausgänge
  MOVWF  PORTA    ; An den PORT Anlegen
  BSF  STATUS,RP0  ; Page Select ausführen 1
  MOVWF  TRISA    ; Ins Tris Register übernehmen
  BCF  STATUS,RP0  ; Page select wieder auf 0

; Port B initialisieren und Tris Register setzten
  MOVLW  B'00000000'  ; BPORT 0 - 7 Eingänge
  MOVWF  PORTB    ; An den PortB legen
  BSF  STATUS,RP0  ; Page select ausführen 1
  MOVWF  TRISB    ; PortB lesen und ins TRIS Register schreiben
  BCF  STATUS,RP0  ; Page select wieder auf 0

dann funktioniert auch deine Portdefinition.

UND DOKUMENTIERE WAS DU WILLST, nicht die Befehle.

IN

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

Putzhilfe schrieb:

> Keine netten Kollegen in der Firma "ka", die dir weiterhelfen könnten?

leider nein :)
die Ideen wo wir hatten haben nichts gebracht

von Karl H. (kbuchegg)


Lesenswert?

alex ka schrieb:

> und mehr als das find ich leider nicht... und sorry Leute JPG geht
> schneller

glaub ich nicht.

Am schnellsten geht immer noch, wenn du das Assembler-File, so wie es 
ist ganz einfach unter 'Datei auswählen' hier im Forum anhängst. Das 
geht für dich am schnellsten und für uns auch.

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

@ IN: versteh deine Abänderung nicht... ich will doch dass der PORT B 
ein Ausgangsport ist und bei dir ist es dann ein Eingang dann 
funkutioniert doch das ganze Programm nicht mehr und ich müsste alles 
umbauen, um meine LED ansteuern zu können?

von alex k. (Firma: ka) (zzalexzz92)


Angehängte Dateien:

Lesenswert?

Karl Heinz Buchegger schrieb:
> glaub ich nicht.

meinst Du so?

von IN (Gast)


Lesenswert?

du schaltest die Page falsch in deinem Programm,
probiere mal aus und schaue...

Versuch macht Klug!


IN

von IN (Gast)


Lesenswert?

ohh und ja, der Kommentar ist natürlich Falsch, Eingang und Ausgang im 
Kommentar also nach dem ; ändern. Der Code ist Richtig.


IN

von Karl H. (kbuchegg)


Lesenswert?

alex ka schrieb:
> Karl Heinz Buchegger schrieb:
>> glaub ich nicht.
>
> meinst Du so?

Genau so.
Jetzt hast du auch eine Chance, dass sich jemand deinen Code nimmt, die 
Teile die er braucht mit Copy&Paste rausholt und die korrigiert.
Vorher hätte er sie abschreiben müssen.

Deine Chancen auf Hilfe steigen gewaltig, wenn du es deinem Helfer 
leicht machst, dir zu helfen. Zb dadurch, dass du ihm die Teile so 
zuarbeitest, dass er einfach damit arbeiten kann, ohne selbst zuviel 
Arbeit damit zu haben.


(Von PIC versteh ich nichts. Daher klinke ich mich wieder aus)

von IN (Gast)


Angehängte Dateien:

Lesenswert?

versuchs mal so.

IN

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

IN schrieb:
> ohh und ja, der Kommentar ist natürlich Falsch, Eingang und Ausgang im
> Kommentar also nach dem ; ändern. Der Code ist Richtig.

ok habs angeändert, aber es geht leider immer noch nicht...
hab auch zwischen R30 und Gnd einen Schalter eingebaut um genügend 
Spannung zu bekommen, aber das Problem bleibt

von IN (Gast)


Lesenswert?

schau mal hier:

http://www.sprut.de/electronic/pic/programm/lauflicht/lauflich.htm

Du mußt nur einen Pullup Widerstand 10K von MCLR nach 5V anschließen.
Der Taster (Schalter) muß dann von MCLR nach Masse zum Reseten.

Du kannst dein Programm zum debuggen auch "Stückchenweise" schreiben:

Init

LED AN

Eingang Abfragen wenn 1 dann

LED AUS

so kommst du deinem Problem auf die Spur.

IN

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

Ok werd ich gleich mal versuchen

von Tom L. (xedux)


Lesenswert?

...also im MPLAB Simulator läufts....

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

Also das Programm ist fehlerfrei... hab jetzt jeden Schritt simuliert...
hab es auf den PIC geschrieben und danach ausgesteckt und den PIC 
auslesen lassen -> Programm ist auf den PIC
aber es läuft nicht...?
Hab die Schaltung auch nach den Angaben abgeändert

von Tom L. (xedux)


Lesenswert?

edit zu oben:

PORTB wechselt im Simulator von 0x33 nach 0xCC im Takt

von Tom L. (xedux)


Lesenswert?

Miss mal bitte die Versorgungsspannung direkt am PIC-Pin. Und GND am 
besten auch gleich mal überprüfen

von Tom L. (xedux)


Lesenswert?

..sonst auch mal messen, ob sich direkt an den PORTB Pins was tut.. vor 
dem OC-Treiber da. Ich hoffe, Du hastn Scope?!

von IN (Gast)


Lesenswert?

ok, dann ziehe den prozessor raus.
Nimm einen Draht und von Masse zum ULN2803 Schalteingang und Prüfe ob 
deine LED dann Leuchtet.

Wen ja dann Programm auf Dauer An / Aus schreiben und Nachmessen
mit einem Multimeter ob die Richtige Ansteuerung da ist.


IN

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

@ Tom L.:
Versorgungsspannung von 5V liegen an und GND ist auch verbunden...
An den Ports tut sich leider gar nichts?
und ja ich hab ein Scope zumindest in der Arbeit :)

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

ok hab jetzt grade noch eine Verbindung die da nicht sein sollte 
gefunden und sie beseitig... mein Pic arbeitet jetzt und der Port B 
schaltet je nachdem ein oda aus aber es kommt noch nicht an den LEDs 
an...
der ULN schaltet nicht richtig ein und aus

von Tom L. (xedux)


Lesenswert?

heißt also, direkt an den Pins tut sich auch nix? dann würd ich mal ganz 
ketzerisch behaupten, dein PIC is im Eimer. auch bitte nochmal den MCLR 
Pin messen, ob der wirklich nach Vdd gezogen wird!

von Tom L. (xedux)


Lesenswert?

ok... war die Verbindung im Schaltplan schon falsch? ich seh da nix, 
oder wars ne Lötbrücke oder sowas?

von Tom L. (xedux)


Lesenswert?

schaltet nicht richtig ein und aus... was heißt das genau? und an allen 
Pins oder nur an den beiden wo die Widerstände davor sind?

von Der Rächer der Transistormorde (Gast)


Lesenswert?

alex ka schrieb:
> ok hab jetzt grade noch eine Verbindung die da nicht sein sollte
> gefunden und sie beseitig...

Tom L. schrieb:
> war die Verbindung im Schaltplan schon falsch?

Electrons don't read schematics and didn't care about ;-).

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

es funktioniert der ULN war ein PIN10 der in der Luft hängen sollte mit 
Masse verbunden :)
Danke für eure Hilfestellungen

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

Tom L. schrieb:
> ok... war die Verbindung im Schaltplan schon falsch? ich seh da nix,
> oder wars ne Lötbrücke oder sowas?

was genau falsch war hab ich noch nicht raus aber es lag am MCRL ^^
muss jetzt no schauen was genau falsch war aber denke nicht dass es im 
Schaltplan schon falsch ist

von Tom L. (xedux)


Lesenswert?

woher weißt Du denn nun, dass es am MCLR lag? was hast Du denn gemacht 
um das zu ermitteln?

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

Tom L. schrieb:
> woher weißt Du denn nun, dass es am MCLR lag? was hast Du denn gemacht
> um das zu ermitteln?

weil ich den mal nachgemessen hab und da ist mir immer wieder die 
Spannung eingebrochen also hab ich die Verbindungen mal überprüft bzw 
neu gemacht und jetzt gehts :)

von GroberKlotz (Gast)


Lesenswert?

Hallo,
für mich ist die Ursache aus der Beschaltung des MCLR-PIN klar zu 
erkennen:
Weniger als 1V am MCLR-Pin bei 5Vdd, bzw. wird die erforderliche Vpp 
nicht erreicht!

Das hat zu Anfang bereits Markus_AC  beschrieben:

Markus_AC schrieb:
> Autor: Markus_AC (Gast)
> Datum: 28.11.2012 10:34
> Wenn ich das richtig sehe, hängt der MCLR über 10k an VDD und über 1k
> and GND. Also mehr GND als VDD -> Prozessor steht im Reset.

mfg GroberKlotz

von IN (Gast)


Lesenswert?

da hast du natürlich recht.
Aber im Schaltbild ist auch eine Diode von MCLR zu einem Kontakt, das
dort auch direkt 5V Anliegen könnten (der Plan war ja nicht vollständig)
würde nur Messen helfen. Das wird gerne gemacht um ICP zu machen.

Die Bank wurde nicht Zurückgeschaltet vorm Tris, deshalb hätte es ehe 
nicht
Funktioniert. Beim 16F84 fängt der RAM auch bei 0x10 an, er hat halt 
0x0C drin... ist ja kein Fehler.

Ich habe Versucht ihm generel die Herangehensweise zu Beschreiben damit 
er
beim nächsten mal alleine weiß wie er das macht und nicht wieder in ein
Forum muß. Ist nie Verkehrt wenn man Soft von Hardwarefehlern 
Unterscheiden kann.


IN

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

IN schrieb:
> Ich habe Versucht ihm generel die Herangehensweise zu Beschreiben damit
> er
> beim nächsten mal alleine weiß wie er das macht und nicht wieder in ein
> Forum muß. Ist nie Verkehrt wenn man Soft von Hardwarefehlern
> Unterscheiden kann.

nur so nebenbei der "er" ist eine Sie :D
und ja ich bedanke mich sehr für eure ganze Hilfe :)

von IN (Gast)


Lesenswert?

Bitte gerne geschehen, und ebenfalls Danke für die Rückmeldung.
Meist hört man ja nichts mehr wenn alles Funktioniert.
Und Entschuldigung für den "ER"... 8-)

IN

von asrael1991 (Gast)


Lesenswert?

Versuch mal die Verbindung zwischen Pickit und der MCLR-Leitung nach dem 
Brennen zu unterbrechen.
Dann müsste die MCLR-Leitung durch einen Pull-Up Widerstand auf High 
gezogen werden und dann müsste das Programm laufen.
Natürlich musst du den Pic dann mit externer Spannungsquelle versorgen, 
da du ja keinen Schalter zur unterbrechung eingebaut hast.

von alex k. (Firma: ka) (zzalexzz92)


Lesenswert?

IN schrieb:
> Bitte gerne geschehen, und ebenfalls Danke für die Rückmeldung.
> Meist hört man ja nichts mehr wenn alles Funktioniert.
> Und Entschuldigung für den "ER"... 8-)

Kein Problem kurz danke sagen muss schon sein wenn man so schnelle ung 
gute Hilfe bekommt :)
macht überhaupt nichts wollt es nur mal erwähnt haben ^^

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.