Схема предназначена для управления с помощью компьютера различными устройствами: бытовыми электроприборами, шаговыми двигателями, электромагнитами и т. д. Можно ее также использовать как основу для программирования микросхем памяти, микроконтроллеров или других разработок. Для подключения к внешним устройствам имеются 24 универсальных выхода, совместимых с TTL, состояние и режим работы каждого из них можно задать с помощью управляющей программы. Она может быть написана на любом языке, поддерживающем технологию COM (ActiveX), например Delphi, MS Visual C++, MS Visual Basic, JavaScript, VBS и т. д.
Основу схемы составляет микроконтроллер AT90S8515, он подключен к компьютеру через последовательный порт, а для управления внешними устройствами используются выводы трех свободных портов — А, В и С. Для упрощения схемы данные передаются только в одну сторону — от компьютера к микроконтроллеру, никаких подтверждений не возвращается, запросить состояния выводов компьютер тоже не может, хотя программа микроконтроллера поддерживает такой режим работы.
Рис. 6.14.
Рис. 6.15.
Уровни последовательного порта преобразуются в TTL с помощью схемы на транзисторе VT1. Если вы собираетесь использовать эту схему для управления устройствами, работающими с высоким напряжением, вместо транзистора следует использовать оптопару.
При работающей программе микроконтроллера на выводе
После включения питания все порты переводятся в третье состояние.
Комплект программ для этой конструкции находится на компакт диске, прилагаемом к книге.
Автор:
6.14. Таймер
1. Краткое описание и назначение прибора
Таймер представляет собой электронное устройство для включения и выключения в заданное время в соответствии с расписанием подключенных к нему электроприборов. Расписание набирается с помощью специальной программы на компьютере, а затем загружается в таймер через последовательный порт. В качестве корпуса лучше всего подходит удлинитель с несколькими розетками.
2. Схема конструкции показана на рис. 6.16.
Рис. 6.16.
3. Программа
Для компилирования программы использовался AVR macro assembler version 1.21 и файл 2313def.inc с описанием периферии микроконтроллера, оба они доступны на сайте Atmel. Программа может быть перенесена для работы с другими микроконтроллерами семейства AVR. Для этого замените файллпс, а константе ENDJDATAAREA присвойте новое значение в соответствии с размером доступной памяти.
Текст программы: