Hi! Habe einen PIC16F676 und will ihn mit internem RC betreiben, leider macht er einfach nichts... Befasse mich noch nicht allzulange mit PICs und komme hier einfach nicht weiter. Vielleicht hat jemand eine Idee? Vielen Dank im vorraus!
Wie siehts mit den Fuses aus? Wo hast du diese gesetzt? Denn die Wahl der Taktquelle hängt von den Fuses ab. Ich kann zwar kein Assembler... doch sind sie mir hier nicht untergekommen.
Laut Datenblatt beginnt der Programmspeicher bei 0x0005. Also würde ICH so anfangen: : ORG H'0000' ; Reset-vektor goto Start ORG H'0004' ; Interrupt-Vektor goto IRS ORG H'0005' ; Programm Start ISR: ; hier die Interrupt Service Routine(n) retfi Start: ; hier startet das Hauptprogramm clrf PORTA :
Hi Schoaschi! Die Fuses werden gewöhnlich in Assembler nicht im Programmtext gesetzt sondern später beim Brennprogramm eingestellt ... LG
Hi Sackgesicht! Das sind doch soweit ich weiß nur die Einsprungadressen!? Normalerweise kann man sein Programm direkt bei 0000H beginnen. Verwende auch keinen Interupt. Werds aber einfach mal ausprobiern. Danke. LG
Hi Memmer! Danke für den Sprut-Tipp! Klasse Seite, ist echt weiterzuempfehlen! Glaube ich hab den Fehler gefunden. Da muss man erstmal drauf kommen. Werds auf jeden Fall gleich mal ausprobieren...... Ausschnitt aus der Seite von www.sprut.de : Dem Autor sei gedankt! "Wenn ein Brenner auf einen PIC zugreifen will, dann schaltet er normalerweise seine 5V-Betriebsspannung ein, legt MCLR auf Vss (um einen Reset auszulösen) und legt dann MCLR schlagartig auf Vpp (+12V), so daß der PIC nach dem Reset nicht dazu kommt, auch nur einen einzigen Befehl abzuarbeiten. Damit ist der PIC im Programmiermodus, und durch den Reset steht der interne Programcounter des PIC auf der Adresse 0x00. Dort kann man dann anfangen zu brennen. Wenn bei einem PIC aber beim vorigen Brennen der interne Oszillator aktiviert wurde und MCLR zu einem I/O-Pin gemacht wurde, dann ignoriert der PIC das Vss-Signal an MCLR und beginnt mit der Abarbeitung seines Programms, sobald die Betriebsspannung Vdd angelegt wird.. Beim dann folgenden Anlegen von Vpp an MCLR stoppt der PIC seine Arbeit, aber der Programcounter steht nicht mehr auf 0x00, und das anschließende Brennen eines neuen Programms erfolgt auf zufälligen Adressen des Programmspeichers. Solche PICs lassen sich nur problemlos brennen, wenn zuerst Vpp (12V) und danach Vdd (5V) angeschaltet wird."
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.