I wrote earlier about the myriad uses for microcontrollers on model railroad layouts, and at that time recommended the pricey but easy to use BASIC Stamp by Parallax. It's a great learning system for those who are new to microcontrollers. However, for those who are a bit more comfortable with basic electronics and simple programming, I'd recommend taking a look at the Arduino, in particular their Diecimila board which costs about US$35.
Unlike the BASIC Stamp, which runs interpreted BASIC on the board, the Arduino uses a compiled language called Wiring which is very close to C/C++, so code runs much faster; the software and development environment are freely downloadable. In addition, there is 14K of flash memory on the board for your program, 14 digital I/O pins, 6 separate analog input pins, and serial communication. There's also an on-board USB jack for easy connection to a PC; the board gets its power from the USB jack, a battery, or an external power supply.