Ich denke, daß mein Problem hierher passt, deshalb setze ich diesen Thread einmal fort...
Die Aufgabe besteht darin, einen ST6 durch einen PIC 16F685 zu ersetzen. Meine ersten Übungen verlaufen ganz vielversprechend. Doch belibe ich an einem (sicher banalen) Problem hängen.
Am Port C (0-3) sind 3 LEDs, die ich separat schalten will. Ich dachte mit "BSF PORTC,x" und "BCF PORTC,x" ans Ziel zu kommen. Das stimmt jedoch nur zum Teil.
Wenn ich ein (beliebiges) Bit setze, werden die anderen auf jeden Fall gelöscht.
Beispiel 1, LED an RC1 ist an, LED an RC0 jedoch nicht
Code:
CALL LED_RC0_ON
CALL LED_RC1_ON
LED_RC0_ON:
banksel PORTC
BSF PORTC, 0
RETURN
LED_RC1_ON:
banksel PORTC
BSF PORTC, 1
RETURN
Beispiel 2, LED an RC0 erlischt, obwohl Bit 1 gelöscht wird
Code:
CALL LED_RC0_ON
CALL LED_RC1_OFF
LED_RC0_ON:
banksel PORTC
BSF PORTC, 0
RETURN
LED_RC1_OFF:
banksel PORTC
BCF PORTC, 1
RETURN
Meine Fragen:
1. Was mache ich falsch und wie kann ich das Problem lösen.
2. In einem weiteren Schritt käme noch ein PWM-Signal an RC5 hinzu. Die Schaltung der LEDs darf dies natürlich auch nicht beeinflussen. Die Lösung für (1) muß diesen Punkt also schon berücksichtigen.
Vielen Dank für die Hilfe
Lesezeichen