РадиоКот :: Программный тестер LPT порта - Мерилин
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >

Теги статьи: Добавить тег

Программный тестер LPT порта - Мерилин

Автор: Systemer
Опубликовано 26.03.2014
Создано при помощи КотоРед.

Предисловие

Дернул меня черт однажды заняться изваянием собственного программатора ПЗУ. Поскольку это не самая используемая вещь в моей лаборатории, решил его делать на LPT порт.

И после процессов составления схемы и собственно сборки, встал вопрос отладки. И хоть был у меня простой пробник (на обычных светодиодах) для LPT порта, но встал вопрос как его и программатор вставить в порт одновременно. Городить какие то огороды из самопальных развилок не хотелось. Вот и пришел к заключению, что нужен софтверный пробник.

Кроме того, такой пробник позволяет эмулировать любые сигналы от компьютера, что тоже не безинтересно. Вот все выше сказанное и сподвигло меня написать эту программку.

Почему Мэрилин? – Да она всем нравится.

О программе

Можно было написать программу, которая напрямую обращается к порту но, зачем изобретать велосипед. Быстро нашелся свободно распространяемый драйвер LPT порта – inpout32.dll пройдя по ссылке, вы найдете всю описуху, поэтому на этом не будем зацикливаться.

Пробный образец был выполнен за час, в Excel на VBA, и вполне себе работал. Но мне хотелось сразу всё доделать до конца, чтобы «забыть» этот вопрос, и я пересел за Delphi… Три дня как с куста ;(

Инсталляция

Не простая, а очень простая. Реестр не требуется. Распаковываем архив, получаем три файла:

  • Inpout32.dll – драйвер LPT порта. Он может находится, как в папке с программой так и в системной, для WinXP это system32.
  • Исполняемый файл – собственно сама программа.
  • И файл хелпа.

Инсталляция закончена. Можно ещё для удобства создать shortcut/ярлык для Programmator.exe и поместить его, например на рабочий стол.

Работа с программой

После запуска программы вы получите вот такое вот окно:

Программа после запуска «обнуляет» порты, что равносильно нажатию кнопки «Сброс». Пойдем снизу вверх:

Строка состояния

В стоке состояния отображается слева, состояние самой программы, а справа состояние драйвера LPT порта. Здесь могут быть различные сообщения, поэтому не забывайте обращать на нее внимание.

Кнопка «Сброс»

Она загружает в порты «Data» и «Control» ноль, тем самым их полностью деактивируя

Кнопка «Читать порты»

Как понятно из названия – считывает, заполняет индикатор и поля ввода полученной информацией. Тут надо заметить, что это касается портов только «Data» и «Control», порт «Status» является доступным только для чтения и работает в автономном режиме постоянного опроса с периодичностью примерно 41 msec, что составляет примерно 24 раза в секунду. И вряд ли стоит увеличивать это значение ввиду с инерционностью человеческого зрения, и ввиду технических задержек LCD дисплеев.

Кнопка «?»

Собственно хелп, он и в Африке хелп.

Кнопка «Закрыть»

Осуществляет выход из программы. Программа после выхода не обнуляет предустановленные данные на LPT, это сделано намеренно, чтоб в случае надобности Ваши установки остались после остановки программы.

Если же такого не нужно, ничто не мешает перед выходом нажать кнопку "Сброс".

Ручная установка портов

Нижнее окно ввода всегда не активно это связано с тем, что «Status» порт предназначен, как сказано было выше, только для чтения. Но в случае появления сигналов от внешнего устройства, они незамедлительно будут показаны, вне зависимости от пользователя, в виде десятичной цифры от 0 до 31.

Порты «Data»и «Control» всегда доступны для ввода и устанавливают выходные уровни незамедлительно, по мере ввода числа. Поэтому отсутствует подтверждающая кнопка. В случае ошибочного ввода, поле отменяет ввод и устанавливает «0» как в поле, так и на линиях порта. В поля всегда вписываются десятичные числа с учетом максимальных значений см.рисунок (в скобках).

Индикатор

Индикатор всегда показывает состояние линий портов, т.е. лог.0 (черный цвет) или лог.1 (другой цвет), по аналогии со светодиодами.

Щелчок мышью на индикаторе включает его или выключает, соответственно изменяются состояния линий порта и окон ввода к ним. В такой активности не принимает участие «Status» порт по выше перечисленным причинам.

Если возникают вопросы их можно задать через мой сайт, в программе, кликнув мышкой на Мерилин. Архив с программой по ссылке ниже.

Всем удачи и успехов.

Systemer.


Файлы:
Архив ZIP


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

22 7 4
2 0 0