Electronic Projects, forums and more.

Go Back   Electronic Circuits Projects Diagrams Free > Electronics Categories > Micro Controllers


Micro Controllers Discuss all aspects of micro controllers - building them, coding them, etc. All controllers are welcome - PIC, BASIC, Z8 Encore!, etc.

Reply
 
Tools
Old 9th December 2004, 08:04 PM   #1
Default 16f877 programmer...

hey guys...
what is the best design to build the serial programmer for the PIC 16f877...???
i want schematics plz..
__________________
subzero... wins..
sonaiko is offline  
Old 9th December 2004, 09:14 PM   #2
Default Re: 16f877 programmer...

Quote:
Originally Posted by sonaiko
hey guys...
what is the best design to build the serial programmer for the PIC 16f877...???
i want schematics plz..
The 16F877 is serially programmed, but do you want a programmer that connects to the parallel port or the serial port?. For parallel port ones try my site below. But there are a great many PIC programmers on the net, a simple google search will turn up loads!.
__________________
PIC programmer software, and PIC Tutorials at:
http://www.winpicprog.co.uk
Nigel Goodwin is offline  
Old 9th December 2004, 09:16 PM   #3
Default Re: 16f877 programmer...

Quote:
Originally Posted by Nigel Goodwin
Quote:
Originally Posted by sonaiko
hey guys...
what is the best design to build the serial programmer for the PIC 16f877...???
i want schematics plz..
The 16F877 is serially programmed, but do you want a programmer that connects to the parallel port or the serial port?. For parallel port ones try my site below. But there are a great many PIC programmers on the net, a simple google search will turn up loads!.
i want one connected to the serial port..
plz plz help me..
__________________
subzero... wins..
sonaiko is offline  
Old 9th December 2004, 09:22 PM   #4
Default Re: 16f877 programmer...

Quote:
Originally Posted by sonaiko
i want one connected to the serial port..
plz plz help me..
I don't support serial port programmers, as I don't consider them reliable enough - you might try looking at http://www.ic-prog.com. This supports serial port programmers, and gives various links to different ones - try the JDM Programmer, but it does rely on your serial port being above RS232 standard.
__________________
PIC programmer software, and PIC Tutorials at:
http://www.winpicprog.co.uk
Nigel Goodwin is offline  
Old 9th December 2004, 11:48 PM   #5
Default Re: 16f877 programmer...

Quote:
Originally Posted by Nigel Goodwin
Quote:
Originally Posted by sonaiko
i want one connected to the serial port..
plz plz help me..
I don't support serial port programmers, as I don't consider them reliable enough - you might try looking at http://www.ic-prog.com. This supports serial port programmers, and gives various links to different ones - try the JDM Programmer, but it does rely on your serial port being above RS232 standard.
hey man.. i went there -to ur site- and saw the schematic for that... but i couldnt really understand which lines to build for my 16f877.. ( i couldnt find any schematics for serial connecting programmer 16f877 in the ic-prog.com if u can help me with the link)

can u help me more with details plz?
__________________
subzero... wins..
sonaiko is offline  
Old 10th December 2004, 02:27 AM   #6
Default

It programs many many chips, the 877 is just one of them. Just make it as in the diagram, and you will be able to program 877's, and lots of other PIC chips that you might want to experiment with in the future.
bonxer is offline  
Old 10th December 2004, 10:46 AM   #7
Default

Quote:
Originally Posted by bonxer
It programs many many chips, the 877 is just one of them. Just make it as in the diagram, and you will be able to program 877's, and lots of other PIC chips that you might want to experiment with in the future.
actually man, i didnt understand that schematic!! it has alot of lines and paths and im just a beginner :cry:
can u or smbody explain which is the right path for the 16f877 of mine?
__________________
subzero... wins..
sonaiko is offline  
Old 10th December 2004, 04:32 PM   #8
Default

Well yes there are quite a few wires going to the actual socket to program the PIC, but there are more wires going to/from other components too. It's not an issue of figuring out which ones are necessary for programming the 877. Just in case you really really desire such info, you need:

Code:
Pin 1  = 13 or more volts to enter programming mode
Pin 30 = ground
Pin 31 = 5 volts
Pin 39 = clock pulse
Pin 40 = data
But it's not just an issue of connecting only those 5 lines and being done. You have to connect an adequate power supply, the parallel port connector, the transistors and resistors and everything else. When you've made 60+ wire connections (I havent actually counted joints), it seems rather silly to me to only want to make 5 more specifically for the 877 rather than all 15 to the programming socket. If the soldering iron is hot, why not?

The only things on there are some hex inverters (six inverters on a single chip), some voltage regulators (74L05, 74L08), capacitors, resistors, transistors, some LEDs, a power jack, power adapter, a bridge rectifier, the socket to insert the PIC, and of course the parallel port connector. You can probably get everything there on the list at Radio Shack, or order it online cheaper.

If you are having trouble figuring out how the lines work, it's like this: If two lines intersect, and there is a dot there, then that is a connection. You would solder those wires together. If lines cross each other but there is no dot there, then you do NOT connect them. Those wires will have nothing to do with each other on your actual board.

If you don't feel up to tackling a project like this with so many connections and parts, perhaps you would be more comfortable ordering a programmer already built, then you can learn about diagrams and connecting components on a smaller scale, just by connecting resistors and LEDs to your PIC and gradually advancing from there.
bonxer is offline  
Old 10th December 2004, 05:37 PM   #9
Default

Quote:
Originally Posted by bonxer
Well yes there are quite a few wires going to the actual socket to program the PIC, but there are more wires going to/from other components too. It's not an issue of figuring out which ones are necessary for programming the 877. Just in case you really really desire such info, you need:

Code:
Pin 1  = 13 or more volts to enter programming mode
Pin 30 = ground
Pin 31 = 5 volts
Pin 39 = clock pulse
Pin 40 = data
But it's not just an issue of connecting only those 5 lines and being done. You have to connect an adequate power supply, the parallel port connector, the transistors and resistors and everything else. When you've made 60+ wire connections (I havent actually counted joints), it seems rather silly to me to only want to make 5 more specifically for the 877 rather than all 15 to the programming socket. If the soldering iron is hot, why not?

The only things on there are some hex inverters (six inverters on a single chip), some voltage regulators (74L05, 74L08), capacitors, resistors, transistors, some LEDs, a power jack, power adapter, a bridge rectifier, the socket to insert the PIC, and of course the parallel port connector. You can probably get everything there on the list at Radio Shack, or order it online cheaper.

If you are having trouble figuring out how the lines work, it's like this: If two lines intersect, and there is a dot there, then that is a connection. You would solder those wires together. If lines cross each other but there is no dot there, then you do NOT connect them. Those wires will have nothing to do with each other on your actual board.

If you don't feel up to tackling a project like this with so many connections and parts, perhaps you would be more comfortable ordering a programmer already built, then you can learn about diagrams and connecting components on a smaller scale, just by connecting resistors and LEDs to your PIC and gradually advancing from there.
thanx man. thank u very much but i still have sm questions..
1) u mean i need to have 2 power supplies connected to the 877 one is more than 13v and the other is 5v ??? ( i get those voltages from a transfromer right??? is there another way than the AC/DC transformer?)
2) the ground line means connecting that to the ground pin on the parallel port??? i think it is pin 31 that must be connected to the ground not 30 as u said right? and pin 32 is connected to the 5volts right?
3) wer do i get the clock pulse from ? i didnt see any oscillators in the diagram!!!
4) let us imagine that i connected a component in a wrong way, would this damage my parallel port or my 877??? or it would just not do the task of programming??? plz tell me that it wont damage anything :cry:
5) i work on the MPLab to create my code. does this programme use the prallel port to programme the 877?
__________________
subzero... wins..
sonaiko is offline  
Old 10th December 2004, 06:17 PM   #10
Default

Quote:
Originally Posted by sonaiko
1) u mean i need to have 2 power supplies connected to the 877 one is more than 13v and the other is 5v ??? ( i get those voltages from a transfromer right??? is there another way than the AC/DC transformer?)
You use a single supply. As the diagram states, you use a 16-30V DC, or a 12-20V AC power transformer, and plug it into the jack. The 78L05 takes that input voltage and regulates it down to just about exactly 5 volts. The 78L08 regulates an input voltage to 8 volts. What has been done here is that you use the output of the 78L05 for anything that needs +5v. The 78L08 has its common pin connected to the 78L05, which in essence makes it see the 5 volt level, and output 8 volts over that, giving the required 13v output to enter programming voltage.

Quote:
Originally Posted by sonaiko
2) the ground line means connecting that to the ground pin on the parallel port??? i think it is pin 31 that must be connected to the ground not 30 as u said right? and pin 32 is connected to the 5volts right?
Ahh yes, I mistakenly looked at the numbers above the wires. ops: You are correct, 31 is ground and 32 is 5 volts. As for the grounding issue, yes everything that you see with the grounding symbol, whether it be the PIC, resistors, capacitors, or anything else, should all be connected, that includes the grounded pins on the parallel port. If you don't connect the grounds, then there's no loop for current to flow.

Quote:
Originally Posted by sonaiko
3) wer do i get the clock pulse from ? i didnt see any oscillators in the diagram!!!
PC Software => parallel port control

Quote:
Originally Posted by sonaiko
4) let us imagine that i connected a component in a wrong way, would this damage my parallel port or my 877??? or it would just not do the task of programming??? plz tell me that it wont damage anything :cry:
If you connect the lines wrong you could definitely damage things. If the computer's trying to output a voltage on a pin, and you have that connected to ground, BZZZZZZT. PICs are pretty versatile, but they can be killed too.

Quote:
Originally Posted by sonaiko
5) i work on the MPLab to create my code. does this programme use the prallel port to programme the 877?
You use the MPlab to compile your code to a hex file. To actually transfer the hex file from the computer to the PIC, you need to use another piece of software. If you're building the programmer from Nigel's site, you would also use Nigel's WinPicProg software. If you're going to build a different programmer from somewhere else, use the software the designer recommends, or whatever software you can find that will work with it.
bonxer is offline  
Old 10th December 2004, 06:33 PM   #11
Default

THANX ALOT..
i think i have 4 more questions...
1) what is the G1 B80C800 used for??
2) can i use the hex invertor 74HC04 instead of 74LS05 invertor?
3) i didnt understand the part of the clock so well. do u mean my MPLab can do the clock for me? i can see that i should use pin D3 as the clock, is this the default pin for the clock or i should assign it myself???
4) let's say i assembled the circuit and turned it on. how do i know that it worked so well and the programming is worked well too?

sorry for asking too much ops:
__________________
subzero... wins..
sonaiko is offline  
Old 10th December 2004, 07:08 PM   #12
Default

1. It is a bridge rectifier. http://hyperphysics.phy-astr.gsu.edu...ic/rectbr.html Clicky.

2. The 74HC04 is a CMOS hex inverter. As far as I know this should be an acceptable substitute, but it will make your finished circuit more prone to problems caused by static electricity.

3. Unless you are using a programmer from Microchip, Inc, then MPLab has nothing to do with the actual programming and clocking to the chip. WinPicProg will provide the clock pulses through the port as it sends the data. I would highly recommend against trying to make different connections for the clock pulse than the ones specified by Microchip. 8)

4. Make a simple test circuit on a breadboard which simply turns on an LED. Program your chip then put it in the circuit. If the LED comes on, the programmer worked. If it doesn't, well, ... :P
bonxer is offline  
Old 10th December 2004, 09:30 PM   #13
Default

Thanx alot man...
may i ask any questions later if i have any more? ops:
__________________
subzero... wins..
sonaiko is offline  
Old 10th December 2004, 10:35 PM   #14
Default

Quote:
Originally Posted by sonaiko
THANX ALOT..
i think i have 4 more questions...
1) what is the G1 B80C800 used for??
2) can i use the hex invertor 74HC04 instead of 74LS05 invertor?
3) i didnt understand the part of the clock so well. do u mean my MPLab can do the clock for me? i can see that i should use pin D3 as the clock, is this the default pin for the clock or i should assign it myself???
4) let's say i assembled the circuit and turned it on. how do i know that it worked so well and the programming is worked well too?

sorry for asking too much ops:
the 74LS05 has open collector outputs ..the 04 uses standard TTL output..
they are not interchangeable
williB is offline  
Old 10th December 2004, 11:14 PM   #15
Default

Quote:
Originally Posted by williB
the 74LS05 has open collector outputs ..the 04 uses standard TTL output..
they are not interchangeable
When you say it has an open collector output, what exactly does that mean?
bonxer is offline  
Reply

Tags
programmer

Thread Tools
Display Modes




All times are GMT. The time now is 02:19 AM.


Electronic Circuits  |  Learning Electronics
eXTReMe Tracker