_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Дипломные работы > Компьютерная Томография

Компьютерная Томография

Страница: 3/10

 

 

     При обнаружении соответствующего порта BIOS записывает адрес его регистра данных, начиная с адреса 0:408h, и присваивает ему имя LPTn (n может принимать значения от 1 до 3).

     Вообще говоря, BIOS понимает также и имя LPT4, т.е. может работать с 4-мя параллельными портами, однако, для этого программист должен сам позаботиться о том, чтобы соответствующий адрес регистра данных был записан в определенную для LPT4 область  -  по адресу 0:410h.

     Рассмотрим подробнее регистры параллельного порта.

     Как было сказано выше, параллельный порт состоит из трех регистров: регистр данных, регистр состояния и регистр управления.

     Регистр данных параллельного порта представляет собой 8-ми разрядный регистр, доступный по чтению и записи и    предназначен для записи и чтения данных длиной в байт. В режиме совместимости запись данных приводит к их немедленной передаче в линию. Передача данных в двунаправленном режиме несколько сложнее и управляется путем записи бита направления в регистр управления. Только при выполнении записи (бит направления равен 0) байт передается в линию, в противном случае запись значения в регистр производится, но в линию байт не передается. Операция чтения регистра данных приводит к чтению последнего записанного значения в режиме совместимости и при передаче в двунаправленном режиме. При выполнении чтения при приеме (бит направления равен 1) в двунаправленном режиме из регистра считывается значение линии, т. е. принимаемого байта. Формат регистра приведен на рис 3.1.

 

 

 

 

 

     7

     6

      5

     4

     3

     2 

     1

     0

    D7

    D6 

     D5

    D4

    D3

    D2

    D1

    D0

  

      Рис. 3.1 Формат регистра данных параллельного порта.

 

    Биты D7-D0 определяют значения передаваемого или считываемого байта информации. Битам регистра назначены соответственно разъемы от 9 до 2 в стандартном 25-ти штырьковом разъеме.

     Данный регистр используется как в режиме совместимости, так и в расширенном режиме.

     В режиме совместимости запись в регистр некоторого значения приводит к его немедленной передаче в линию. Операция считывания из регистра приводит к считыванию самого последнего записанного значения.

     Для двунаправленного параллельного порта в расширенном режиме операция записи в регистр приводит к передаче значения в линию только, если в регистре управления бит DB=0, т.е. установлен режим записи. В противном случае происходит только сохранение записанного байта. Чтение из регистра данных также управляется значением бита DB в регистре управления. Если DB=0 (установлен режим записи), то считывается последнее записанное значение. Если DB=1 (режим чтения),

то считывается значение из линии.

     Регистр состояния параллельного порта представляет собой 8-ти разрядный регистр, доступный только по чтению. Он служит для получения информации о работе устройства. Считываемое из регистра значение позволяет определить уровень сигнала на некоторых линиях, управляемых подключенным устройством. На рис.3.2 приведен формат регистра. Состояния и описаны значения битов регистра описаны ниже.

 

 

     7

     6

      5

     4

     3

     2 

     1

     0

 BUSY

   ASC  

     PE

   SEL

   ERR

  IRQS

         резерв

 

Рис. 3.2  Формат регистра состояния параллельного порта.

 

 

     BUSY определяет инвертированное состояние линии занято: 0 - устройство занято;    1 - устройство свободно;

Сигнал "занято" может формироваться из-за ошибки, а также в    том случае, когда принтер отключен или отсутствует.       

     ASC  показывает инвертированное состояние готовности к приему очередного байта:    0 - устройство готово к приему;    1 - устройство не готово к приему;

     PE   показывает текущий сигнал от принтера о состоянии бумаги. Бит устанавливается в 1, когда принтер вырабатывает сигнал конец бумаги (Paper End).

     SEL  указывает текущее состояние сигнала выборка (Select) и устанавливается в 1, когда устройство было выбрана.

     ERR  задает инвертированное состояние ошибки в устройстве. Бит устанавливается в 0 при выработке принтером сигнала ошибки(Error).

     IQRS принимает значение 0, когда устройство подтвердило прием предыдущего байта информации сигналом подтверждения (ASCnowlege). Значение данного бита имеет смысл только для двунаправленного параллельного порта. Режим подтверждения устройством приема символа и выработки прерывания управляется битом IRQE управляющего порта. Обычно, прерывание от устройства    LPT1 поступает на IRQ5, а от LPT2 - на IRQ7.

      Регистр управления параллельного порта представляет собой 8-ми разрядный регистр, доступный по чтению и записи и используется для задания режимов работы контроллера параллельного порта, а также для передачи в линию ряда управляющих сигналов для устройства Контроллер может вырабатывать прерывание для процессора при получении от устройства подтверждения о приеме символа. Такая возможность управляется 4 битом регистра управления. Более подробно регистры контроллера описаны далее Формат регистра управления описывается ниже (рис. 3.3).

 

 

      7

     6

      5

     4

     3

     2 

     1

     0

         резерв

    DIR

   IRQE

 SELIN

   INIT

 AFD

  STRB

 

     Рис. 3.3 Формат регистра управления параллельного порта.

 

 

     DIR  используется для задания типа операции при работе в расширенном режиме (или направления передачи данных):    0 - операция записи;    1 - операция чтения.    Этот бит имеет смысл только для двунаправленного параллельного порта.

      RQE управляет прерыванием. Когда бит равен 1, параллельный порт посылает прерывание при выработке сигнала ASC со стороны устройства.

     SELIN управляет состоянием сигнала выборки устройства (Select In). Когда бит установлен в 1, устройство считается выбранным. Данной линии соответствует разъем 17.

     INIT управляет инвертированным состоянием сигнала инициализации устройства (Init). При этом установка нулевого значения бита означает инициализацию принтера.     

     AFD  управляет состоянием сигнала автоматический прогон    строки(Automatic Feed XT). Когда бит установлен в 1, принтер    после печати каждой строки будет автоматически переходить на новую строку.

     STRB управляет синхронной передачей данных в устройство. Когда он принимает значение 1, передаваемые данные могут считываться с линий данных.           

         

                       3.2 Программирование параллельного порта.

     Программирование подключенной к параллельному порту аппаратуры заключается в установке определенных битов в регистрах данных и управления и чтении определенных битов из регистра состояния. При этом если с регистром данных проблем не возникает (это обычный байтовый регистр), то два других регистра имеют некоторые особенности Во-первых, некоторые биты являются инверсными. При записи в регистр управления нуля в этих битах устанавливаются единицы, а если на входах регистра состояния установлены нули, то их этих битов считываются единицы. Во-вторых, если четыре бита регистра управления расположены в младших битах байта (биты 0 - 3), то пять битов регистра состояния  -  в старших  (биты 3 - 7). Полная информация об отображении сигналов шин управления и состояния интерфейса Centronics на регистры параллельного порта компьютера приведена в табл. 3.2.

 

Табл. 3.2.

 Отображение сигналов шин управления и состояния интерфейса Centronics на регистры параллельного порта компьютера.

 

     Ш И Н А

   С И Г Н А Л

         Б И Т

И  Н В Е Р С И Я

 

   Управление

    -STROBE

             0

     инверсный

    -AUTO FD

             1

     инверсный

        -INIT

             2

        прямой

     -SLCT IN

             3

     инверсный

    

                            

    Состояние

      -ERROR

             3

        прямой

         SLCT

             4

        прямой

           PE

             5

        прямой

        -ASK

             6

        прямой

        -BUSY

             7

     инверсный