The MCS51 (8051, 8031) Target for XPad includes:

Hardware configuration editor: specify how you want to use the pins of your MCS51-device
(customizable to match the 8051-compatible device of your choice)
Low level control of SFR-registers
Low level IO library (discretes)
Serial RS232 library
I2C library
1-wire (Dallas) library
LCD-control library (6 pin interface; 4bit databus)
Timer library
Functional simulator allowing you to monitor and control all IO-pins
Easy to add built-in libraries yourself!
High level structured types
No-hassle/easy interrupt-use
Optimizing compiler generating fully commented assembly
Custom multi-tasking executive for 8051 to drive STDs with small memory-footprint

 Why a 8051 device, like the Atmel AT89C2051?

The 8051 devices, based on the Intel MCS51 architecture have been around since 1976! It is without a doubt the most common microcontroller used in the history of embedded systems. And for good reasons too! Not only was it one of the first microcontrollers out there, despite its age it is still a very versatile architecture, capable of dealing efficiently with many common embedded control problem. New microcontrollers based on the MCS51 architecture seem to appear on the market every so many months, carrying the latest pheripherals and interfaces, often including an optimized 8051-core, which remains software-compatible with the original architecture. The number of online resources, tools, application notes and example code seem endless.

Take for example the Atmel AT89CX051. This device has been around for a number of years now, but is still very popular. It is a small 20pin device; one of the first small 8051-compatibles that stores program-code in flash. It also has the 2 timers and the serial UART, as well as the 2 external interrupt pins of the original 8051. Furthermore, it includes an analog comparator and requires little external parts to operate. A double speed version, executing machine cycles in only 6 clock-cycles, instead of the usual 12 clock-cycles is available as well.

Even though the 8051 has a cisc-architecture, most instructions execute in only 1 or 2 machine cycles and since the devices run at sufficient speed, allowing you to "bit-bang" additional functions in software, like:
I2C (i.e. for serial communication with additional EEPROM)
1 Wire protocols like for the Dallaschips
asynchronous RS232 etc.

 The screenshot below shows the configuration editor for the Atmel AT89CX051 MCU. You can assign  protocols to each I/O pin as well as the clock-configuration. After assiging protocols to the pins, the involved driver-libraries and driver-handles (Bus-variables) to access the pins are automatically available in XPad's editors. When you change the clock-speed here, the compiler will automatically re-calculate the right delays to comply to the specification of any supported protocols.