You have designed your PIC based system, written the software, now you need to simulate & test your code. Depending on which platform you use, their is a variety of simulators available.
AT-Control simulation studio (Windows)
A new simulation tool, primarily for lower end devices but appears well specified. Supports the following devices:
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.
MPLAB-SIM (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.
This is similar to the old MPSIM for DOS but is under continued development, the most recent version was published 4th May 2003.
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.
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.
MacPIC (Apple Mac)
This is a compiler, simulator and programming tool for Mac's pre OS X.
Real PIC Simulator (Windows PC)
A simulator for the PC with particular emphasis on speed. Support the following devices:
10F200 10F202 10F204 10F206 10F220 10F222 12F508 12F509 12F510 12F519 16F505 16F506 16F526 16F54 16F57 16F59
12F609 12F615 12F629 12F635 12F675 12F683 16F610 16F616 16F627 16F627A 16F628 16F628A 16F630 16F631 16F636 16F639 16F648A 16F676 16F677 16F684 16F685 16F687 16F688 16F689 16F690 16F716 16F72 16F722 16F723 16F724 16F726 16F727 16F73 16F737 16F74 16F747 16F76 16F767 16F77 16F777 16F785 16F818 16F819 16F83 16F84 16F84A 16F87 16F870 16F871 16F872 16F873 16F873A 16F874 16F874A 16F876 16F876A 16F877 16F877A 16F88 16F882 16F883 16F884 16F886 16F887 16F913 16F914 16F916 16F917 16F946
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?
Updated by Ian Stedman, 27th September 2009.
Updated 08 July 2017