Hallo, ich versuche gerade den Einstieg in die PIC Programmierung mit
Assembler und habe mir das PICKit 2 mit Testplatine gekauft. Nun wollte
ich mein erstes Program ausprobieren und erhalte einen Fehler, für den
ich keinen Grund finden kann. Ich möchte eine Leuchtdiode am Pin RC1 zum
Leuchten bringen.
--
1 | LIST P=16F690
|
2 | __config 0x3B04
|
3 | w EQU 0
|
4 | f EQU 1
|
5 | STATUS EQU 0x003
|
6 | RP0 EQU 5
|
7 | PORTC EQU 0x007
|
8 | TRISC EQU 0x087
|
9 | ;
|
10 | ORG 0
|
11 | goto start
|
12 | start bsf STATUS, RP0 ; Bank 1 auswählen
|
13 | movlw 0xFD ; Kopiere b11111101 nach W (0 = Ausgang)
|
14 | movwf TRISC ; Kopiere Inhalt von W nach TRISC <- Hier enteht der Fehler
|
15 | bcf STATUS, RP0 ; Setze Bit 0 in RP0 um Bank 0 auszuwählen
|
16 | ;
|
17 | bsf PORTC, 1 ; Setze Bit 1 in PORT C auf 1
|
18 | END
|
--
Wenn ich das Programm nun in HexCode umwandeln lassen will, erhalte ich
für die Zeile mit dem Befehl "movwf TRISC" die
Message[302]: Register in operand not in bank 0. Ensure that bank bits
are correct.
Ich habe doch aber zwei Zeilen zuvor die Bank 1 ausgewählt, da TRISC ja
in Bank 1 liegt und dürfte doch gar nicht in Bank 0 sein. Könnte mir
bitte jemand erklären, was ich falsch gemacht habe?
Vielen Dank
Sven