ICSP with VM111 and 16F876

To begin with ICSP, I am simply trying to read an already programmed 16F876 on my VM111.

The VM111 reads only the first instruction, but it is wrong.
Then it reads the EEPROM correctly, except the last byte.

Before trying to re-program the pic, I think I would better solve that problem first?

Because most part the EEPROM is read correctly, I guess the connections are OK.

What can be wrong?

Thank you for any idea!

J-P. M.

Check commiunction speed, VPP and Cable lenght.
Check the reading process with a PIC into a socket

Is the PIC code-protected?

If it is, you may get a couple of bytes then a succession of zero’s.

If not code-protected, does the PIC function correctly in the circuit it was programmed for?

I have shortened the cable from the previous 25cm down to 10cm and now it works fine.
However I am surprised by such a limited range.
May be it is due to the cable quality (plain flat cable)?
Should I use shielded cable?
Is there any mean to have longer (1m) cables, perhaps using drivers?
Thank you all.

I too am surprised, since my cable is just over 2M in length, home-made from Cat5 Ethernet cable, connected to a home-made COM1 port at the back of the PC case (Asus doesn’t supply a COM1 port as standard, but the header is on the Motherboard) and it works perfectly.

In addition, I’m also NOT using the Velleman-recommended un-regulated PSU. I’m using the 12V regulated supply from a modified ATX PSU…and this too works perfectly.

If it helps any, my port settings for COM1 are as follows:

9600 Baud
8 Data bits
No Parity
1 Stop bit
No Flow control

XP SP2 Driver = Version 5.1.2600.0 dated 01/07/2001
I/O range = 03F8 - 03FF
IRQ = 4

HTH.

I recommend reading this if the Serial Port settings are unclear
societyofrobots.com/microcon … uart.shtml
But if this board uses UART like the K8076 the settings are not important, becouse RS232 is a protocol based upon UART.