Falsche Fuses bei PIC18F4550?!

Gast #162516
Lesenswert?
• ▲
▼
Hi

Ich bin wieder einmal beim verzweifeln! ich glaube ich bin nicht
geschaffen für µC. mit AT89C52 und AT89Cx051 hab ich schon etwas übung
und schaff auch so manches, aber jetzt probier ich mich gerade mit den
PICs, genauer gesagt dem PIC18F4550. Das einzige was ich schaffen will,
ist ein LED blinken zu lassen. Im anhang sieht man mein Programm. was
stimmt denn damit nicht? Ich programmiere im CCS und spiele das
Programm mit dem P18 Programmer von sprut (www.sprut.de) mit hilfe des
Brenners5 auf den PIC.
Habe ich vl bei den fuses mist gebaut? oder was passt sonst nicht?

der schaltplan folgt.

ich hoffe es kann mir jemand helfen.

mfg schoasch

PS.: ich benutze einen Quarzoszillator mit 12MHz.
Angehängte Dateien:
Gast #162521
Lesenswert?
• ▲
▼
Danke für den tipp. ich habe das auch schon ausprobiert... aber nichts.
das de PIC tot ist?! aber ich kann ihn ohne probleme neu programmieren
und wenn ich ihn auslese und vergleiche haut auch alles hin.
ich hab jetzt auch alle pegel nachgemessen. sind alle richtig. mit dem
KO hab ich mir auch angsehen ob der quarzoszillator schwingt, tut er,
er schwingt schön mit 12Mhz mit einer Amplitude von 5V. wobei das
komische ja ist, dass das LED gestern schon einmal geleuchtet hat.

zur schaltung: daweil habe ich noch keinen schaltplan digital, aber
prinzipiel sieht er so aus:

Ich habe einen LM7805 mit dem dazugehörigen Kondensatoren. von da geh
ich dann mit den 5V auf Vdd (PIN11 und PIN 32) und mit Masse auf
Vss(PIN 12 und PIN 31). Der Ausgang des Quarzoszillators hängt an
OSC1(PIN 13). das LEd liegt mit der RD2(PIN 21) und ist über den
widerstand gegen masse geschaltet. und an MCLR (PIN1) liegt ein
widerstand der gegen 5V geschalten ist.

Hat es was mit der schaltung?
Gast #162522
Lesenswert?
• ▲
▼
Kann es ein, daß du in deinem Code RD2 (LED) auf low legst, dann 1000µs
wartest und dann RD3 auf High legst, und wieder 1000µs wartest, und das
ganze in einer Endlosschleife? Was soll da blinken, die LED wird am
Anfang auf Low gelegt, und bleibt bis zum nächsten Reset so. Ich würde
das so schreiben:

while(TRUE)
{
 output_low (PIN_D2);
 delay_us(250000);
 output_high (PIN_D2);
 delay_us(250000);
}

Die höheren Delay-Zeiten deshalb, weil du ja auch was blinken sehen
willst. Mit dem Wert 1000 hast du ne Frequenz von 500Hz (?), da siehst
du nix blinken.
Gast #162523
Lesenswert?
• ▲
▼
f***, du hattest recht. Danke.
nur ich glaube der PIC dürfte ebenfalls nicht mehr unter uns weihen
oder ich habe bei der schaltung einen fehler, denn es tut sich noch
immer nichts. aber vl liegt der fehler auch wo anderst. vl hat auch
mein programmiergerät was, denn der 5V spannungsregler wird mir
irgendwie zu warm und es fließt im ruhezustand ein strom von ca 70mA.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.