So basically this project is about how to make a 8051 micro-controller programmer using some pretty basic components.
This reduces all the messy connections you have to go through every time you make a prototype on ASSEMBLY code on a Micro controller or some EMBEDDED project on a breadboard.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: So Lets Get Started With Pinouts..
1. The diagram shows the pinout for AT89S52 IC in DIP package, as you can see its 18th and 19th pins are for the external CRYSTAL oscillator connections.
2. And the pin 9 is RESET pin which is active HIGH 3. Pin 31 is EA (External Access)for accessing external memory which is also active HIGH. 4. Pin 20 is gnd and pin 40 is Vcc(+5V) 5. Pin 5, 6, 7 is MISO, MOSI, SCK respectively and these gets connected to JTAG cable pins.
Step 2: Things Required
1. ISP module for burning the HEX file from the computer with its JTAG cable
3. 10k for reset to pull low
4. Push button for reset
5. some female headers (you can use male too, just don't be sexiest...lol)
6. Crystal oscillator (i'm using 10 MHz, can use up-to 15 MHz max.)
7. IDE software for assembly/ embedded C, i'm using 'kiel' you ca download it from here, (remember that this link is for 8051 like controllers).
8. programmer for burning HEX file into controller memory from ISP, i'm using 'progisp' you can download it from here. Thats it!!!!
Step 3: Assembling..
Its a pretty straight forward circuit with merely 50 solder connections, make sure to do a continuity check for every solder and pin.
note that the capacitor at RESET pin is optional.
Step 4: JTAG Connections
A typical JTAG connector has
MOSI(Master Out Slave In) to pin 6
MISO(Master In Slave Out) to pin 7
SCK to pin 8
reset to pin 9
refer the above pinout
Step 5: Making HEX File in KIEL
1. After compiling the code(assembly or embedded C) go to flash > configure flash tools
2. you should get a window something like this,
3. go to devices, select the controller which you are using , then
4. goto Output>
5. go to select folders for object file then select the ASM/C file which you want to create HEX file
6. then go to name of executable :
name it appropriately
7. check create HEX file and HEX file must be HEX-80 by default, then click OK
that's it!!!! you just made a HEX file
Step 6: Dumping HEX File
1. first connect your ISP to any USB port, then you should get this symbol shown, if you didn't then make sure your USB drivers are up to date, update them and try again.
2. Then select the appropriate controller name from the drop box.
3. go to load flash then select the HEX file then just click auto.
that's it!!!! you have dumped the HEX file into the controller, if you get some error make sure all the connections are proper and JTAG wires are connected to its respective pins of controller.
If you still getting some errors, feel free to ask me anytime :)