Остается программирование, но это уже дело техники. Привожу свой пример опроса состояния data и ststus портов. Программу назвал lpt_read.c
Каждый порт lpt имеет 8-битный адрес. Каждый пин порта имеет свою ячеку этого адреса. На рисунке сверху, это ячека обозначена клеткой (s7, s6 и т.д.). Для адресации data-порта используются все 8 ячеек, а для адресации status - только первые 5. Разберем пример, если все пины data-порта включены, т.е. на них напряжение 5 вольт, то двоичный адрес data-порта равен - 11111111. Переводим его в десятичное число - 255. Значит, если опросить состояние data-порта, то он выдаст число 255. Теперь, допустим нужно отключить пин d0, т.е. в его ячейку памяти нужно поместить 0, а все остальные пины не трогать. Для этого двоичный адрес порта должен выглядеть так 11111110. Переводим это число в двоичное, получим - 254. Остается только передать data-порту значение 254.
Но прежде чем программировать, нужно разобраться с адресами портов lpt. Если на пине присутствует напряжение 5 вольт, то в адрес этого пина занесена логическая 1. Если нет напряжения, то логический 0. Напоминаю, что система из единиц и нолей называется двоичной. Здесь все просто. Однако, для управлением lpt используется десятичная система, что в принципе несильно усложняет использование lpt, главное разобраться как это происходит.
Подключение охранного устройства к lpt, например объемника, осуществляется следующим образом: первый дата-провод датчика движения подсоединяется к одному из пинов ststus-порта, а второй к одному из пинов ground. Остается только написать программу следящей за состоянием пина, к которому присоединен датчик и при его срабатывании производить задуманные действия.
И так, чуть ниже приведена схема lpt-порта. Здесь видно что все пины (контакты) разделены на четыре группы, называемых портами. Где Data-порт - это вывод (запись) данных. Status-порт - ввод (чтение) данных. Ground - это земля. Порт control также можно использовать для вывода данных.
В возможности lpt входит чтение и запись данных с пинов порта. Эту возможность я и хочу реализовать.
В силу ограниченных средств, решил собрать простенькую охранную систему своего дома с использованием параллельного порта (lpt).
домашний сервер для удобства, автоматизации и управления различными системами
Комментариев нет:
Отправить комментарий