I was looking at using PWM for low speed digital to analog conversion.
Since real life is usually a little different than what the math says, I wanted to make a test circuit.
I don't have a function generator, but I do have a pic16f88 and an lcd.

Pressing the rotary encoder switches from period to duty cycle. Pressing the other button cycles through pic clock speed (0.5 Mhz, 1Mhz, 2Mhz, 4Mhz, 8Mhz) This will give you from about 30Hz to maybe 2mhz.
I tested the low end by driving a servo, and I tested in the 10-20Khz range for DAC.
The LCD is pretty slow, I'd like to speed up the responsiveness. Here's the code and schematic: