Forum: Mikrocontroller und Digitale Elektronik Suche Simulator für PIC 18F


von PICSIM (Gast)


Lesenswert?

Hallo zusammen,

ich bräuchte da mal nen Tip. Habe mir jetzt MPLAB X installiert und 
irgendwie spinnt mein PICKit3 noch nen bissl, sollte aber jetzt nicht 
Thema sein.
Ich hab mich dann mal an dem Simulator versucht, aber das klappt 
irgendwie gar nicht ;(

Hab das Gefühl das der noch net so ausgereift ist (oder ich).

Kennt Ihr irgend einen anderen Simulator, mit dem ich auch grafisch 
etwas sehen kann, also blinkende LEDs, LC-Displays etc.

Oder kann der von Microchip auch sowas nur ich hab den richtigen 
Menüpunkt noch nicht gefunden?

Danke für Antworten.

von heinzhorst (Gast)


Lesenswert?

PICSIM schrieb:
> Kennt Ihr irgend einen anderen Simulator, mit dem ich auch grafisch
>
> etwas sehen kann, also blinkende LEDs, LC-Displays etc.

Mit dem Simulator simulierst du den Mikrocontroller. Und mehr nicht. 
Woher soll der Simulator denn wissen, was du an welchen Pin 
angeschlossen hast? Soetwas wirst du nicht finden. Da gibt es einfach zu 
viele Möglichkeiten, was die externe Perpherie angeht. Die kann man 
nicht gleich alle mit simulieren. Könntest die aber im Simulator die 
PORT-Register anschauen. Das DMCI ist da auch sehr hilfreich.

von Rainer (Gast)


Lesenswert?

Du kannst ja mal diese IDE probieren.

http://www.oshonsoft.com/pic18.html

Rainer

von PICSIM (Gast)


Lesenswert?

Danke erstmal für die Antworten,

also laut google.de gibt es schon Simulatoren die auch visualisieren.

z.B.

http://digitalelectrosoft.com/pic-simulator

nur kann der wohl keine PIC18F... Schade!

Ja das mit den Port-Registern hatte ich ja versucht und bin gescheitert 
;(

Hab mir Breakpoints etc. gesetzt, aber irgendwie ist er da einfach 
drübergesprungen, ich steh mit dem Teil echt auf Kriegsfuß

von Lehrmann M. (ubimbo)


Lesenswert?

Proteus kann sehr gut mit PIC umgehen.

von PICSIM (Gast)


Lesenswert?

gibt es noch günstigere alternativen?

von Jens M. (Gast)


Lesenswert?

PICSIM schrieb:
> Habe mir jetzt MPLAB X installiert und
> irgendwie spinnt mein PICKit3 noch nen bissl, sollte aber jetzt nicht
> Thema sein.


Das ist aber keine Simulation sondern fällt unter "In curcuit ....".

> Ich hab mich dann mal an dem Simulator versucht, aber das klappt
> irgendwie gar nicht ;(

Das funktioniert. Mittels stimulus files für Input und dem eingebauten 
"Logic Analyzer". Näheres siehe MPLAB Forum. Es macht auch wenig Sinn 
die nächste Software zu versuchen wenn man die eine noch nicht zum 
laufen bekommen hat.
Beiß dich durch andere haben das auch geschafft würde ich zu mir sagen

So weit ich weiß ist kein PC ist in der Lage einen µC in Echtzeit 
abzubilden. Das schränkt die Sache ein wenig ein. Für Leds an/aus reicht 
es aber allemal.

von PICSIM (Gast)


Lesenswert?

das mit dem Forum schau ich mir mal an, wenn du gerade nen konkreten 
Beitrag im Kopf hast wäre das Cool.

Mit dem PICKit3 ist mir klar, aber mit dem hab ich ja leider nix 
programmiert bekommen.

BTW: Wie nutzt Ihr euer PICKit? Habt Ihr euch Stecker-Adapter gebastelt 
oder wie?

Ich hab von Olimex das P40 Board und da passt das PICKit nicht drauf, 
hab mir quasi eine schlecht gelötete Verlängerung gebaut.

von PICSIM (Gast)


Lesenswert?

Hallo,
also wenn ich MPLAB X jetzt richtig verstehe, springt er von meiner 
Delay10KTCYx(10) in eine *.asm Datei und spielt wohl in Assembler alle 
Zyklen durch.

Das müsste doch zu lösen sein?

Kann man

a) das springen in den Assembler Quellcode verhindern?

oder

b) ein schnelleres Quarz einstellen?

Gruß

von Jens M. (Gast)


Lesenswert?

PICSIM schrieb

> Ich hab von Olimex das P40 Board und da passt das PICKit nicht drauf,
> hab mir quasi eine schlecht gelötete Verlängerung gebaut.
Dann nimm erstmal die standalone Windows software vom Pickit.

Leider kann der 3 deinen Baustein nicht automatisch erkennen (so wie 
Pickit2), du musst das erst einstellen.

http://ww1.microchip.com/downloads/en/DeviceDoc/PICkit_3_User_Guide_51795A.pdf


> Hallo,
> also wenn ich MPLAB X jetzt richtig verstehe, springt er von meiner
> Delay10KTCYx(10) in eine *.asm Datei und spielt wohl in Assembler alle
> Zyklen durch.

wie soll er das sonst machen? Es ist immer ein .asm file das 
abgearbeitet wird.


>
> Das müsste doch zu lösen sein?


RTFM F7  = single Step, F8 = jump to next high level language command.

>
> Kann man
>
> a) das springen in den Assembler Quellcode verhindern?

