В Proteus 7.1 появился для симуляции цифровой потенциометр MCP41010. Хоть и в даташите на него сказано, что он работатет с через SPI, но по факту оказалось, что есть отличия. Причем такие, что от PIC16F877 с аппаратным SPI этот потенциометр (пока) отказался работать. Для записи в него нужно выдать посылку 16 импульсов, на первом байте команда, на втором - данные. Т.е. нужно считать импульсы SCK. А это уже не совсем аппаратный SPI.Поэтому оказалось проще в PIC16F84 сформировать нужную временную диаграмму.
На скрине видно, как на осциллографе выводятся сигналы -CS SCK SI и сигнал с движка цифрового потенциометра. Кнопки прицеплены для ручного ввода данных. На нижней осциллограмме показан сигнал суммирования бита с накоплением - получается пила. Аналогично можно сделать сигнал любой формы. Фактически он работает как ЦАП, только быстродействие невелико из-за длинной 2х-байтовой передачи. Зато аппаратная простота налицо...
-- Прилагается рисунок: --