Hallo, ich möchte alle Ausgänge an PORTC eines 16F685 auf 1 schalten. Dazu habe ich folgendes Programm geschrieben:
Das habe ich simuliert, jedoch wird statt "1111111" nur "00101111" ausgegeben. Wenn ich stattCode:#include <p16f685.inc> __CONFIG _PWRTE_ON & _WDT_OFF & _LP_OSC cblock 0x20 Test endc ORG 0x00 GOTO INITIALISIERUNG ORG 0x04 GOTO ISR ORG 0x05 INITIALISIERUNG ;internen 32khz Takt verwenden banksel OSCCON bcf OSCCON,IRCF0 bcf OSCCON,IRCF1 bcf OSCCON,IRCF2 BCF OSCCON, OSTS BSF OSCCON, LTS BSF OSCCON, SCS ;_______________________________ ;PortC initialisieren BCF STATUS,RP0 BCF STATUS, RP1 CLRF PORTC BSF STATUS,RP1 CLRF ANSEL BSF STATUS,RP0 BCF STATUS,RP1 CLRF TRISC ;----------------------portc initialisiert banksel PORTC ; BSF PORTC,0 ; BSF PORTC,1 ; BSF PORTC,2 ; BSF PORTC,3 ; BSF PORTC,4 ; BSF PORTC,5 ; BSF PORTC,6 ; BSF PORTC,7 MOVLW B'11111111' MOVWF PORTC schleife: goto schleife ISR retfie END
MOVLW "B'1111111'
MOVWF PORTC"
8 mal BSF PORTC,0;7 schreibe steht am Ende in PORTC: "00111111".
Die Initalisierung von PORTC habe ich genau so geschrieben, wie sie im Datenblatt steht. Brauche ich noch eine zusätzliche Initialisierung, in der ich vielleicht einen Analogeingang oder so umschalten muss, damit es funktioniert? Leider habe ich dazu noch nichts gefunden.
Oder ist es gar nicht möglich bei diesem PIC alle Ausgang auf 1 zu schalten?
Ich bedanke mich schon im Voraus und wünsche allen ein frohes Weihnachtsfest!
Viele liebe Grüße,
n00b







Zitieren

Lesezeichen