Периферийные устройства, которые мы подключаем к РС, превращают его в действительно
универсальный инструмент. Наиболее просто это осуществляется через параллельные порты, которые содержат практически
все компьютеры. Программные и аппаратные средства IBM PC поддерживают три параллельных порта (LPT1, LPT2 и LPT3).
Каждый порт ввода-вывода использует четыре адреса. Адреса ввода-вывода хранят байт
состояния порта, управляющий байт и байт данных (четвертый байт резервный и не используется). Если посмотреть на
сайте www.elfa.se описание микросхем 16С451 и 16С552 поддержки параллельного интерфейса типа Centronix ф. Texas
Instruments, то можно понять, что единого стандарта параллельного ввода-вывода нет. Временные диаграммы сигналов
параллельного интерфейса у микросхем различны.
Сначала возникает опасение, что для работы с параллельным портом без знания
программирования на аппаратном уровне не обойтись. Однако реально все гораздо проще. Точное выполнение описанного
взаимодействия сигналов не обязательно, это отклик внешнего устройства для воздействия на управляющую программу.
Для обеспечения возможности работы с параллельным портом в BIOS компьютера необходимо
проверить или установить согласно табл. 1 адрес порта LPT1:
Onboard Parallel Port (378/IRQ7), Parallel Port Mode (SPP или EPP), IRQ7 (LPT1)
(Enabled).
В общем случае это обеспечит работу принтера или разрабатываемых самостоятельно
устройств.
Вывод управляющих сигналов через регистр управления необходимо выполнять согласно
табл. 2 по адресу 37А. Из этой таблицы видно, что на выходе порта LPT не та информация, что подается командой OUT,
это необходимо учитывать при программировании.
Чтение информации из подключенного устройства выполняется по адресу регистра статуса
379 согласно табл. 3 . Вывод данных, а также чтение, при согласованных уровнях сигналов и Parallel Port Mode
(EPP - Enhanced Parallel Port) в BIOS, выполняется по адресу порта 378 согласно табл.4, учитывая, что корпус (GND)
выведен на контакты 18…25 разъема LPT (25-контактного).
Для программирования используем язык QBASIC, файлы qbasic.exe и qbasic.hlp
операционной системы MS DOS 6.22. Оба файла должны быть в одной папке. После запуска QBASIC необходимо в меню
выбрать группу Параметры, войти в Путь справки и ввести полное имя пути для возможности поддержки справки. Если у
Вас MS DOS на установочном диске, то файл справки хранится в сжатом виде. В командной строке наберите и выполните,
согласно примера:
EXPAND A:\qbasic.hl_ A:\qbasic.hlp
и файл преобразуется в нормальный вид.
Запуск, сохранение, редактирование программ и другие операции выполняются из меню.
Word читает DOS-файлы программ с расширением .bas, и их можно распечатать.
Под управлением Windows XP из командной строки, FAR или Total Commander QBASIC не
обеспечивает вывод данных на LPT (прямой доступ запрещен), хотя остальные части программы будут работать. Решает
проблему загрузочная дискета, обеспечивающая работу QBASIC минуя Windows. В Windows XP необходимо создать и
подкорректировать загрузочную дискету, поскольку проверка версии операционной системы командой ver показывает
Windows Millenium. Можно использовать загрузочный диск под MS DOS 6.22, скорость выполнения операций будет
идентична, но не поддерживается жесткий диск (FAT32).
На загрузочном диске должны размещаться минимум следующие папки и файлы:
- TEMP*;
- NC*;
- autoexec.bat*;
- command.com*;
- config.sys*;
- display.sys;
- ega3.cpi;
- keyb.com;
- mode.com*;
- mouse.com*;
- smartdrv.exe*.
Символом "*" помечены строки, одинаковые для MS DOS 6.22, остальные должны быть исключены
и добавлены:
- country.sys;
- keyrus2.com.
NC - это Norton Commander версии 5.0 (русифицированный). Там же должны быть размещены
файлы qbasic.exe и qbasic.hlp.
Файл autoexec.bat:
smartdrv.exe*
mode con codepage prepare=((866) ega3.cpi)
mode con codepage select=866
keyb ru,,keybrd2.sys
PATH A:\;A:\NC*
SET TEMP=A:\TEMP*
mouse >NUL*
NC\nc.exe*
В MS DOS 6.22 все, что без звездочки, исключается и добавляется:
keyrus2.com /FAST >NUL
Файл config.sys:
device=display.sys con=(ega,,3)
device=A:\smartdrv.exe /double-buffer*
dos=high,umb*
files=80*
В MS DOS 6.22 строки без звездочки исключаются и добавляется:
country=007,866, A:\country.sys
В Windows XP включения или пометки на кириллице в программах QBASIC читаются, но не
набираются.
В Nero Express можно создать загрузочный CD, но только с предварительно созданной
загрузочной дискеты. В BIOS в любом случае необходимо настроить источник загрузки операционной системы:
First Boot Device (Floppy или CDROM).
Любая литература по языку BASIC, даже версии 1.0, применима для написания
программ и в QBASIC. Примеры реализации устройства и программы приведен в [3].
Литература
1. Персональный компьютер в играх и задачах / Автор пред. И.М.Макаров. - М.:Наука, 1988
. - 192 с., ил. - (Серия "Кибернетика - неограниченные возможности
и возможные ограничения" ).
2. Аладъев В.З., Шиленко В.Ф.Профессиональный персональный компьютер ИСКРА 1030.
Архитектура и программное обеспечение. Справочное руководство. - Киев:Украинская Советская Энциклопедия, 1990.- 484
с. ил.14.
3. Мельник В. Программатор АТ89С2051 для IBM PC. - Радиомир, 2006, №4, С20.