Back in February, [ProtoStack] posted a pretty good tutorial on how to do Analogue to Digital Conversion on an Atmega168. Based on a bread board, the tutorial also shows the often forgotten low pass filter on the AVCC lines to ensure an extra stable reference and an analog input connection to a simple voltage divider as a study point.
Moving on into the micro controller, the registers you’re going to need to twiddle are laid out and explained in detail. Finally you’re shown how to put it all together in a software project that outputs the analog reading onto a standard character LCD.
But hold on! There is more. Just released is a follow up to that tutorial which adds on Analogue to Digital Conversion Interrupts on an Atmega168A. So if you’re sitting there looking at an Arduino and want to know more about what’s going on under the hood, these are a good place to start.