I want to make a programmer for 89c51 using pic micro 16f877. For that i have to send the hex file to the pic from pc.
Which software can i use for it? Is this possible with hyperterminal?
How is the programmer intended to work? A PIC16 won't be able to store the complete 8051 image internally. Unless it uses an external RAM, it has to reecive the hex-file in small pieces and the sending application must be paused until the next block can be send. XON/XOFF handshake would be a possible means to achieve this.
Hai experts i have another doubt.
I think when the hex file is sent through the serial port , the computer is actually sending ascii values corresponding to it .
Do i have to convert it back to hexadecimal values before it is written to micro-controller
Yes, and you also have to divide each line of the hex file into specific fields. Hex files start with a special character, usually ':' then have line length indicator, record type, loading address, the data itself and a checksum. All as sent as ASCII text, you have to interpret it, convert the data into binary and load it at the address in the address field.
No. You just send on ASCII data. The decoding is done in the micro-controller.
Flow control will be usually necessary to account for the limited memory capacity. You'll e.g. send the data line by line, waiting for an acknowledge before sending the next line.
We seem to differ on that opinion! Perhaps MUKESH.K.S could give more details of the connectivity between the serial link, the PIC and the 8051, perhaps I'm getting confused over the use of Hyperterminal which I assume means a PC is also involved.
The hex file is ASCII text, the microcontroller memory will ultimately hold binary values. At some stage, somewhere in the system the hex file has be 'decoded' and the relevant fields inside it obeyed. What you can't do is store the contents of the hex file in the processor and expect it to run.
At some stage, somewhere in the system the hex file has be 'decoded' and the relevant fields inside it obeyed. What you can't do is store the contents of the hex file in the processor and expect it to run.