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.
wo im datenblatt vom 18F4550 hast du denn bitte was von "fuses" stehen gesehen? also bei mir gibt es üblicherweise eine fuse, die sitzt im netzteil.
Deine Fuses sind soweit in Ordnung denke ich. Du solltest aber vor deiner while Schleife mal SET_TRIS_D( 0x00 ); einfügen um deinen Port D als Ausgang zu definieren. Paule
"Fuses" heißen beim CCS Kompiler die Konfigurationseinstellungen für den PIC. Hier ist ne Übersicht: http://www.sprut.de/electronic/pic/config/config.htm
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?
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.
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.
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.