Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
sonaiko said:hey guys...
what is the best design to build the serial programmer for the PIC 16f877...???
i want schematics plz..
Nigel Goodwin said:sonaiko said: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!.
sonaiko said:i want one connected to the serial port..
plz plz help me..
Nigel Goodwin said:sonaiko said: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.
bonxer said: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.
Pin 1 = 13 or more volts to enter programming mode
Pin 30 = ground
Pin 31 = 5 volts
Pin 39 = clock pulse
Pin 40 = data
bonxer said: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.
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.sonaiko said: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?)
Ahh yes, I mistakenly looked at the numbers above the wires. 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.sonaiko said: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?
PC Software => parallel port controlsonaiko said:3) wer do i get the clock pulse from ? i didnt see any oscillators in the diagram!!!
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.sonaiko said: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:
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.sonaiko said:5) i work on the MPLab to create my code. does this programme use the prallel port to programme the 877?
the 74LS05 has open collector outputs ..the 04 uses standard TTL output..sonaiko said: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
williB said:the 74LS05 has open collector outputs ..the 04 uses standard TTL output..
they are not interchangeable
williB said:it means that each output pin has a transistor with the collector being connected to the pin..
open collector outputs can sink a lot more current than standard TTL outputs..
The difference is the software,the hardware for the 877 and 877a is identical.
Never heard of PIC Burner, but JDM's are the most unreliable programmer there is.
I would strongly suggest you get a PICKit2 or a clone.