I have a parallel DIY PIC programmer which is similar to a Tait programmer (I do not know any more which exact model it was) and which worked well with some software programmer (I also do not remember which one was it) and which I used to program 16F877A by means of ICSP connector and it has also a base for 18 pin chip (16F84).
The problem is: it worked fine up to 2007 and I have done several major projects for 16F877. Since then I have given up programming, and now I have to retake to make half a dozen Temperature Dataloggers (based again on 16F877). But the problem is that I can not make the programmer work...
I have checked all the signals, their inversion, and all seems to be OK.
I have tried different programming softwares, Winpic, ICProg, Picpg.
I was not able to program or read 16F877. With one program (Picpgrm)which autodetects the processor, about 50% of the times it gave the correct processor and sometimes it returned the first word of code correctly (i.e. the first code 2805 and then 3fff).
I have found a 16F84A and put it into the onboard socket. With Winpic I got the following: Sometimes it is possible to program both CODE and DATA, but the system tells me about a verify error at some memory location (for instance at 70h, and from there one all the subsequent codes are off (but not 3ff), sometimes it tells me that programing/erasing failed completely. However, when I read the chip, the CODE always returns as 3FFF, but the DATA seems to be programmed well, returning the correct values...
I am completely lost, since this behaviour is very strange. The worst is that the programmer worked fine before without any glitches... I have tried it on two different computers (both windows XP), but the result is the same. I suspect that the problem maybe more software related (timing issue, but the cables and the physical setup is exactly the same when it worked fine!), but this is a wild guess...
ADDITIONAL INFORMATION: I was able to program 16F84A with PICpgm, and it verifies OK; however, when reading I get the first four words of CODE as "FF00 FFFF FFFF FFFF" and then it returns correctly the subsequent words (from 0004, something like 3012 3C18 3E29 3012 etc.) . The EEPROM data seems to read correctly as programmed.
Can someone help?
The problem is: it worked fine up to 2007 and I have done several major projects for 16F877. Since then I have given up programming, and now I have to retake to make half a dozen Temperature Dataloggers (based again on 16F877). But the problem is that I can not make the programmer work...
I have checked all the signals, their inversion, and all seems to be OK.
I have tried different programming softwares, Winpic, ICProg, Picpg.
I was not able to program or read 16F877. With one program (Picpgrm)which autodetects the processor, about 50% of the times it gave the correct processor and sometimes it returned the first word of code correctly (i.e. the first code 2805 and then 3fff).
I have found a 16F84A and put it into the onboard socket. With Winpic I got the following: Sometimes it is possible to program both CODE and DATA, but the system tells me about a verify error at some memory location (for instance at 70h, and from there one all the subsequent codes are off (but not 3ff), sometimes it tells me that programing/erasing failed completely. However, when I read the chip, the CODE always returns as 3FFF, but the DATA seems to be programmed well, returning the correct values...
I am completely lost, since this behaviour is very strange. The worst is that the programmer worked fine before without any glitches... I have tried it on two different computers (both windows XP), but the result is the same. I suspect that the problem maybe more software related (timing issue, but the cables and the physical setup is exactly the same when it worked fine!), but this is a wild guess...
ADDITIONAL INFORMATION: I was able to program 16F84A with PICpgm, and it verifies OK; however, when reading I get the first four words of CODE as "FF00 FFFF FFFF FFFF" and then it returns correctly the subsequent words (from 0004, something like 3012 3C18 3E29 3012 etc.) . The EEPROM data seems to read correctly as programmed.
Can someone help?
Last edited: