DT001 - Testing and Debugging

Power up and Testing the Programmer:

Before you power up, check with your multi-meter (on ohms) that ground and +5 volts are not shorted together on the printed circuit board.

A word to the wise!!!

When you build a device to plug onto the rear end of a computer system, there is always the possibility of electronic damage to the computer. Weird ground feed-back from an unknown bench power supply may be just what is required to blow the interface chips in your printer card.

If you are like me and run from Notebook computers, you can't go blowing up internal circuitry, so my advice to you, is to test the Programmer section using two 9 Volt batteries in series to produce 18 Volts, and suitable battery clips as a power supply.

This minimizes the possibility of any power supply problems.

A word for the Paranoid!

If you have your printer port logic included on your motherboard, you can always use a cheap printer card set to LPT2: for initial testing.

I can't (and won't) be held responsible for your power supply. If you prove that your programmer works using batteries first, you are well on the way to a successful project.

Connect up your power-pack, transformer, or 2 by +9 Volt Batteries to the main input terminals. As the circuit has a diode bridge at the input, it doesn't matter which way around you connect the positive and negative terminals.

Power up the unit and check that the +5 Volts is there before proceeding. This is verified by the Power LED being on. Check the volts with your multi-meter. This should read from about 4.8 to 5.1 Volts. That's what you get on 7805 regulators now days. Usually around 4.8 Volts with no load.

Check your PWR voltage. This will show up on the Power LED and should be about 15 plus volts which should be able to generate +13V at the output of the 78L12 Voltage regulator.

The Nigel software has a test function that will allow you to test the LEDs and check the voltages before burning a PIC device.

CONNECTING TO A PRINTER PORT AND BURNING

Connect the programmer to an MS-DOS printer port using a DB-25 Male to Female standard extension cable, and power the unit up. Put a PIC16C84 into your target socket and try burning the 84 test file.

Use the instructions provided with each software package to program the WL84.HEX file into a PIC16F84. (or C84)
The walking LED program simply displays each LED switch on in turn at 1 second intervals on Port B. You will need to connect up some status LEDs on Port B of your target board to monitor the operation of the walking LED program.

This can be done with a Relay board connected to the DT001 board. The walking LED will be seen on the Relay driver LED's.

PROGRAM/RUN

The programming/Run operation goes like this:

(1)     PROGRAM MODE:           Switch 1 to Program.
                                Burn (or Program) Target Device.


(2)     RUN MODE:               Switch 1 to Run.
                                Program auto-runs in Target system.

(3)     RETURN TO PROGRAM:      Switch 1 to Program.
                                Burn (or Program) Target Device.  

Yes, step (1) and (3) are the same. This simple cycle continues.

HOW DO I RUN IT, CONTINUED.

When the device is powered up and the Software is run with the appropriate command ,the PWR and the +5V power monitor LED's should be on, and the VPP and VDD LED's off. During the initial 'RUN' of the program, the green LED will switch on for a short time.

Before inserting an 84, you can do a few tests.

Try the Nigel program. Even without the VPP voltage connected, the program should test your board and report the printer port to be used in the top right hand corner of the screen. This should say 278, 378 or 3BC. This is the hex value of the printer port detected.

The command line for this is: PICPROG (the file name varies with Versions, and windows will be different of course)

You should have the Program/Run switch in the correct position. This socket could be the ZIF (or Machine pin) socket on board the programmer, a socket on a SimmSocketTM, or suitable Target board.


Here is wl84.hex which is a test file provided for a trial burn.

:020000000528D1
:10000A000030650066008500860008308F000030E9
:10001A009100FF3090000314910D11088600900A98
:10002A0010089200920D920D1208850021208F0B64
:10003A001128003086000A2800308D0004308E0016
:10004A00F3308C0000008C0B27288D0B25288E0B93
:04005A00272808004B
:00000001FF  

The command line for this is: PICPROG WL84.HEX

Put your 84 into the socket and try this command. During the burn phase, the VPP and VDD LED's will turn on, do a little flashing, then turn off when the device is programmed.

The program will tell you if the device has been programmed correctly or not, after verifying the device.

When the device is programmed correctly, set Switch 1 to Run mode. You should be running your program.

The WL84.HEX file is my walking LED program. This is a simple little program that blinks LEDs connected to Port B and Port A bits 2 and 3 of an 84.

Port A produces a binary count, and port B walks a LED from LSB to MSB at 1 second intervals.

Top of Page

You still having problems 
getting your DT001 to work? 
Section 
Isolate!!!! 
  

You can program an 84 chip in a DT101 board in slot 1 with the switch in the correct position, or you can program it in the ZIF socket position on the DT001 board. The switch isn't used if you have the micro in the ZIF socket position.

Now, can  you program a PIC16F84 on the dt001 board, that is, with no simmstick installed?
To do this, you can solder an 18 pin machine pin socket to the dt001 board to try.
See the hints page for using machine pin sockets and later conveting to ZIF sockets.

If all of this fails, try another printer port, or another computer system just to make sure of your fault finding. It only takes a blob of  solder or a track fault on the boards to stop it all working.