Guten Tag allerseits. Mein Problem ist, dass ich einen PIC16F887 mit MPLAB PM3 flashen will, der Pic das Programm aber nicht wiedergibt. Das MPLAB IDE v8.88 zeigt mir zwar "build succeeded" und "program suceeded" an, der PIC gibt dann aber im Testboard nichts aus. Zum PIC: Ich nehme einen alten PIC16F887 aus einer Zwischenprüfung her. Ein anderer Pic, der originale, unveränderte PIC aus der Zwischenprüfung, gibt im Testboard schon etwas aus. Ich denke es liegt wohl am Konfigurationswort, denn das gleiche Programm läuft mit dem PIC16F84 problemlos. Hier ist noch das rudimentäre Programm, welches ich auf den PIC zu flashen versuche: list p=16F887 ; list directive to define processor #include <p16F887.inc> ; processor specific variable definitions __CONFIG _CONFIG1, _XT_OSC & _WDTE_ON & _PWRTE_ON ;definierte Variable/Speicherorte cblock 0x0C timer1 endc ORG 0x000 ; processor reset vector goto init ; go to beginning of program ;Konfiguration der Ports init bsf STATUS,RP0 ; auf registerbank 1 umschalten movlw h'00' movwf TRISB movwf TRISD movwf TRISE movwf TRISC movwf TRISA ; TRISA/B/C/D/E ist Ausgang bcf STATUS, RP0 ; auf registerbank 0 umschalten clrf PORTA ; PORTA/B/C/D/E löschen clrf PORTC clrf PORTB clrf PORTD clrf PORTE goto main ;Hauptprogramm main movlw h'FF' ; lade h'FF' in timer1 movwf timer1 t1 movlw h'FF' movwf PORTA ; Ausgabe h'FF' an PORTA/B movwf PORTB decfsz timer1 ; subtrahiere timer1 bei W=0 überspringe nächsten Befehl goto t1 RETURN END Vielen Dank schonmal.
Hallo, Config überprüfen, dazu Datenblatt lesen! Was soll das Return im Programm, kein Unterprogramm aufgerufen. Ist der Sinn des Programms nur an PORTA und B 255 ausgeben? Was soll die Schleife?
Ich würde "cblock" NICHT bei 0x0C beginnen, denn da schreibts du in den SFR-Bereich. Was genau überschrieben wird weiss ich nicht auswendig, aber das der RAM-Bereich erst ab 0x20 frei ist, weiss ich sicher!
Ok danke schonmal. @Erhard: Ja ich will erstmal die beiden Ports auf Ausgabe schalten um zu sehen ob an meinem Bord überhaupt die LEDS leuchten. Aber das mit dem return überprüfe ich gleich mal. Hatte zuerst ein Unterprogramm geschrieben.
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.