Forum: Mikrocontroller und Digitale Elektronik PIC-Assembler - Probleme beim Assemblieren


von Chris (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

das Assemblieren des beigefügten Programms bringt nur Fehlermeldungen.
Kann mir jemand mit Tipps weiterhelfen, wie ich da Abhilfe schaffen
könnte? Die Include-Datei zum PIC16F873 ist im Arbeitsverzeichnis
vorhanden. Ein anderes Programm für den PIC16F84 läßt sich einwandfrei
assemblieren und simulieren. Leider bin ich mit der PIC-Welt nur wenig
vertraut. Das Programm stammt aus dem Internet und müßte nur noch
assembliert werden, um es in den Controller zu programmieren.


Hier der Beginn der Meldungen:

Building ULTRA2.ASM...

Command line: "D:\MPLAB\MPASMWIN.EXE /e+ /x- /c+ /p16F873   /q
ULTRA2.ASM"

Hier der Beginn der Error-Liste:

Error[113]   D:\MPLAB\ULTRA2.ASM 11 : Symbol not previously defined
(_hs_osc)
Error[113]   D:\MPLAB\ULTRA2.ASM 11 : Symbol not previously defined
(amp)
Error[113]   D:\MPLAB\ULTRA2.ASM 73 : Symbol not previously defined
(status)
Error[113]   D:\MPLAB\ULTRA2.ASM 73 : Symbol not previously defined
(rp0)
Error[113]   D:\MPLAB\ULTRA2.ASM 75 : Symbol not previously defined
(trisa)
Error[113]   D:\MPLAB\ULTRA2.ASM 76 : Symbol not previously defined
(trisb)
Error[113]   D:\MPLAB\ULTRA2.ASM 78 : Symbol not previously defined
(trisc)
Error[113]   D:\MPLAB\ULTRA2.ASM 82 : Symbol not previously defined
(option_reg)
Error[113]   D:\MPLAB\ULTRA2.ASM 83 : Symbol not previously defined
(status)
Error[113]   D:\MPLAB\ULTRA2.ASM 83 : Symbol not previously defined
(rp0)
Error[113]   D:\MPLAB\ULTRA2.ASM 84 : Symbol not previously defined
(tmr0)
Error[113]   D:\MPLAB\ULTRA2.ASM 88 : Symbol not previously defined
(t1con)
Error[113]   D:\MPLAB\ULTRA2.ASM 89 : Symbol not previously defined
(ccp1con)
Error[113]   D:\MPLAB\ULTRA2.ASM 93 : Symbol not previously defined
(adcon0)
Error[113]   D:\MPLAB\ULTRA2.ASM 94 : Symbol not previously defined
(status)
Error[113]   D:\MPLAB\ULTRA2.ASM 94 : Symbol not previously defined
(rp0)
und so weiter...

Gruß

von Björn (Gast)


Lesenswert?

Hallo,
du musst die "case sensitivity-Option" ausschalten, dann sollte es
gehen.

Björn

von Chris (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

das hat schon etwas gebracht, jedoch erscheinen immer noch
Feherlmeldungen, siehe folgender Auszug:

Command line: "D:\MPLAB\MPASMWIN.EXE /e+ /x- /c- /p16F873   /q
ULTRA2.ASM"
Error[113]   D:\MPLAB\ULTRA2.ASM 11 : Symbol not previously defined
(AMP)
Message[302] D:\MPLAB\ULTRA2.ASM 75 : Register in operand not in bank
0.  Ensure that bank bits are correct.

Die gesamten Meldungen befnden sich im Dateianhang.

Gruß

von Rob (Gast)


Angehängte Dateien:

Lesenswert?

Du mußt am Anfang noch einfügen:

ERRORLEVEL      -302      ;SUPPRESS BANK SELECTION MESSAGES

Das verhindert die Meldung:
Message[302] D:\MPLAB\ULTRA2.ASM 75 : Register in operand not in
bank

die aber nicht weiter problematisch ist.

Desweiteren fehlt am Ende natürlich:

end

Wenn Du dann noch die Konfigurationseinstellungen korregierst oder
rausnimmst und manuell beim Brennen einstellst, klappt es (siehe
Anlage).

Gruß

von Sven (Gast)


Lesenswert?

Hi,

wo kann ich bei MPLAB IDE die "case sensitivity-Option" ausschalten?


mfg Sven

von Henning (Gast)


Lesenswert?

Hallo Chris,
speziel für PIC-Controller gibt es unter http://www.fernando-heitor.de
ein gutes Forum.
Es lohnt sich.
Gruß
Henning

von Robby (Gast)


Lesenswert?

case sensitivity-Option" ausschalten: Project - Build Options...

von Sven (Gast)


Lesenswert?

Danke Robby ;-)

von Chris (Gast)


Lesenswert?

Hallo,

freut mich, daß eine fertige HEX-Datie anbei war! Trotzdem kann ich das
Programm immer noch nicht fehlerfrei assemblieren. Die besagte
Direktive habe ich mal eingefügt, weiß aber nicht genau, ob sie an
dieser Stelle richtig ist. Am Programmende habe ich "end"
hinzugefügt:
;********************************************************
;
;                 Ultrasonic Range Meter
;
;                                 Device : PIC16F873
;                                 Author : Seiichi Inoue
;********************************************************
  ERRORLEVEL      -302      ;SUPPRESS BANK SELECTION MESSAGES
        list            p=pic16f873
        include         p16f873.inc
       __config _hs_osc & _wdt_off & _pwrte_on & _lvp_off

;****************  Label Definition  ********************
        cblock  h'20'
s_count                         ;Send-out pulse count adr
s_adj                           ;Adjustment data address
s_adj_count                     ;Rotate value save adr
Ende Programmauszug.

Leider kommt immer noch folgende Fehlermeldung:
Building ULTRA3.ASM...

Command line: "D:\MPLAB\MPASMWIN.EXE /e+ /x- /c- /p16F873   /q
ULTRA3.ASM"
Error[113]   D:\MPLAB\ULTRA3.ASM 11 : Symbol not previously defined
(AMP)
Warning[205] D:\MPLAB\ULTRA3.ASM 441 : Found directive in column 1.
(END)

MPLAB is unable to find output file "ULTRA3.hex". This may be due to
a compile, assemble, or link process failure.

Build failed.

Oder ist mit dem mit dem Hinweis, die Konfigurationseinstellungen
herauszunehmen und manuell beim Brennen einzustellen, gemeint, daß es
nur so geht?

Gruß

von Robby (Gast)


Lesenswert?

Du hast Fehlermeldungen für die Zeilen 11 und 441. Die mußt Du also
anschauen: In Zeile 11 geht es um die Config-Anweisung "&amp". Ich
weiß leider auch nicht genau, was diese spezielle macht und habe
deshalb die Konfiguration ganz raus genommen (kann man ja beim Brennen
auch noch einstellen). Die zweite Meldung heißt nur, daß du die
Anweisung "end" nicht eingerückt hast. Mache ein Tab davor und dann
kommt das nicht mehr.

Gruß

von Chris (Gast)


Lesenswert?

Hallo,

stimmt, ich hatte das "end" nicht eingerückt. Tab davor und die
Fehlermeldung war weg. Wenn ich die Konfiguration ganz herausnehme
erscheint dies:
Building ULTRA3.ASM...

Command line: "D:\MPLAB\MPASMWIN.EXE /e+ /x- /c- /p16F873   /q
ULTRA3.ASM"

Build completed successfully.

Also vielen Dank :-)

GRuß

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.