PIC16F84 In Circuit Emulator

V0.00 released

I'm working on a In-Circuit Emulator for the Microchip PIC16F84 microcontroller. The only hardware needed is a I/O device of which the ports are individually programmable for input or output. This hardware should be connected to a standard printerport. This is still under construction.

The picture below is a screenshot of the software. It already works for most instructions (watchdogtimer related instructions are not implemented yet). Some work still has to be done, this is only a pre-release. The software is written in C for the Linux operating system. I also ported it to MS-DOS, an OS/2 port will be available with the first official release. It's text based, no difficult x-window or windows stuff. The picture below is a screenshot of ICE16F84 in an x-terminal:

For testing purposes I implemented some simple I/O through the printerport: the datalines are dedicated output for RB[0-7]and the control lines are dedicated inputs for RA[0-4]. It is possible to do some simple I/O, the TRISA and TRISB registers are implemented but writing to them has no effect on the direction of RAx or RBx.

Almost every special function register is fully functional (indirect addressing through register 0x00, EEPROM reading and writing, TMR0, interrupts etc). But as the I/O is not implemented according the datasheets the I/O interrupts aren't available yet. The watchdogtimer isn't implemented at all for the moment.

The pre-release version, including the full source, is available for download now! The package contains the Linux and DOS versions. The Linux version is compiled for glibc2.1 (e.g. Redhat 6.1) but compiling shouldn't be a problem at any version of Linux. Just do a 'make clean' and a 'make'. The emulator is free of charge, published under the GPL rules but I appreciate some feedback.

Download now: PIC16F84 In-Circuit Emulator for Linux and MS-DOS (183kb)


Last update:november 12, 2000