Software for PIC16F84
The microcontroller in the "Engineer's Assistant" doesn't need to be a PIC16F84A (20MHz). The instrument's oscillator is a 10MHz quartz crystal, so a normal PIC16F84-10 (10MHz) works just as fine. You can also use the industrial version of the device: PIC16F84-10I
Remember to choose which processor to use in MPLAB before compiling!
The DATA EEPROM area of the PICmicro needs to be programmed. To include these bytes into the HEX-file make sure that the DATA EEPROM area in the source-code is un-commented before assembling into HEX. It's found in the source-code at ORG 0x2100.
The signal polarity in "Serial" mode can be changed to fit a TTL signal or an RS-232 signal. This is indicated at the display with a character which is either a <space> (blank) or an <i>. The <i> means inverse, or TTL.
To me it seems more logical to indicate RS-232 with an <R> and TTL with a <T>. I changed this minor "problem" by modifying two instructions in the source-code. Have a look at AN689A, page 24, lines 454 and 456. Here are the two modifications:
|movlw ' '||changes to||movlw 'R'|
|movlw 'i'||changes to||movlw 'T'|
Files to download
|probe.zip||Contains probe1.pcb (PCB layout) and the original source-code file from the author; probe.asm. (Un-comment DATA EEPROM area and change to <R> and <T>)|
|probe.asm||Source-code with DATA EEPROM area implemented (un-commented) and <space> / <i> changed to <R> / <T>|
|probe.hex||This is the compiled HEX-file for PIC16F84 (not PIC16F84A). The file contains the DATA EEPROM bytes, and indicates serial signal polarity with an <R> or a <T>.|
I am using MPLAB ver. 4.12.12 to edit source-code, simulate and assemble into HEX-file format.
To program the chip I'm using PicProg ver. 0.6 with a home-made programmer. This program is capable of programming the DATA EEPROM area of the PICmicro.
Erik Grindheim, 01.05.2000