Микроконтроллерный "конструктор"
Автор ARV   
23.07.2007 г.

Данная схема была задумана как средство для изучения и практического освоения различных программно реализуемых интерфейсов (типа 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. Исходные тексты модулей очень подробно прокомменированы, что должно свести к минимуму сложности с разработкой собственных модулей на их основе.

 


Добавить в любимые (3) | Просмотров: 73990

  Коментарии (4)
 1 Написал(а) Анатолий, в 16:33 26.04.2009
Отлично,диномично очень практично. :)
 2 Написал(а) igor, в 01:37 17.05.2009
:) хорошо!
 3 Написал(а) Магомед, в 21:28 15.07.2010
Нет слов :)
 4 Написал(а) Магомед, в 06:58 23.01.2011
Отличная схема :)

Только зарегистрированные пользователи могут оставлять коментарии.
Пожалуйста зарегистрируйтесь или войдите в ваш аккаунт.