Hallo,
ich versuche verzweifelt eine LED an irgend einem Pin des Pic18f2550
anzusteuern. Ich verwende MPLAB.
Mein Programm sieht so aus:
1 | LIST P=18F2550
|
2 | #include "P18F2550.INC" (die Datei liegt im gleichen Ordner wie die asm Datei)
|
3 |
|
4 | CONFIG PLLDIV = 1
|
5 | CONFIG CPUDIV = OSC1_PLL2
|
6 | CONFIG USBDIV = 1
|
7 | CONFIG FOSC = INTOSC_HS
|
8 | CONFIG IESO = OFF
|
9 | CONFIG PWRT = ON
|
10 | CONFIG BOR = OFF
|
11 | CONFIG BORV = 2
|
12 | CONFIG VREGEN = ON
|
13 | CONFIG WDT = OFF
|
14 | CONFIG WDTPS = 1
|
15 | CONFIG MCLRE = ON
|
16 | CONFIG LPT1OSC = OFF
|
17 | CONFIG PBADEN = OFF
|
18 | CONFIG CCP2MX = OFF
|
19 | CONFIG STVREN = OFF
|
20 | CONFIG LVP = OFF
|
21 | CONFIG XINST = OFF
|
22 | CONFIG DEBUG = ON
|
23 |
|
24 |
|
25 | ORG 0x0000
|
26 | goto Main
|
27 |
|
28 | Main:
|
29 |
|
30 |
|
31 | CLRF PORTB
|
32 | CLRF LATB
|
33 |
|
34 | CLRF TRISB ; Port B auf Ausgang umschalten
|
35 |
|
36 | MOVLW 0x0F ; Configure A/D
|
37 | MOVWF ADCON1 ; alle Pins als digitale Eingänge
|
38 |
|
39 | Loop:
|
40 |
|
41 | CLRF LATA
|
42 | BSF LATA,RA1
|
43 |
|
44 | MOVLW 0x03
|
45 | MOVWF LATA
|
46 |
|
47 | goto Loop
|
48 |
|
49 |
|
50 | END
|
Das Problem ist, dass nicht mal der MPLAB Simulator die Werte in LATA
weder mit BSF noch mit MOVWF ändert. Es tut sich einfach nichts. Genauso
wenig ändert sich etwas in PORTA, wenn ich LATA durch PORTA ersetzte.
Alles andere konnte ich im Simulator nachvollziehen und funktioniert.
Kann mir jemand erklären woran das liegt?
Ihr würdet mir auch sehr helfen, wenn ihr mir erklärt wie ich alles
richtig konfigurieren muss (CONFIG ...) damit der interne Oszillator
verwendet wird.
Viele Grüße
Meike