Forum: Mikrocontroller und Digitale Elektronik 16F876 - MPLAB Assembler Problem


von chriz22 (Gast)


Lesenswert?

Hallo zusammen und nen guten Abend ;-)

bin momentan dabei meinen ersten Mikrocontroller (16F876) zu brennen und 
ich komm nicht mehr weiter. Hoff mir kann jem mit nem guten Rat wieder 
auf die Schienen helfen.

Danke
Gruß

QUELLCODE MPLAB
1
LIST P=16F876
2
3
__CONFIG 0x3F72
4
5
w EQU 0
6
f EQU 1
7
8
STATUS  EQU 0x003
9
RP0    EQU 5
10
11
PORTB  EQU 0x006
12
PORTC  EQU 0x007
13
14
TRISB  EQU 0x086
15
TRISC  EQU 0x087
16
17
ORG 0
18
goto start
19
ORG 4
20
goto start
21
ORG 5
22
23
start  bsf  STATUS,RP0
24
    movlw  0xff
25
    movwf  TRISB
26
    clrf  TRISC
27
    bcf  STATUS,RP0
28
loop  movlw  0xff
29
    movwf  TRISC
30
  goto loop
31
32
END


AUSGABE MPLAB

Language tool versions: mcc18.exe v3.34, mplink.exe v4.35
Preprocessor symbol `__DEBUG' is defined.
Wed Dec 01 20:24:19 2010
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "D:\Programme\MCC18\bin\mcc18.exe" /q /p16F876 "prog1.asm" 
/l"prog1.lst" /e"prog1.err" /d__DEBUG=1
/q:  unknown option
Halting build on first failure as requested.
BUILD FAILED

Programmiergerät PICkit3

von usuru (Gast)


Lesenswert?

1. Du hast ein Assembler-Programm in einen C-Compiler eingegeben, der 
zudem noch für PICs der Reihe 18F... ist.

2. am Anfang des Programms empfiehlt es sich, die zum PIC gehörige Datei 
zu includen
    #include <p16f876.inc>
dann sparst Du Dir
    w EQU 0
    f EQU 1
    STATUS  EQU 0x003
    RP0    EQU 5
    PORTB  EQU 0x006
    PORTC  EQU 0x007
    TRISB  EQU 0x086
    TRISC  EQU 0x087

3. die Config-Bytes würde ich nicht als Hex-Wert eingeben, sondern als 
Klartext

4. mit
    bcf    STATUS,RP0
stellst Du auf Bank 0 um, das TRISC-Register in der Schleife Loop ist 
aber in Bank 1

von chriz22 (Gast)


Lesenswert?

DANKE

:-)

FUNKTIONIERT

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
Noch kein Account? Hier anmelden.