Originally, I wrote the first iterations of this page back in 2002/2003 when looking at alternative to the slow and clunk (in my opinion) MPLAB 4.xx tools and was exploring alternatives and options that were not Windows based. There are some Linux tools listed and some of the really old but useful, simulators for the Amiga computer, which I used in the 1990s. I mainly use MPLAB X for development now and the simulator contained therein.
MPLAB (Windows PC)
This simulator is part of the MPLAB IDE suite from Microchip (the Manufacturers of PICs).
It is a full featured GUI based simulator. It has all the useful debugger features, single step, breakpoints, Watch points, register windows and a whole lot more.
There are facilities to simulate I/O using key presses or by using stimulus files. I personally have not been able to get MPLAB-SIM to work with interrupts.
The online help is quite useful. I would recommend this for Windows users. It is my preferred simulator.
If you need support for every PIC variant, this is the program for you.
GPSIM (Linux and now Windows)
This is an X-Windows GUI based simulator for a wide variety of PIC microcontrollers. It inter operates with GPASM output files and will take standard .hex files. It has displays for LCD’s an I/O devices and it is easy to use.
2009 update this program is now available for the Windows platform.
One of the best simulators available on any platform and the best for Linux.
It is available in source code form.
Supported PICs
PIC12C508 | PIC12C509 | PIC16C54 | |
PIC16C61 | PIC16C62 | PIC16C63 | PIC16C64* |
PIC16F627 | PIC16F628 | ||
PIC16C65* | PIC16C71 | PIC16C72* | PIC16C73* |
PIC16C74* | PIC16C84 | PIC16CR83 | PIC16F83 |
PIC16CR84 | PIC16F84 | PIC16F873* | PIC16F874* |
PIC16F877* | |||
PIC17C752* | PIC17C756* | PIC17C762* | PIC17C766* |
PIC18C242* | PIC18C252* | PIC18C442* | PIC18C452* |
* Not fully supported (yet).
Sourceboost (Windows)
As well as supplying a C, C++ and BASIC compiler, the Sourceboost IDE contains a debugger/simulator with plugins to emulate a DVM, signal generator, stop watch, EEPROM, power supply and logic analyser.
It is now free to use and worth a look. I am a former, paying customer of this software and before the MPLAB XC8 compiler, it was my goto tool for PIC development
PICEMU (MS-DOS)
This is similar to the old MPSIM for DOS but is under continued development, the most recent version was published 4th May 2003.
PIC Support:
12C508/509,
16C84/F84/F84a/F83,
16F628,
16F870/873/874/876/877
I have only briefly tested this program it seemed fine, the help was useful and the program not too
difficult to use.
SIMULPIC (any Platform)
This is a command line based simulator for the PIC 16F84 only.
It is supplied as C++ source code and thus can be ported to any platform with an appropriate compiler. I have ported it to the Amiga with no problems.
Whilst it may not have a GUI, it has a simple to use syntax, similar to MPSIM, Microchip’s MS-DOS based PIC simulator. There is some online help if you need it.
It is possible to single step code, change I/O ports, timers and capture any events to a report file.
This is the simulator I used on the Amiga.
PICSIM (Amiga)
This is the only GUI based simulator for the Amiga.
It has the standard debugger/simulator features. What is different, is that the author’s have designed an in-circuit emulator. The simulator/debugger can work with the ICE.
MacroCasm (Apple Mac)
This is a compiler, simulator and programming tool for Mac’s pre OS X.
Conclusion
This has been a quick round up of the simulators available that I am aware of, if I have missed any out or you have written one please let me know. Would you like to see some screenshots?