s.o.

>
> oder
>
> b) ein schnelleres Quarz einstellen?

Im Projekt file. Auch hier RTFM

>
> Gruß

zurück

von PICSIM (Gast)


Lesenswert?

Auch mit F8 hängt der in der Schleife, ist folgende Info hilfreich?

Assembly syntax highlighting is not active for file "d10ktcyx.asm" 
because it does not appear to be associated with MPLAB X project.

.....  movlw   0xff ...........

von Programist (Gast)


Lesenswert?

Einen guten Simulator hat die Proteus VSM.
http://www.labcenter.com/index.cfm

von PICSIM (Gast)


Lesenswert?

zum testen für den Privatgebrauch finde ich 300€ aber etwas viel

von Programist (Gast)


Lesenswert?

Ja, stimmt, gibts aber auch umsonst wenn man weisst wo zu suchen.

von Sucher (Gast)


Lesenswert?

Weiß man aber nicht :-/

von Helmut (Gast)


Lesenswert?

39 Euro bzw 69 Euro ist dir zu teuer?

Den Oshon Simulator muß man mal ausprobiert haben!

Ich jedenfalls, finde, es ist der Beste!

http://www.oshonsoft.com/licenses.php#pic18

von heinzhorst (Gast)


Lesenswert?

PICSIM schrieb:
> BTW: Wie nutzt Ihr euer PICKit? Habt Ihr euch Stecker-Adapter gebastelt
> oder wie?

Ja. Einen RJ-11 Adapter kann man leicht aus nem alten Telefonkabel 
bauen. Müssen aber alle 6 Adern belegt sein. Für sämtliche 
Eigenbau-Hardware benutze ich die hier als Programmierstecker:

http://www.reichelt.de/?SID=12TgnMRn8AAAIAABF1D1E06deb7c8a935145d304452ace4acb205;SID=12TgnMRn8AAAIAABF1D1E06deb7c8a935145d304452ace4acb205;startpage=;ARTICLE=14829

von PICSIM (Gast)


Lesenswert?

Der Oshon Simulator bringt mir aber doch nur was, wenn ich in Basic 
programmiere. Dies tue ich aber leider noch nicht.

Bin momentan noch hin und her gerissen ob C oder Basic.

von Helmut (Gast)


Lesenswert?

Wie kommst du darauf?

Der Simulator simuliert alle Files aller Quellen.

Ich zB. schreibe in Mikroebasic und simuliere auch damit.

Nicht nur der Kontroller mit seinen Pin's wird dargestellt, sondern auch 
LCD, Schrittmotoren und noch einiges mehr.

Kann jedem nur empfehlen es mal aus zu probieren !!

Nimm ein x-beliebiges 18F-Hex-File, stelle den Prozessor und Quarz ein, 
und simuliere es.

von PICSIM (Gast)


Lesenswert?

Ich hatte da mehr so an die ich schreib schnell was um und schau es mir 
direkt an Variante gedacht ;)

Da würde dann ja nur mit einem unterstützten Compiler gehen.


So nochmal zu meinem Ursprungsproblem, ich bin jetzt soweit:


1. Am Code ist alles fein, aber

2. wenn ich die Funktion Delay10KTCYx(10) aufrufe öffnet

3. der "Simulator" die Datei dktcyx.asm und rennt jede einzelne Schleife 
durch.


Aus dem Simulator MPLAB 8.X kenne ich eigentlich nur das er bei 
Einzelschritten direkt von Delay10KTCYx(10)zur nächsten C-Zeile springt.


Hab ich den Simulator evtl. falsch eingestellt?

@heinzhorst: bei meiner nächsten Reicheltbestellung werden wohl mal die 
Stecker mitbestellt ;)

von SIm Nutzer (Gast)


Lesenswert?

Hi

Habe mir gestern abend mal den PROTEUS angesehen.
Macht ja einen guten Eindruck das Teil.
Aber bedingt wohl ca. 2 Wochen Einarbeitung...

Mit dem Oshon habe ich es nicht geschafft z.B. ein LCD Display zu 
simulieren. Mit einer Software, die an einem richtigen LCD problemlos 
läuft.

Und was machen die Simulatoren mit den Interrupts?
Funktioniert das auch?

Seit ich den PICKIT3 habe, nutze ich nur noch das Hardware debugging..
Damit habe ich eigentlich alles zum Laufen gebracht...

Gruß
Thomas

von SIm Nutzer (Gast)


Lesenswert?

Achja, was mich noch interessiert:

Kann man die Kommunikation ZWEIER PICs miteinander simulieren?
Ich möchte da ein DCC ähnliches Protokoll verwenden, um über EINEN Pin 
zu kommunizieren. Und das gerne am SIM testen...

Gruß
Thomas

von PICSIM (Gast)


Lesenswert?

Hat jemand mal getestet ob das mit Delay bei ihm genauso ist?

Ich komme einfach nicht um die ASM-Datei drumm herum.

von SIm Nutzer (Gast)


Lesenswert?

Nimm doch das Delay für die Simulation kurz raus.
#define SIM

#ifndef SIM
 Delayxxx()
#endif

Gruß
Thomas

von PICSIM (Gast)


Lesenswert?

Oh, das kannte ich gar nicht, welchen unterschied macht das zum 
einfachen auskommentieren?

von SIm Nutzer (Gast)


Lesenswert?

Damit kannst Du an EINER Stelle definieren, ob Du simulieren möchtest 
oder nicht.

Die entsprechenden Zeilen werden dann nicht compiliert und sind im HEX 
File nicht vorhanden.

Also Du sagst in der ersten Codezeile

#define SIM
;#define NORMAL_MODE

oder du kommentierst es aus

; #define SIM
#define NORMAL_MODE

zum Beispiel ;-)

Gruß
Thomas

von dotm (Gast)


Lesenswert?

mit proteus kannst du soviele mikrocontroller wie du willst mit 
unterschiedlichen codes gleichzeitig simulieren.
als mplab oder avrstudio plugin geht das allerdings nicht.

von hans (Gast)


Lesenswert?

Benutze "step over" anstelle von "step in". Dann wird die Funktion ohne 
Stop durchlaufen.

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.