Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Параллельный интерфейс




Введение.

Стандартные интерфейсы IBM компьютера Сentronics и RS232B.

Лабораторная работа №1.

 

Цель работы:

1. Ознакомиться с со стандартными интерфейсами IBM компьютера Сentronics и RS232B.

2. Создать программу на языке Паскаль, управляющую учебным стендом и принтером по стандарту Centronics.

 

Присоединение внешних устройств к компьютеру типа IBM возможно:

§ через стандартные параллельный или последовательный (серийный) интерфейсы (порты),

§ через адаптер, непосредственно подсоединенный к системной шине ЭМВ через разъем (слот) на материнской плате.

В этой лабораторной работе рассматриваются стандартные интерфейсы IBM компьютера.

 

Параллельные интерфейсы отличаются высокой скоростью обмена, но коротким кабелем и низкой помехозащищенностью. Через параллельный интерфейс, имеющий 25-штырько-вый разъем, к компьютеру обычно подсоединен принтер. Этот стандарт называется Centronics, а его отечественный аналог - ИРПР-М. Ниже приведено распределение сигналов по контактам в IBM-комьютере.

 

Контакт Сигнал Направление сигнала
  strob Строб ист -> пр
  date 1 Данные ист -> пр
... …… Данные ист -> пр
... …… Данные ист -> пр
  date8 Данные ист -> пр
  acknlg Подтверждение пр -> ист
  busy Занят пр -> ист
  pe конец бумаги пр -> ист
  select out готовность приемника пр -> ист
  auto feed авт. перевод бумаги ист-> пр
  error Ошибка пр -> ист
  init Сброс ист ->пр
  select in Выбор ист ->пр
19-25 ground Земля  

 

Здесь подчеркнутыми показаны инвертированные сигналы (напр. error), т.е. сигнал активен, когда на линии низкое напряжение (логический "ноль"). Уровни напряжения сигнала соответствуют стандарту ТТЛ-схем: логическая "1" = 2.4-5.25 В, логический "0" = 0-0.5 В.

Процесс установления связи двух устройств в стандарте Centronics происходит примерно так.

1. Компьютер (источник) проверяет нет ли сигнала busy наконтакте 11, выставляет данные на контактах 2-9 и подает сигнал strob на контакт 1.

2. Принтер (приемник) по появлению сигнала строб выставляет сигнал busy. После обработки информации он снимает busy и подтверждает прием данных сигналом acknlg.

Эпюры напряжений при работе интерфейса Centronics.

 

Остальные сигналы менее значимы и могут не использоваться. В случае конца бумаги (pe) или ошибки (error) принтер все равно поднимет сигнал на линии busy. Инициализация принтера может быть произведена не только управляющим сигналом init, но и программно.

За один раз передается сразу 8-бит информации (байт), что позволяет передать один из 255 символов таблицы ASCII, которая обычно "прошита" в ПЗУ принтера.

При автоматизации физического эксперимента параллельный интерфейс может использоваться для ввода/вывода цифровой информации по 12 линиям от компьютера (данные: 8 бит + управление: 4 бита) и по 4 линиям к компьютеру (состояние 4 бита). Каждая выходная линия, при соответствующем согласовании, может быть использована для управления состоянием аппаратуры типа "включено-выключено": за­пуск генератора, опускание пера, открытие шторки и т.д.

 
 

Простейший цифро-аналоговый преобразователь (ЦАП), показанный на рис.1, может использоваться для вывода аналоговой информации, например на самописец, осциллограф, динамик и др. Входные линии параллельного порта можно использовать для ввода состояния клавиш, наличия высокого/низкого уровня сигнала и т.д. в ваших приборах. Например, можно программно легко реализовать простейший счетчик импульсов или частотомер. Если использовать генератор, у которого частота импульсов зависит от емкости (или сопротивления), то можно на его базе изготовить R или C измеритель.

Рис. 1 Простейший ЦАП на основе регистра (параллельного порта).

 

Обратите внимание на тот факт, что некоторые линии управления и состояние - инвертированы.

Для программирования данного интерфейса служат три регистра по 8 бит каждый с шестнадцатеричным адресами (в адресном пространстве внешних устройств) для первого параллельного интерфейса: 378h - данные, 379h - состояние, 37Ah - управление. Т.е. параллельный порт занимает в адресном пространстве три байта.

Ниже приведено назначение битов регистров.

Состояние (379) Управление (37A)
  Busy (1- занят) 7-5 не используется
  Acknlg (0- подтверждение приема)   Irq (0-прерывание запрещено)
  Pe (1- нет бумаги)   slct in (0-отмена выбора)
  Slct out (1- выбран)   Init (0- инициализация)
  Error (0- ошибка)   auto feed (автоперевод строки)
2-0 не используется   strob (1- вывод байта)

 

В системе MS-DOS устройствам параллельных портов ввода-вывода присваивается логические имена LPT1 (PRN), LPT2 и т.д. Работу с ними обеспечивает прерывание BIOS (basic input/output system) int 17h, которое имеет 3 функции:

0 - символ вывода на печать, 1 - инициализация порта, 2- получение слова состояния. При этом номер функции заносится в регистр процессора AH, код передаваемого символа в AL, а номер порта (0-2) в DX. После вызова прерывания int 17 в AX окажется слово состояния. В Турбо Паскале в библиотеке DOS есть тип Registers и процедура Intr(n,registers), которые могут использоваться для работы с параллельным портом например так:

function StatPrint: byte; {возвращает слово состояние}

var Reg: Registers;

begin

Reg.Ah:=2; Reg.Dx:=0; Intr($17, Reg);

end;

 




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 597; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.