在单片机应用中,常需要通过输出模拟量来对外部进行控制,但增加D/A转换芯片不仅需要占用I/O口资源,同时也会使成本增加。下图提供一种通过单片机的定时器中断来用软件的方法产生PWM,并经过滤波与跟随电路产生准确的模拟量输出。
该电路只用单片机的一个I/O脚实现D/A转换功能。其输出的模拟量电压Vout=VDD*D1/(D1+D2)。该输出电压带有纹波,当RC值足够大时,该纹波值几乎为零,可忽略不计。D1与D2可通过单片机内部的定时器中断来准确产生。该模拟量从输出PWM到稳定状态,需要一定的时间,若要缩短达到稳定的时间,可以减小R1和C1的值,但纹波会增大,这在设计时需要注意。