Данная схема была задумана как средство для изучения и практического освоения различных программно реализуемых интерфейсов (типа SPI и I2C), а так же микросхем с этими интерфейсами. В процессе работы выяснилось, что заложенных возможностей с лихвой хватает и на многие практические применения. Мне кажется, эта схема будет неплохим подспорьем для начинающих осваивать микроконтроллеры семейства MCS-51.
Хотя проект ориентирован на применение микроконтроллеров AT89Cx051, без малейших изменений в схеме, только за счет изменения программы, конструктор может успешно использоваться для освоения микроконтроллеров AT90S1200 и AT90S2313, а так же пришедшего им на сменуATtiny2313.
Принципиальная схема приведена ниже (не пугайтесьее качества – щелкните по ней, чтобы открыть ее в нормлаьном размере в отдельном окне).
Схема позволяет сделать многофункциональные часы, различные автоматы световых эффектов, программаторы микросхем с последовательным интерфейсом, термомтер, таймер, программируемый управляющий контроллер, регулятор температуры, охранную сигнализацию, музыкальные автоматы, тестеры различных законченных устройств типа купюроприемников и многое,многое иное.
Многие возможности схемы реализуются аппаратно, для чего применяются отдельные микросхемы, которые можно сразу не устанавливать,а предусмотреть для них панельки или разъемы – тогда получится настоящий конструктор. Это DD1 – память I2C, DD3 – память с интерфейсом1-Wire (или любое трехвыводное устройство с этим интерфейсом), DD4 – часы реального времени DS1337, DD6 – термометр-термостат с интерфейсом1-Wire, например, DS1820.
Другие возможности реализованы программно – это поддержка интерфейсов SPI, I2C, 1-Wire, а для третьих предусмотрена возможность простой реализации, как например UART. Схема имеет 6-разрядный индикатор из семисегментных светодиодных индикаторов, микросхему DD8 отдельного WatchDog-таймера (что по многим причинам лучше встроенного в контроллер), предусматривает подключение клавиатуры с числом кнопок до семи (контакты Х1…Х7, вместо перемычки S1так же можно использовать кнопку), а так же имеет 7 свободных портов ввода-вывода для сопряжения с внешними устройствами (контакты X8…X18). Часть этих портов может быть использована для стандартных интерфейсов.
Примененные индикаторы – фирмы KINGBRIGHT BA56-11SRWA. Типы остальных элементов некритичны, номиналы указаны на схеме. Кварцевый резонатор определяется в основном задачами, решаемыми программно, и может быть до 24 МГц включительно.
Для конструктора разработана печатная плата, двусторонняя. Рисунки сторон, а так же эскиз размещения элементов доступны для скачивания из файлового архива (все рисунки черно-белые,600 dpi TIFF, масштаб 1:1). При повторении платы следует обращать внимание на переходы дорожек с одной сторны на другую – часть из них находится под индикаторами, а часть использует в качестве перемычек выводы микросхем. Если некоторые микросхемы решено не устанавливать, следует пропаять задействованные переходы из-подих выводов.
Так же доступны исходные тексты программных модулей на ассемблере, при помощи которых реализуются программно перечисленные ранее интерфейсы: SPI, I2C и 1-Wire, а так же базовый модуль, реализующий динамическую индикацию и опрос клавиатуры. В базовый модуль в качестве практического примера включены необходимые процедуры, при помощи которых реализуется функция цифрового термомтера на DS1820. Исходные тексты модулей очень подробно прокомменированы, что должно свести к минимуму сложности с разработкой собственных модулей на их основе.