Proteus VSM for PIC 16
Proteus VSM for PIC16 contains everything you need to develop, test and virtually prototype your embedded system designs based around the Microchip Technologies™ PIC16 series of microcontrollers. The unique nature of schematic based microcontroller simulation with Proteus facilitates rapid, flexible and parallel development of both the system hardware and the system firmware. This design synergy allows engineers to evolve their projects more quickly, empowering them with the flexibility to make hardware or firmware changes at will and reducing the time to market.

Purchasing Options
Each purchase of the Proteus VSM products includes a professional copy of the ISIS schematic capture package, the VSM simulation engine with industrial grade virtual instrumentation and literally thousands of embedded peripheral models (Nytt vindu). The system can be further upgraded by adding graph based simulation and PCB layout modules.
If you wish to add PCB Layout or other processor families to your purchase please visit the commercial price list or contact us to further discuss requirements.
Technical Information
PIC 16 Variants
- PIC16C61, PIC16C62B, PIC16C63A, PIC16C64A, PIC16C65B, PIC16C66
- PIC16C67, PIC16C72A, PIC16C73B, PIC16C74B, PIC16C76, PIC16C77
- PIC16F506, PIC16F610, PIC16HV610, PIC16F616, PIC16HV616, PIC16F627A
- PIC16F628A, PIC16F630, PIC16F631, PIC16F648A, PIC16F676, PIC16F677
- PIC16F684, PIC16F685, PIC16F687, PIC16F688, PIC16F689, PIC16F690
- PIC16F716, PIC16F785, PIC16HV785, PIC16F818, PIC16F819, PIC16F83
- PIC16F84A, PIC16F87, PIC16F870, PIC16F871, PIC16F873, PIC16F873A
- PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A
- PIC16F88, PIC16F882, PIC16F883, PIC16F884, PIC16F886, PIC16F887
- PIC16F913, PIC16F914, PIC16F916, PIC16F917, PIC16F946
Model Features
- Fully simulates the entire instruction set.
- Supports all port and other I/O pin operations.
- Supports all timers including watchdog timer, sleep mode and wake-up from sleep.
- Supports both Capture-Compare-PWM (CCP) modules in all modes and ECCP modules.
- Supports Parallel Slave Port (PSP) module on appropriate devices.
- Supports MSSP in both the SPI mode and the I2C master and slave modes.
- Supports Analogue-to-Digital Conversion (ADC) module including support for voltage reference pins.
- Supports Analogue Comparator modules including support for internal and external voltage references.
- Supports USART in all modes and EUSART for appropriate variants.
- Supports internal code and data EEPROM memory inc. code protection and data persistence.
- Supports all interrupt modes.
- Supports the LCD controller module in appropriate variants.
- Supports the Ultra Low Power Wake Up module in appropriate variants.
- Internally generated processor clock for performance. Event timing accurate to one clock period.
- Provides internal consistency checks on code (e.g. execution of invalid op-codes, illegal memory accesses, stack overflow checking, etc.).
- more... Fully integrated in to the VSM source level debugging system.
- more... Fully integrated into the Proteus Diagnostic Control System.
Model Limitations
- The external programming interface (PGC/PGD pins) are not modelled.
Compiler support
Proteus VSM models will fundamentally work with the exact same HEX file as you would program the physical device with. However, far more debugging information is available when using a compiler to write the firmware and providing these object files to Proteus in place of the HEX file provides a much richer working environment. More information on supported compilers can be found here.
"I use VSM PIC and the IAR C compiler which allows me to run PIC's to emulate all my mechanical devices as my 'test harness' prior to developing the system proper. I estimate that my development time is now 20% of what it was before for any given design, and because of the general flexibility and information views, simulations can be run as a virtual world tests in their harnesses for days at a time and I can minimise the testing when I build in the real world "
