this is my story, i am currently stuck at home (alone) and nowhere to go.. so i found this intel 80C51 IC laying around.. im a new to other micro-controllers (obviously a potato) but i have some experience in arduino, So i thought to myself, Arduino also a micro-controller and there is a way to control it and we know it.. but what about this 80C51..?? how do i even start.. i looked through every website and at the datasheet, all i know is i want a programmer and a IDE.. but sadly i only have my loving arduino mega and bunch of resistors, capacitors, ect.. i have million questions.. but i will divide it into two main questions..
A) How can i program this micro-controller.. what should i need (don't say a 8051 programmer board ) can i use arduino instead?
B) Is there more than one way to program this micro-controller or only one way?
Please help me, this is the only way that i can keep my mind occupied and make me happy.. stay safe guy... god bless
How can i program this micro-controller.. what should i need (don't say a 8051 programmer board) can i use arduino instead?
If it's an actual 80C51 chip, it's not even programmable; it may have an internal non-reprogrmmable memory, or it may be "romless" and designed to work with an external ROM. (actually, even if it has internal code, you can set a pin so that it runs from external memory instead.)
It can't be used from Arduino. AFAIK, there is no C++ compiler for 8051.
Before Arduino, 8051 systems with a BASIC interpreter in the ROM were common "home automation" computers. You'd use a relatively complex board with separate program memory. It's a little known fact that PJRC (of "Teensy" fame) sold an 8051 board as their first product... PJRC Store
thank you for your replay... ok let say this (8051) have to ability to interface an external eeprom ( like 24C64 or 24C08) because i have a those... how can i do it and i would i need.. a simple led blink can bring a joy to me..
There is/was a C compiler for the 8051 series of microcontroller, I think it was called Small Device C Compiler (SDCC). I don't know if it's still going but I thought it was based on the GNU C compiler so free!!
If you have EPROMs then hopefully you have an eraser for them as there is most likely be several "burn & learn" cycles on your journey.
If not, then you may be able to pick up a parallel flash chip that you can program & erase electrically using an Arduino.
Also have a look for an 8051 monitor ROM. PJRC had one. I think it was called PAULMON. There are other free ones out there. It will save you a lot of programming and erasing.
There are several 8051 emulators that run on a PC. No need for hardware!
With those, you can enter an assembly language program or machine code into "program memory" and watch it run, step through individual instructions, etc.
Well, exactly what chip do you have? Does it have a UV window?
if it's a real Intel 80C51 chip, then:
It's sort-of a collector's item.
it MIGHT have something useful in the ROM. Do you know the chip's history?
Nearly ANY modern 8051 chip will be easier to deal with (for example. the Atmel at89ls52 is SW compatible, but has flash, ISP programming, and I think is even programmable with the ArduioISP sketch. Silicon Labs has excellent modernized 8051-style processors (also with flash and ISP, and good development boards.) And there is recent interest in the cheap WCH55x processors (from the same company as the CH340 USB/Uart chip used on many arduino "clones.") (flash AND USB!)
The minimal system for a real 8051 with "random" ROM contents is about 4 chips - the 8051 itself, some sort of memory chip, an address latch, and a bit of logic. And you still need a way to load programs into the memory chip. (You could probably replace all that with a large-ish Atmel chip. Something like an ATmega32 might be able to emulate all the hardware. But what's the point in that?)
I have a few 8051 chips myself, and a couple of years ago designed a sort of minimal PCB for it:
However, I got disenchanted and never actually put one far enough together to get it to work. AVRs and ARMs are much more interesting!
(If you're in the US, I'd even mail you a PCB or two if you want. This particular board has "scrambled" Address lines to make the PCB layout work better, which doesn't matter if it has some sort of RAM that gets loaded programatically (via serial monitor or the eeprom chip on the back, for instance), but will be annoying if you want to program external EPROM or flash chips. And I don't know for sure whether the board works.)
thank you for your replay...no I'm not in USA actually and thank you for consider sending me this PCB...i am pretty sure i don't have the original intel chip.. i have seen several videos about uploading a hex file to the Atmega 89s51.. but they all program the chip through serial peripheral interface (SPI)... but sadly the intel datasheet, the 8051 chip doesn't have SPI.. although it have serial communication (RX and TX) i have no idea how o upload a hex file to it..
(I would insert links but for some reason the board is messing them up!)
I also did a quick search for a development board for you. Back in the day, well 1992-ish, PJRC had a simple 8051 development board (8051 Development Board Design). There's a good description of how it all works along with a schematic (8051 Development Board Design)
If you keep it simple, then you can ignore both of the 82C55 devices - each one gives you three 8-bit i/o ports - totalling 48 i/o pins. You still have port 1 on the 80C51 to play with.
You can replace the MAX232 circuitry (bottom left of the schematic) with a USB-TTL serial adapter and just use the TX, RX & GND signals.
There's a link in the menu on the left of the web page to PAULMON and the documentation for it. You will need to figure out how to program PAULMON into your EPROM. There seems to be a few Arduino based EPROM programmers out there if you don't have one.
The 6264 chip is an 8K RAM chip where your uploaded code goes. You will need that chip or an equivalent.