- Любовные романы
- Фантастика и фэнтези
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Магнитные карты и ПК - Патрик Гёлль
Шрифт:
Интервал:
Закладка:
Естественно, проверка с помощью «магнитного разоблачителя» позволит лучше, чем попытка повторного считывания, убедиться в эффективности проведенной операции. Для более специфических случаев, скажем стирания единственной дорожки, можно построить стирающее устройство, которое будет очень похоже на кодер: головка будет питаться постоянным током, полярность которого значения не имеет. В случае головок с сопротивлением 300–500 Ом прямое подключение к напряжению 5-12 В будет достаточным.
5. Приложения
ПОРТЫ ВВОДА-ВЫВОДА IBM РС-СОВМЕСТИМЫХ КОМПЬЮТЕРОВОписываемые программы были созданы так, чтобы они могли работать со считывающими устройствами и кодерами, подключенными к свободным портам ввода-вывода любого IBM PC-совместимого ПК.
Допустимо расширить состав портов ввода-вывода компьютера за счет установки дополнительной мультикарты в свободный слот. Таким образом можно добавить параллельный порт LPT2 к существующему LPT1, традиционно зарезервированному для принтера, или снабдить компьютер разъемом для подключения джойстика. Чтобы избежать конфликта адресов и прерываний с уже имеющимися портами, следует сконфигурировать переключатели карты с помощью прилагаемого описания. Если конфликты все же возникают, для их устранения потребуется использование диагностической утилиты MSD, которая позволит точно определить причину конфликтной ситуации и укажет, как исправить положение.
Возможно, некоторые читатели захотят пойти дальше по предложенному пути, например снабдить кодер оптическим датчиком или воспользоваться усилителем считывания, приведенным на рис. 3.15, в качестве детектора присутствия карты. Кое-кто попытается при наличии достаточно быстродействующего ПК построить двухдорожечное считывающее устройство или кодер, работающий с плотностью 210 bpi. В любом случае необходимо хорошее знание технических и программных характеристик используемых портов ввода-вывода.
В данном приложении мы собрали воедино информацию, касающуюся портов, которая часто «разбросана» по документации и, следовательно, труднодоступна. Такая информация поможет тем из наших читателей, кто захочет полностью разобраться в исходных текстах представленных программ.
На самом деле нам нечего скрывать, хотя надо напомнить, что программы и схемы, которыми читатели управляют, должны применяться исключительно в личных или экспериментальных целях. Любое использование программ в профессиональных или коммерческих целях в соответствии с законом требует согласия со стороны автора.
Несколько замаскированных «реперных точек» всегда позволят выявить возможные копии наших программ.
Порт джойстика
Данный разъем, предназначенный для игровой приставки, представлен на рис. 5.1. Он имеет 15 контактов, среди которых четыре входа логических сигналов (для подключения кнопок), четыре аналоговых входа (для потенциометров) и четыре линии питания +5 В.
Рис. 5.1. Назначение контактов разъема джойстика
Опрос этих восьми входов производится простым считыванием порта 201h (или 513 в десятичной системе), назначение его восьми разрядов представлено на рис. 5.2.
Рис. 5.2. Назначение разрядов порта 513
Аналоговые входы, взаимодействие с которыми осуществляется в соответствии с достаточно сложной процедурой, нам не пригодятся, поэтому клетки, соответствующие разрядам Ь0 — Ь3, зачеркнуты.
Разряды Ь4 — Ь7, напротив, напрямую сообщают о текущем состоянии каждого из четырех цифровых входов. Для выделения значения каждого разряда достаточно выполнить логическое умножение (функцию И, то есть AND) считанного байта на соответствующую маску, то есть на байт, значение которого равно весу данного разряда. Данная операция существует в любом языке программирования.
Параллельные порты
Хотя порт джойстика также можно назвать параллельным (потому что данные поступают в параллельном коде), этот термин традиционно закреплен за портами принтера, носящими общее название Centronics. Его часто называют также интерфейс Centronics.
На рис. 5.3 показано назначение выводов розеток типа DB25, используемых для данного интерфейса. Не следует путать их с вилками DB25 последовательных портов RS232, которые еще встречаются наряду с разъемами типа DB9 (СОМ1 — COM4).
Рис. 5.3. Выводы разъема интерфейса Centronics
Все ПК имеют первичный параллельный порт, названный LPT1, нередко можно встретить компьютеры, имеющие и второй порт — LPT2.
Вполне естественно подключать принтер к LPT1, а для других, менее часто используемых аксессуаров, воспользоваться LPT2. Информационный доступ процессора к каждому параллельному порту осуществляется через программно-доступные регистры, которые располагаются в адресном пространстве ввода-вывода. Каждому порту соответствуют 4 последовательных логических адреса: BASE, BASE+1, BASE+2, BASE+3. В табл. 5.1 представлены возможные значения адресов.
Таблица 5.1. Адреса доступа к параллельным портам
Регистры с адресами BASE+3 используются для управления режимами работы соответствующего порта. Их содержимое определяет конфигурацию и режимы работы порта, ими нельзя манипулировать без хорошего знания принципов функционирования параллельного интерфейса.
Для передачи данных используются регистры данных, которым соответствуют базовые адреса (BASE). Соответствие разрядов регистров данных и разрядов данных показано на рис. 5.4. Обычно регистры данных применяются для вывода информации из порта, то есть процессор может только записывать в них информацию.
Рис. 5.4. Назначение разрядов регистров данных
Регистр с адресом BASE+1, наоборот, доступен процессору только для чтения. Считанный байт несет так называемую информацию состояния порта (status). Назначение разрядов байта состояния представлено на рис. 5.5. Отметим, что три младших разряда (Ь0 — Ь2) не используются.
Рис. 5.5. Байт состояния параллельного порта
Регистры с адресами BASE+2, называемые регистрами управления, используются для управления выходными функциональными линиями интерфейса, включая линию , применяемую нашим кодером. На рис. 5.6 показано соответствие четырех младших разрядов регистра управляющим линиям параллельного порта. Четыре старших разряда (Ь4 — Ь7) не используются.
Рис 5.6. Назначение разрядов регистра управления
Обычно на IBM PC РС-совмсстимых компьютерах значение десятичного базового адреса порта LPT1 — 888 (то есть 378h в шестнадцатеричной системе). Для LPT2 он составляет 632 (или 278h в шестнадцатеричной системе). Можно встретить компьютеры, в которых LPT1 соответствует адрес 956 (3BCh).
При установке мультикарты целесообразно сконфигурировать ее на «настоящий» LPT2, то есть с базовым адресом равным 632.
Так, в табл. 5.2 приведены только наиболее часто встречаемые адреса (BASE — BASE+3) портов LPT 1 и LPT2, те самые, к которым мы обращались при разработке программ.
Таблица 5.2. Адреса портов LРТ1 и LPT2
ФАЙЛЫ, СОДЕРЖАЩИЕСЯ НА САЙТЕПомимо трех файлов с расширением .CAR, приведенных в качестве образцов и позволяющих начать работу, еще не изготовив ни одной печатной платы, на сайте www.dmk.ru есть следующее программное обеспечение, которое может понадобиться при чтении книги:
CARMAG.BAS
CARTOCRD.BAS
CRDTOCAR.BAS
CREMAG.BAS
DEC5.BAS
DEC7.BAS
INVERT.BAS
JUSTCAR.BAS
LECTISO1.BAS
LECTISO2.BAS
LECTISO3.BAS
LRCMAG.BAS
LUHN.BAS
LUHNCHK.BAS
PARITY.BAS
VERMAG.BAS
TEST5.CAR
TEST7.CAR
VISA.CAR
CARMAG.EXE
CARTOCRD.EXE
CRDTOCAR.EXE
CREMAG.EXE
DEC5.EXE
DEC7.EXE
INVERT.EXE
JUSTCAR.EXE
LECT210.EXE
LECT75.EXE
LECTISOl.EXE
LECTISO2.EXE
LECTISO3.EXE
LRCMAG.EXE
LUHN.EXE
LUHNCHK.EXE
MAGLPT1.EXE
MAGWRITE.EXE
MAKELPT1.EXE
MAKESYNC.EXE
PARUTY.EXE
VERMAG.EXE
LECT210.PAS
LECT75.PAS
MAGLPT1.PAS
MAGWRITE.PAS
MAKELPT1.PAS