A few years ago, I inherited dozens of tubes of 8051 MCUs, specifically the Atmel AT89C51ED2-IM. I know they're old - and clearly tons of much better MCUs exist - but they'd be useful. (Plus, it just feels wrong discarding 100+ good chips.)
Any suggestions what Keil (or other) product to use, which programming gizmo, and possibly a dev board? I'd like to spend as little as possible as this is hobby stuff. 8051 assembler or C is fine.
So far, I've found these but am uncertain if they'll work:
I understand that Arduino's can be used for the programmer / loader, but apparently the "C" type Atmel's I have need a more sophisticated programming device than the "S" types (or is that incorrect?)
Any assistance is greatly appreciated. thanks!
Seems like a pretty capable chip. 64k flash, EEPROM, and x2 mode (6clocks/cycle, rather than 12.) Arrived at Atmel via one of their acquisitions. Maybe start here: https://sourceforge.net/projects/mcu8051ide/ (although I don't see 89c52ed as one of the explicitly supported chips.) (Note that wherever these came from, they're among the 8051 derivatives where the letters AFTER "89C51" are relevant to identifying the individual chip features. Ie, these are NOT direct replacements for an Intel 80C51.)
The usual recommendation for cheap development is SDCC (Small Device C Compiler) or assembly language.
This device looks programmable via UART, but it IS different than the ISP protocols used for 89s52. Theoretically, it's easier. I don't know if there are tools that help, though.
Bill, thanks for the informative reply.
yes, it does indeed seem capable - for driving simple displays, keypad input, motor/solenoid, PID, etc... I can think of tons of applications. (BTW, I still use Parallax's SX chip, which they obsoleted years ago. It's fast still and makes for a good hardware controller. Besides, I have a few hundred :)
RE the AT89C51 in question:
WestfW said:This device looks programmable via UART, but it IS different than the ISP protocols used for 89s52. Theoretically, it's easier.
I really need to understand that. Where did you find the information?
thanks again,
- Howard
From the 89c51ed2 datasheet, section 24.6 "Bootloader architecture."(fixed) https://ww1.microchip.com/downloads/en/DeviceDoc/doc4235.pdf
>However, I've been reading that the chip version "C" (AT89C51) I have cannot be programmed via the UART, >whereas the at least the "S" types can be (AT89S52, etc.)
An old AT89C51 cannot be programmed via serial interface, but in your initial question you mentioned the AT89C51ED2. Bill already gave you the link to the datasheet. In chapter 24.9.1 they mention the FLIP utility and I already gave you the download link in my first reply of this thread. On this page you also see that the AT89C51ED2 is on the compatibility list of FLIP.