В простейших микроконтроллерах семейства PIC16 управление внешними электронными схемами со стороны микроконтроллера МК возможно только через его встроенные порты. Для PIC16F84 это порты А и В. В МК с более сложной структурой электрические сигналы управления могут формироваться на выходах ШИМ - модуля, модулей USART, SSP и других. Программное воспроизведение сигналов сложной формы предполагает передачу на внешний ЦАП кодов мгновенных значений воспроизводимого сигнала. В большинстве случаев при управлении внешними устройствами приходится переключать режимы его работы, в частности, – масштаб усиления в усилительных узлах, частоту генерации в RC-генераторах, частоту среза в активных фильтрах и т.п. Для реализации этих функций нет необходимости в преобразовании цифрового кода в аналоговый сигнал, а сами цифровые сигналы, снимаемые с выходов портов МК, используются непосредственно для управления аналоговыми коммутаторами, дешифраторами, дискретными элементами (например, триггерами). Очевидно, что выполнение тех или иных управляющих действий должно быть организовано во времени по задаваемому алгоритму. Требуемые временные интервалы могут задаваться как стандартными методами формирования временных задержек (например, с помощью счетчиков, организованных программно), а также путем использования программируемых таймеров. В PIC- контроллерах могут присутствовать таймеры TMR0, TMR1, TMR2. В PIC16F84 – только один таймер, TMR0.