How can I control brightness of a CFL with a microcontroller?
Not every CFL is dimmable, especially energy saving/eco ones are not dimmable. HOWEVER it You are lucky enough to own those dimmable ones you Can do it with simple TRAIC diode circuit. You have to detect zero passing point of Your power network, and send it to one of Your MCU ports (normal mode, no ADC or stuff like that). Than you have to calculate (on sheet of paper) how much time does it take for your AC power network to make full sin wave (from 0 to 0 point), in europe it is 20ms as because network is 50Hz, in 60hz countries this value would be more... exotic of course (16.(6)ms). 

So if You know when value passes point 0 (0 Volts) you can use timer to measure time which would be some % of that 20ms, and after that time you have to turn on TRIAC. 

TRIAC will be "open" until AC power network passes point 0, than it shuts, You start measuring time and so on...

This circuit might help You, but if You type "MCU TRIAC dimmer" in Google you'll find plenty of such circuits.