Наиболее просто организуется цифро-аналоговое преобразование в том случае, если микроконтроллер имеет встроенную функцию широтно-импульсного преобразования (например, AT90S8515 фирмы Atmel или 87С51GB фирмы Intel). Если микроконтроллер не имеет выхода ЦАП и не требуется высокое быстродействие, цифро-аналоговое преобразование может быть очень просто осуществлено с помощью широтно-импульсной модуляции (ШИМ). Схема ЦАП с ШИМ приведена на рис. 12.9а.

Рис. 12.9. ЦАП с широтно-импульсной модуляцией
Выход ШИМ управляет ключом S. В зависимости от заданной разрядности преобразования (для контроллера AT90S8515 возможны режимы 8, 9 и 10 бит) контроллер с помощью своего таймера/счетчика формирует последовательность импульсов, относительная длительность которых g =tи/ Т определяется соотношением

где N – разрядность преобразования, а D – преобразуемый код. Фильтр нижних частот сглаживает импульсы, выделяя среднее значение напряжения. В результате выходное напряжение преобразователя

Рассмотренная схема обеспечивает почти идеальную линейность преобразования, не содержит прецизионных элементов (за исключением источника опорного напряжения). Основной ее недостаток – низкое быстродействие.