FlashPRO300 Universal Programer

Thread Starter

kurd

Joined Jun 5, 2012
7
Hello, I am new to the world of microcontrollers I bought a programmer form china it's FlashPRO300, but I have problems with it, have anyone used it?

The Problem:
---------------

IC 16f84a is only programmed when i choose 16f84* or 16f84@SOIC18, when I choose to program 16f84a it says "program...bad"!!.

Now what happens is that I put pic16f84a and I program it by choosing pic16f84 the software says that it's programmed successfully, I tried a simple flashing LEDs program and it worked fine in the board, but a friend of mine have the same model but didn't work in the circuit it says programmed successfully but in the board it did not work!!,

Can anyone help me understand this programmer, and is it reliable can I trust it when I do more complicated programs or it will let me down.

Thanks in advance.
 

ErnieM

Joined Apr 24, 2011
8,377
The Problem: Is my programmer bad or my code bad or my compiler bad or my circuit bad or my wiring bad or something else I have not considered?

Both the 16F84 and the 16F84A are described in the same "Memory Programming Specification" document so they use the same protocols so my "guess" is it programmed correctly. If the programmer has a verify function do make sure to run it and confirm this.

That just leaves the code or the compiler or the circuit or the wiring or or something else not considered.
 
Last edited:

Thread Starter

kurd

Joined Jun 5, 2012
7
thank you for your reply, but why when choosing to program 16f84a it returns an error!,
I use PicBasic pro to program, do you think i should try something else like Micro C maybe?
 

Thread Starter

kurd

Joined Jun 5, 2012
7
OK now I know how to program pic16f84a, I must uncheck the ''check ID'' option from the setup ---> operate option, but what is ''check ID''? why should it be unchecked?
 

ErnieM

Joined Apr 24, 2011
8,377
The "check ID" is used to see what the Device ID number is. Microchip puts a different number in every part so the programmers can check the part you said you want to program is the part it is looking at. Using "check ID" is a good thing to do.

One of the main differences between a PIC16F84 and a PIC16F84A is the A version has an ID number, the non-A doesn't.

So when you attempt to program a non-A part using the A protocol it will fail since the ID number will be incorrect.

I would recommend to you and everyone starting out with PIC devices to get a Microchip PICkit 2 or 3 and a Microchip development board. These come with several lessons. That way you get a whole set of known-good things.

You also get an in circuit debugger so you can watch your code running (line by line if you want) and see what it does in any detail you want. You can even see it not working if there is some hardware problem. This also means selecting a PIC that does in circuit debugging: most do, some of the smaller ones do not.

The PIC16F84A does not have in circuit debugging capability, making it a very poor choice for a learning tool.

I honestly salute and encourage your work so I hope you don't take this as anything but a constructive recommendation: using some off-brand programmer, not using a debugger, and building your own board as a starting point is asking for huge frustration is not outright disaster.
 

Thread Starter

kurd

Joined Jun 5, 2012
7
ErnieM thank you for your advices I really appreciated it, for the ''Microchip PICkit'' I will try to get one, but for now I will try to get my programmer to work properly, so I have another question.

After selecting the device you get in the help menu what is called special information, not for all devices but sum of them maybe the ones who need more configuration, pic1684a is one of them it's special information after I translated it from chinese by google is:

'' Chip buffer

Program memory range-----> 000H --- 3FFH ,,,,, 000H ---- 7FFH

Data memory range-----> 000H --- 3FH ,,,,,,, 4200H --- 427FH


User ID range----> 2000H - 2003H ,,,,,,, 4000H - 4007H

Configuration bits----> 2007H ,,,,,,,, 400EH - 400FH''


what is this special information? what does it mean? should I do some configuration before programming?

Thanks in advance, specially for ErnieM.
 

ErnieM

Joined Apr 24, 2011
8,377
This is some detailed information about the PIC you are programming, and most of this can be ignored until the day (which rarely comes) you build your own programmer.

The only item in there of concern is the Configuration bits. These are the same bits as in section 6.1 of the data sheet. Somehow your compiler needs to set them, and most every compiler sets them in a different way.

The configuration data is set when you write and compile your program, not when you are programming the device.
 

Thread Starter

kurd

Joined Jun 5, 2012
7
I compeared the buffer of my programmer to the buffer of a MicroPro programmer loader the hex in FlashPro300 is reversed for example the first line in the FlashPro300 will be:

00000000: 28 28 8F 01 8E 00 FF 30- 8E 07 03 1C 8F 07 03 1C

In MicroPro it will be :

00000000: 28 28 01 8F 00 8E 30 FF- 07 8E 1C 03 07 8F 1C 03

In FlashPro the address continue like this:

00000000:
00000010:
00000020:

In
MicroPro it's:

00000000:
00000008:
00000010:

The MicroPro loads the program to a JMD programmer perfectly and the 16F84A works well, when trying my programmer using the same IC and circuit board it does not work at all!

This is my programmer : http://www.8051faq.com.cn/manager/download/FlashPRO300.html

This is the software: http://www.textool.cn/downloadcn1/FlashPRO+(CH).rar

I do not know what do,is the programmer defective?
 

Thread Starter

kurd

Joined Jun 5, 2012
7
First of all thank you Erniem for helping me and answering all my nonsense newbie questions, thank you very much.

I compared my programmer software buffer with MicroPro buffer, and it's really different for example what is written the location 0000H in FlashPRO300 buffer is 28 and that is 8 bits!, but in MicroPro location 0000 is 2828 which is 14 bits, I cant write a 14 bit "or a word" in the FlashPro.

Please correct me if I'm wrong, but i think it should be 14 bit instead of 8 bit.
 

Wendy

Joined Mar 24, 2008
23,415
Post #8 had been auto-moderated because it went to a non English website, so I approved it. Please, if it is not in English do no link to it, thanks.
 

ErnieM

Joined Apr 24, 2011
8,377
I compeared the buffer of my programmer to the buffer of a MicroPro programmer loader the hex in FlashPro300 is reversed for example the first line in the FlashPro300 will be:

00000000: 28 28 8F 01 8E 00 FF 30- 8E 07 03 1C 8F 07 03 1C

In MicroPro it will be :

00000000: 28 28 01 8F 00 8E 30 FF- 07 8E 1C 03 07 8F 1C 03

That isn't so strange, it is just they are presenting numbers, either big endian or little endian (large or small byte presented first).

I do not know if your programmer is defective. I never used it, I can't read chinese to read the manual, the program is in a format I cannot open, and my antispyware was going nuts over those sights.

If your programmer can read the memory it has programed and save that as a hex file then so and see if you get back what you put in.
 
Top