Here are the steps to program P89V51RD2 by ISP method using RS232.
My Need:
--------
1. I had to find a microcontroller, which is self programmable, do not need a separate programmer.
2. Circuit should be simple, even a novice can make it and learn.
3. Other tools should be simple and freely available.
So, I choose:
-----------
1. P89V51RD2 microcontroller from Philips. Specifically P89V51RD2FN.
2. Circuit diagram from http://www.ece.ubc.ca/~jesusc/P89V51RD2_System.pdf
3. SDCC for compiling C programs and FlashMagic for programming the microcontroller.
I made the circuit on a veroboard.
Connected the circuit to PC using serial cable(RS232).
Test code:
----------
test.c
Code: Select all
#include<p89v51rd2.h>
void DeadDelay(unsigned int delay)
{
unsigned int indexI,indexJ;
for(indexI=0; indexI<delay; indexI++)
for(indexJ=0; indexJ<1275; indexJ++);
}
void main(void)
{
while (1)
{
/* Blink LED on Port 0 */
P0=0x55;
DeadDelay(25);
P0=0x00;
DeadDelay(25);
}
}
--------------
C:\>sdcc -I"c:\Program Files\SDCC\include\mcs51" test.c
C:\>packihx test.ihx > test.hex
packihx: read 25 lines, wrote 17: OK.
Flash Magic setting:
-------------------
Code: Select all
com port: com1
baud rate: 9600
device: 89v51rd2
interface: none(isp)
hex file: C:test.hex
check "Verify..."
DO NOT check the box near to "Erase Flash used by Hexfile".
It may damage the bootloader!
I didn't check these two boxes and programmed my P89V51RD2 twice, hence confirming that my bootloader was in safe condition.
Now click on "Start".
When it asks to reset the device, press reset button on circuit board and get p89v51rd2 programmed!
Sincerely,
Srinivas Nayak
Home: http://www.mathmeth.com/sn/