sk de en
Main page > Hobby Projects and Research > Tools for Microchip PIC

Tools for Microchip PIC

© Dipl.-Ing. Radovan Konečný - radkon, 2014


Since I use Microchip PIC microcontrollers for my electronic projects for a long time, I made a set of useful tools to help develop microcomputer devices. I mostly program in the assembler, and the following tools are primarily used to help such programming.

PIC simulator

I have often needed to simulate the running of the program - especially for accurate time measurement. I have programmed a simulator that can also simulate some built-in peripheral modules (timers, external interrupts, A/D converter, EEPROM) in addition to the microcomputer core (CPU). Input voltage waveforms can be specified (even the analog ones) and the simulator will create the output voltage waveforms. It is also possible to precise measure the time points. The program can be stopped at the specified point and the status of all registers and variables can be viewed.

The simulator does not need source files, just a compiled (HEX) file.

The program does not have a graphical interface - it works through a command line, which can speed up work (using batch files). It is written in Java.

Supported types: PIC16F630, PIC16F676, PIC16F73, PIC16F87, PIC16F88.
If necessary, other types can also be added.

PIC program analyzer

The analyzer is used to pass through the entire compiled program (HEX file), to find unused parts of the program, to graphically display the used and unused parts of the program, to create a list of used variables, either in the entire program or in the specified part. This is done as if the program was run in the real PIC, but all branches of the program will go through, regardless of the circumstances. It's actually a simplified but special simulator. The usage of the variables is done both for the main program of the program (reset vector) and for the interrupt service routines (interrupt vector). It is possible to check for collision of the variables in the main program and the interrupt service routines. It is also analyzed which variable is used (reading, writing). Another feature is finding simple recommendations on how to shorten the program (rcall instead of call, bra instead of goto, deleting the unused part of the program). The program's invalid instruction codes are also checked during the analysis.

The simulator does not need source files, just a compiled (HEX) file.

The program is written in Java.

Supported types: PIC18F242, PIC18F442, PIC18F252, PIC18F452.
If necessary, other types can also be added.

PIC decompiler to assembler

The decompiler is used to decompile the compiled file (HEX file) to the assembler source file (ASM file). Decompilation is perfect - the resulting source code when again compiled (by the Microchip MPASM compiler) to HEX file, this HEX file is identical to the original HEX file.

The program is written in Java.

Supported types: PIC16F630, PIC16F631, PIC16F676, PIC16F677, PIC16F685, PIC16F687, PIC16F689, PIC16F690, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16F87, PIC16F88, PIC18F242, PIC18F442, PIC18F252, PIC18F452.
If necessary, other types can also be added.

PIC programmer

This project is currently discontinued.

Copyright © 2009-2018 Dipl.-Ing. Radovan Konečný - radkon. All rights reserved.