I’ve been meaning to dive a bit deeper into Intel MCS-51/8051 devices and programming ever since I built a Electronic Clock Kit powered by an AT89C2051.
Reading the AT89C2051 datasheet, its seems programming is actually a quite straight-forward process - the only complication being the need for a 12V programming voltage in addition to standard logic high of ~5V.
So while I could go out and buy a programmer, I found the idea of building my own is very attractive for two reasons:
- it is a bit of a short cut to building familiarity with the chip and datasheet
- I can make sure it supports my host platform of choice - MacOSX
I borrowed some ides from similar projects, the result being a programmer on an Arduino Uno shield, with discrete charge pump for the 0V-5V-12V required for the various programming modes, and compatible with the Python-based, open source at89overlord programming software written by piotrb5e3.