- •Введение
- •1 Основы микропроцессорной техники
- •1.1 Классификация команд и архитектура ЭВМ
- •1.2 Секционный микропроцессор.
- •1.3 Однокристальный микропроцессор.
- •1.4 Микропроцессорный модуль.
- •3.1 Тип кода операции с dst и rsc
- •3.2 Тип кода операции с dst. Группа коман MOV
- •4 Организация стековой памяти
- •5 Команды сдвигов и приращений.
- •5.1 Команды приращений
- •5.2 Команды сдвига
- •6 Арифметико-логические команды
- •6.1 Команды сложения
- •6.2 Команда сложения с учетом переноса
- •6.3 Операция вычитания
- •6.4 Команда вычитания с учетом заема
- •6.5 Команда логической функции ИЛИ
- •6.6 Команда логической функции И
- •6.7 Команда «Исключающая ИЛИ»
- •Внутриразрядная сумма = 0
- •6.8 Команда сравнения — компарации
- •7 Команды ветвления и переходов
- •7.1 Команды ветвления
- •7.2 Команды перехода
- •8.1 Внутрисегментные переходы
- •8.2 Межсегментные переходы
- •10 Цепочные команды
- •11 Другие одиночные команды
- •13.1 Процедура прерываний и команды прерываний
- •Адрес
- •13.2 Режимы работы ПКП
- •13.3 Программирование ПКП
- •14 Параллельный интерфейс
- •15 Последовательный интерфейс
- •15.1 Антология последовательного интерфейса
- •15.3 Описание регистров 8250 и программирование
- •Регистр управления линией
- •Регистр управления модемом
- •15.4 Порядок инициализации 8250
- •16 Программируемый таймер
- •16.7 Временные диаграммы таймера
- •16.8 Программирование таймера
- •Чтение счетчика канала 2
- •16.9 Чтение содержимого счетчиков
- •16.10 Таймер на системной плате IBM PC
- •17 Клавиатурный интерфейс
- •18. Заключение
- •Приложение А
- •Действие
- •Сегментный регистр
- •Действие команды
- •Действие команды
- •Действие команды
- •SAHF — сохранение <AH> в F
- •Действие команды
- •Действие команды
- •Действие команды
- •Действие команды
- •Действие команды
- •Действие команды
- •Действие команды
- •Действие команды
- •Действие команды
- •Действие команды
- •Команда – действие команды
- •Команда – действие команды
- •Команда – действие команды
- •Команда – действие команды
- •Команда – действие команды
- •Команда – действие команды
- •Команда – действие команды
│ │ │ │ │ │ чтением приемника;
│ │ │ │ │ |
└── 1 — потеря предыдущего символа («наезд»); |
||
│ │ |
│ │ |
│ |
|
│ │ |
│ │ |
└──── 1 — ошибка четности; |
│ │ │ │
│ │ │ └────── 1 — неверный стоп-бит;
││ │
││ └──────── 1 — обнаружен обрыв линии;
││
│└────────── 1 — сдвиговый регистр передатчика пуст;
└────────────1 — регистр передатчика пуст (вытолкнут последний бит)
А2 А1 А0 |
Операция |
|
Назначения |
|||||
1 1 0 |
|
|
Чтение |
Регистр состояния модема. Биты 0-3 вызывают |
||||
|
|
прерывание по изменению состояния модем, |
||||||
|
|
|
|
|
|
|
|
если оно разрешено: |
7 |
6 |
|
5 |
4 |
3 |
2 |
1 |
0 |
┌─┬─┬─┬─┬─┬─┬─┬─┐ |
||||||||
└─┴─┴─┴─┴─┴─┴─┴─┘ |
||||||||
│ |
│ │ |
|
│ |
│ |
│ │ └ |
1 — изменилось состояние линии CTS; |
||
│ |
│ │ |
|
│ |
│ |
│ └── |
1 — изменилось состояние линии DSR; |
||
│ |
│ │ |
|
│ |
│ |
└──── 1 — изменилось состояние линии RI; |
|||
│ |
│ │ |
|
│ |
└────── 1 — изменилось состояние линии DCD; |
||||
│ |
│ │ |
|
└──────── |
Состояние линии CTS; |
││ └────────── Состояние линии DSR;
│└──────────── Состояние линии RI ;
└────────────── Состояние линии DCD.
Примечание: «Изменилось состояние линии...» означает, что данная линия стыка RS-232 изменила свое состояние по сравнению с последним чтением этого регистра.
15.4 Порядок инициализации 8250
Для подготовки контроллера 8250 к работе необходимо выполнить следующие шаги.
1) Установить бит DLAB регистра 011 и заслать делитель, задающий скорость обмена, в порты 000 и 001.
100
2)Инициализировать регистр управления линией (порт 011); при этом сбросить бит DLAB.
3)Инициализировать регистр управления модемом (порт 100).
4)Инициализировать регистр управления прерываниями (порт 001) и, если прерывания разрешены, установить адрес программы обработки прерываний от стыка RS-232.
В состав IBM PC могут входить до четырех последовательных интерфейсов, работающих в стандарте RS-232 (отечественный аналог — стык С2) и именуемых СОМ1 —СОМ4. Им выделены следующие адреса в области портов ввода-вывода (по умолчанию):
СОМ1: |
3F8h-3FFh, |
COM3: |
338h-33Fh, |
COM2: |
278h-2FFh, |
COM4: |
238h-23Fh, |
где каждый интерфейс связан с определенным уровнем контроллера прерываний:
СОМ1 вызывает прерывание IRQ4 (Int 0Ch); COM2 вызывает прерывание IRQ3 (Int 0Bh);
СОМ3 и СОМ4 не имеют стандартных векторов прерываний.
Кроме этого, современные компьютеры IBM PC позволяют свободно комбинировать логические и физические адреса и вектора прерываний последовательных интерфейсов через SETUP BIOS.
Пример 1 —Пусть необходимо настроить порт СОМ1 со следующим режимом работы:
—скорость приемо-передачи: 9600 бит/с;
—длина посылки —8 бит;
—контроль чет/нечет отсутствует;
—длина стоп-бита —1 бит;
—прерывание только от приемника по моменту приема символа.
Определяем число деления: 11520010/960010=1210=000С. Составляем подпрограмму инициализации:
MOV DX,3FB |
; Установить адрес регистра управления линией |
MOV AL,80 |
; и установить |
OUT DX,AL |
; DLAB=1. |
SUB DX,+3 |
; Установить адрес младшей части делителя |
MOV AL,0C |
; и заслать туда 0С — |
OUT DX,AL |
; число десятичное 12. |
XOR AL,AL |
; Заслать «0» |
INC DX |
; в старшую часть |
OUT DX,AL |
; делителя. |
MOV AL,03 |
; Заслать в регистр управления линией: DLAB=0; |
ADD DX,+2 |
; длина посылки=8, контроль паритета=нет, |
OUT DX,AL |
; длина стоп-бита=1 бит. |
MOV AL,80 |
; Разрешить выход INT |
INC DX |
; разблокированием выхода OUT2, которые соеди- |
101