Hallo erst mal..... Hab ein riesen Problem mit meinem PIC. Die Ausgabe normaler Zustände funktionieren alle.(also setze bit 1 von portb oder so). Aber z.B. ein Blinklicht funktioniert nicht. Auch ein Lauflicht nicht. Daher denke ich es hat etwas mit der Taktversorgung zu tun.Warum auch immer..... Die Led geht an......und bleibt an.....soll aber blinken! Beim Lauflicht das selbe 1.led geht an...der rest nicht! Die beiden Programme sind richtig geschrieben.Auf einer anderen Testplatine funktionierten sie auch. Aber auf meiner nicht^^ Hier mal der Quellcode: VON DEM BLINK-programm (ich schreibs mal ohne Include....sondern mache Zuweisungen.)(wie gesagt es funktioniert egtl.) ;*********************************************** ;Blink led ;27.12.08 ;Andreas Prager ;*********************************************** ;Grund-zw list p=16f84 radix hex ;register-zw status equ 03 portb equ 06 trisb equ 86 d equ 20 e equ 21 f equ 22 ;Bit-zw rp0 equ 05 ;*********************************************** CLRF portb bsf status,rp0 bcf trisb,0 bcf status,rp0 start: bsf portb,0 Call up bcf portb,0 Call up goto start ;Pause:(ca.16sekunden....ziemlich lang..aber egal) up: movlw d'255' movwf f vw: movwf e neu: movwf d again: decfsz d goto again decfsz e goto neu decfsz f goto vw return end So das isses........ In der schaltung seht ihr meine Quarz beschaltung.....den Rest bitte nicht betrachten. So was noch wichtig wäre: -Programmiere über Vellemann brenner. -Betriebsspannung an meiner Testplatine: über 7805 kommen ca. 4,5V -Quarz 4,000MHz -Kondensatoren am Quarz: je 22pf Danke im Vorraus für die Antworten
Ach ja Zwischen quarz und OSC1 bzw. OSC2 ist jeweils ein Kondensator geschalten.(22pF) Ich seh gerade eben das sie hier nicht mit eingezeichnet sind....sry
Hallo Andreas, ist es wirklich ein Quarz oder ein Keramikschwinger mit eingebauten Kondensatoren? Rainer
Nein ist schon ein richtiger Quarz --bei Conrad bestellt: Typenbezeichnung: QU4,0000MHZHC-49/U Conrad-nr.:182087 - 62
Wie hast du die Kondensatoren verschaltet ? Wenn sie zwischen OSC1 und OSC2 liegen ist das mit Sicherheit verkehrt . Hast du beim Brennes des PIC auch einen Quarz als Takt angegeben ?
nein die Kondensatoren hängen zwischen: OSC1 und Quarz OSC2 und Quarz (siehe Bild......ist nicht meine schaltung...aber die Taktbeschaltung ist die selbe) Beim Brennen setze ich das Kreuz bei: (01) XT Oscillator (also quarz bis ca.4,000MHz)
Andreas Prager wrote: > nein die Kondensatoren hängen zwischen: OSC1 und Quarz > OSC2 und Quarz > (siehe Bild......ist nicht meine schaltung...aber die Taktbeschaltung > ist die selbe) Im Bild sind die Kondensatoren aber (richtigerweise) zwischen OSC1 und GND resp. OSC2 und GND. Was stimmt jetzt? Andere Frage: läuft das Programm im Simulator denn korrekt?
So wie in dem Bild hängen die Kondensatoren....hab mich vll. etwas seltsam oben ausgedrückt...sry Im simulator läuft das programm richtig...und wie gesagt auch auf der anderen Testplatine.
Andreas Prager wrote: > Im simulator läuft das programm richtig...und wie gesagt auch auf der > anderen Testplatine. Sorry, letzteres habe ich übersehen. Wenn eine Led angeht, dann heisst das doch, dass das Programm startet, denn bei einem Reset sind alle I/O-Pins als Eingang konfiguriert, und dann könnte keine Led leuchten. Kannst Du mit einem Oszilloskop sehen, ob der Oszillator sauber läuft? Andernfalls versuch es doch mal mit einem RC-Oszillator. Das hat den weiteren Vorteil, dass Du auf OSC2 den Takt/4 messen kannst, und dies ohne den Oszillator zu belasten.
Naja....das mit dem RC-glied wäre noch ne Idee.....ich probiers heut abend mal aus. Oszi hab ich erst wieder am 5.Januar zur Verfügung stehen...wenn ich auf Arbeit muss.
Kann es sein, dass du nur nicht lange genug wartest? Deine innere Warteschleife benötigt bei 4 MHz für einen Durchlauf (bis d=0 ist) 768 Takte = 768µs. Insgesamt benötigt laut Stopwatch des Simulators deine gesamte Warteschleife knapp 50 Sekunden. Das liegt daran, dass der goto Befehl 2 Taktzyklen benötigt und der decfsz einen (bzw. 2, wenn er skipt). Warte doch einfach mal eine Minute und schau ob es daran liegt. Schau dir auch mal die Programme von sprut.de an. Dort sind Warteschleifen, welche recht genau funktionieren. Sven
>-Betriebsspannung an meiner Testplatine: über 7805 kommen ca. 4,5V Ziemlich wenig Ausgangsspannung für einen 7805 >-Quarz 4,000MHz >-Kondensatoren am Quarz: je 22pf Waren das schon alle Teile? Was ist mit Blockkondensatoren am 7805 und am uC? Elko vor dem 7805? Wie sieht das Netzteil aus?
@sven: hmm...ich schau mir die Pausen nochmal genau an...vielleicht stimmt da wirklich etwas nicht. @Holger: Das dachte ich ja auch...das evtl. sogar die Betriebsspannung was damit zu tun hat. Ich hab einen Koppelkondensator für den µC aber am 7805 hab ich weder Elko noch Koppelkondensator...... ( was macht der Elko? Glätten? stabilisieren?...)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.