Лабораторная работа № 1 - Кафедра

advertisement
Министерство образования Российской Федерации
КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
им. А.Н. ТУПОЛЕВА
А. Н. БОРИСОВ
ПРАКТИКУМ ПО ВНЕШНИМ ИНТЕРФЕЙСАМ
ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ
Методическое пособие
Казань
1
УДК 681.3
Борисов А.Н. Практикум по внешним интерфейсам персональных компьютеров: Учебное пособие. Казань: Изд-во Казан. Гос. техн. ун-та, 2009.
Рассматриваются особенности организации передачи информации по
внешним интерфейсам персонального компьютера. Рассматривается физическая реализация интерфейсов, излагаются принципы построения контроллеров внешних интерфейсов, приводятся программы обслуживания по инициализации и передачи информации.
Предназначено для студентов высших учебных заведений очного, вечернего и заочного обучения и экстерната по специальностям “Вычислительные
машины, комплексы, системы и сети".
Табл. 2. Ил.26. Библиогр.: 5 назв.
Рецензенты: кафедра информатики и вычислительной техники (Нижнекамскй институт информационных технологий);
доцент каф. ЭИиМ ТГГПУ, к. ф.-м. н. И.Н. Голицына
2
Введение
При эксплуатации персональных компьютеров (ПК), при разработке и отладке устройств аппаратных средств вычислительной техники перед пользователем встает задача подсоединения устройств к аппаратуре ПК. Знание и
понимание основных принципов работы ПК и его взаимодействия с периферийными устройствами позволит самостоятельно решать задачи проектирования устройств сопряжения периферийного устройства с ПК.
Предметом данного методического пособия является изучение организации и управления методами и механизмами взаимодействия ПК с периферийными устройствами.
Материал пособия состоит из двух частей: печатного издания и компьютерного электронного практикума. В печатном издании представлен теоретический материал. Практикум предназначен для выполнения заданий по изучению узлов контроллеров интерфейсов, программированию операций по
передаче информации по внешним интерфейсам ПК.
Методическое пособие состоит из пяти разделов. В первых трех разделах
излагаются вопросы построения и организации контроллера динамика ПК,
контроллера видеосистемы. Рассматриваются структурная схема видеоадаптера, режимы работы видеоадаптера, методика программирования видеоадаптера в разных режимах работы. Изучение этого материала предназначено
для усвоения студентами понятий и принципов, характерных для организации в ПК работы видеосистем.
В четвертом и пятом разделах излагаются особенности передачи
информации по параллельному и последовательному внешнему интерфейсу.
В ПК наиболее типичными представителями этих способах передачи
информации являются параллельный интерфейс Centronics, реализуемый
LPT-портом, и последовательный интерфейс RS232C, реализуемый СОМпортом. Рассматриваются организация контроллеров этих интерфейсов, физическая реализация интерфейсов, программы обслуживания по инициализа3
ции и передачи информации. Изучение этого материала предназначено для
усвоения студентами понятий по организации обмена информации с внешними устройствами.
При выполнении лабораторного практикума по 4-му и 5-му разделам
предусмотрено проведение тестирования материала по заданной тематике на
персональном компьютере, что позволяет определить подготовленность к лабораторному практикуму.
4
Лабораторная работа № 1
ИНТЕРФЕЙС ДИНАМИКА В ПК
(Формирование звука)
В персональных компьютерах (ПК) используется микросхема таймера для
измерения времени. Программируемый таймер – это сложная БИС, состоящая из трех узлов (трех каналов таймера), каждый из которых можно запрограммировать для работы в одном из шести режимов.
Каналы таймера выполняют следующие функции:
 Канал 0 – системные часы. Сигнал с выхода этого канала вызывает
прерывание INT 8, которое отслеживает текущее время.
 Канал 1 – поддерживает процесс регенерации памяти.
 Канал 2 – управляет звуковым сигналом для динамика.
В пространстве портов ввода-вывода для таймера выделена область адресов 40Н – 43Н:
- порт 40Н - канал 0;
- порт 41Н – канал 1;
- порт 42Н – канал 2;
- порт 43Н регистр РУС.
В ПК динамик применяется для формирования звуковых колебаний разных частот, представляющих собой различные звуки воспринимаемые человеком. Основными элементами в схеме ПК, участвующими в формировании
сигналов, поступающих на динамик, являются:
 канал 2 таймера (БИС К1810 ВИ54);
 порт
В
(ППИ)
параллельного
программируемого
интерфейса
(К580ВВ55А).
Интерфейс динамика (схема подключения динамика в ПК) представлен на
рис. 1.1.
f=1,19 Мгц
5
Порт А
Порт В
CLK2
В0
В1
В2
.
.
GATE2
OUT2
Канал 2
&
В7
Порт С
Рис. 1.1. Интерфейс динамика в ПК
Канал 2 таймера программируется на режим импульсных сигналов.
Формируемые на выходе OUT2 таймера импульсные сигналы с частотой F
поступают на вход элемента &, а затем на динамик.
Биты В0 и В1 порта В ППИ управляют подачей импульсных сигналов на
динамик.
Бит В0 – «Разрешение счета» управляет формированием сигналов на
выходе таймера. При В0=0 счетчик таймера не будет выполнять вычитание
единицы, что приводит к отсутствию на выходе OUT2 запрограммированного сигнала.
Бит В1 - «Разрешение динамика» открывает элемент & для прохождения
импульсов с выхода OUT2 на динамик. При В1=0 сигналы с таймера на динамик поступать не будут, и динамик не будет формировать звуковые колебания, т.е. звуки.
Как известно из курса «Микропроцессорные системы», и таймер, и ППИ
имеют в адресном пространстве ввода-вывода микропроцессорной системы,
в том числе ПК, по 4 адреса для обращения микропроцессора к регистрам
(портам) этих БИС. В персональных компьютерах для таймера выделены
адреса (40-43) H, а для ППИ - (60-63) H.
6
Задание на лабораторную работу.
Написать и отладить программу на ПК на языке Ассемблер, вызывающую звук с частотой F гц. В соответствии с полученным у преподавателя
номером варианта задания (см. таблицу 1) рассчитать константу пересчета,
заносимую при программировании таймера в счетчик.
Таблица 1
N
варианта
1
2
3
4
5
6
F (гц)
30
60
80
100
130
150 180 210 250
7
8
9
Программирование таймера заключается в занесении в регистр РУС канала таймера управляющего слова (см. рис.1.2) и записи константы пересчета в счетчик канала.
Формат управляющего слова показан на рис. 1.2. Управляющие слова
загружаются в регистры РУС каналов таймера по команде OUT PORT,
AL, где PORT – адрес регистра программируемой БИС, в который микропроцессор передает данные из регистра AL. Адрес канала указывается в
самом формате управляющего слова в битах D7, D6. Загрузка управляющего слова должна предшествовать загрузке константы.
Биты D5, D4 определяют размерность и порядок загрузки констант.
Программу для лабораторной работы написать на языке Ассемблер по
следующему алгоритму:
7
1. Запрограммировать канал таймера на работу с динамиком. Для этого
занести в регистры канала таймера управляющее слово и константу пересчета.
2. Для определения момента начала формирования звуковых колебаний
динамиком организовать процедуру ожидания нажатия на любую клавишу
на клавиатуре, т.е. динамик должен работать только после нажатия на любую клавишу на клавиатуре ПК.
D7
D6
D5
D4
D3
D2
D1
D0
Счет
0 – двоичный
1 - дв. - десятичный
Канал 0
Канал 1
Канал 2
Команда
“чтение
состояния”
0
0
1
0
1
0
1
1
Команда
“защелка”
Загрузка
старшего байта
Загрузка
младшего байта
Загрузка
Младшего, затем
Старшего байта
0
0
0
1
1
0
1
1
0
0
x
x
1
1
0
0
1
1
0
0
0
1
0
1
0
1
Режим 0
Режим 1
Режим 2
Режим 3
Режим 4
Режим 5
Рис. 1.2. Формат управляющего слова канала таймера
8
В программе организация ожидания нажатия на клавишу, а затем перехода к выполнению следующей команды реализуется с помощью следующих ассемблерных команд:
MOV AH, 0
INT 16H
3. Разрешить динамику воспроизводить звуковые колебания, для чего
сформировать значения битов В0=1 и В1=1 порта В ППИ, оставляя значения остальных битов этого порта без изменений. Для этого необходимо
прочитать содержимое порта В, произвести с ним логическую операцию,
позволяющую установить только биты В0 и В1 в состояние «1», а затем полученное значение переслать обратно в порт В ППИ.
4. Для определения момента завершения формирования звуковых колебаний динамиком организовать процедуру ожидания нажатия на любую
клавишу на клавиатуре, т.е. в данном случае при нажатии на клавишу на
клавиатуре звучание динамика должно прекратиться.
В программе организация ожидания нажатия на клавишу, а затем перехода
к выполнению следующей команды реализуется с помощью следующих ассемблерных команд:
MOV AH, 0
INT 16H
5. Запретить динамику воспроизводить звуковые колебания, для чего
сформировать значения битов В0=0 и В1=0 порта В ППИ, оставляя значения остальных битов этого порта без изменений. Для этого необходимо
прочитать содержимое порта В, произвести с ним логическую операцию,
позволяющую установить только биты В0 и В1 в состояние «0», а затем полученное значение переслать обратно в порт В ППИ.
9
6. Выход в MS DOS. Для завершения работы программы необходимо
выполнить функцию 4СH «Завершение подпроцесса с возвратом управления» прерывания DOS INT 21H.
7. Конец программы.
Порядок выполнения работы
1. Написать программу на языке Ассемблер для формирования динамиком звука с частотой F (Гц) в следующем виде:
.model tiny
.code
.....................
......................
текст программы
.....................
end
; конец программы
Файл программы должен иметь расширение “.asm”.
2. Получить исполняющий файл программы с расширением
“.exe” с
помощью программ tasm.exe и tlink.exe.
3. Запустить программный файл с расширением “.exe”.
Программа должна выполняться в следующей последовательности:
а) запуск программы;
б) нажать на любую клавишу на клавиатуре, после чего динамик должен
выдавать звуковые колебания, слышимые человеком;
в) нажать на любую клавишу на клавиатуре, после чего динамик должен
прекратить выдачу звука, а программа должна закончить свою работу.
10
Лабораторная работа № 2
ФУНКЦИОНИРОВАНИЕ ВИДЕОПАМЯТИ В ТЕКСТОВОМ РЕЖИМЕ
Цель работы: изучение организации и основных приемов работы с видеопамятью ПК в текстовом режиме.
В видеосистемах ПК для отображения информации на экране монитора
используются два режима: текстовый и графический. В текстовом режиме на
экран выводятся только символы, а в графическом можно строить любые
сложные изображения в виде рисунков, чертежей и т. п. В текстовом режиме
используется матричный метод формирования изображения. Суть метода заключается в том, что изображение на экране монитора строится из отдельных
фрагментов выводимых символов (букв, цифр, математических знаков, графических элементов и др.). Каждый фрагмент представляется в виде матрицы, имеющей вид прямоугольника стандартных размеров и состоящей из
определенного числа битов. Например, на рис. 2.1 показана матрица 8х8 для
формирования на экране буквы “H”.
Матрицы символов хранятся в знакогенераторе (памяти типа ПЗУ) видеоадаптера. Каждый бит (0 или 1) подается в схему управления лучом электронно-лучевой трубки монитора, который формирует на экране точечное
изображение. Единичное значение бита указывает на то, что соответствующая точка относится к изображаемому символу. Нулевое значение бита
определяет точку фона символа на экране.
В текстовом режиме экран дисплея делится на отдельные знакоместа, в
каждое из которых может быть помещен символ. Экран разбивается на 25
строк по 80 знакомест в каждой строке, чем обеспечивается вывод одновременно до 2000 символов.
11
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
Рис. 2.1. Матрица для символа “H”
В процессе работы по заданной программе коды символьных изображений, выдаваемых на экран монитора, записываются в специальную область
оперативной памяти, которая называется видеопамятью. При работе в текстовом режиме для каждого символа в памяти следует хранить его код и указание, как его изображать (цвет изображаемого символа, цвет фона, яркость
изображения). Поэтому каждому символу соответствуют два байта: в первом
из них записывается, что следует изобразить (код символа), во втором - как
это изобразить (код атрибута символа). Для каждого символа в цветном режиме работы видеоадаптера доступно 16 основных цветов и 8 цветов фона, а
также возможность мерцания символа.
Формат байта, содержащего атрибут изображаемого символа, представлен на рис. 2.2. Отдельные биты атрибута образуют 4 группы: биты B0-B2 цвет символа; бит B3 - яркость; биты B4-B6 - цвет фона; бит B7 - мерцание.
Установка бита яркости в "1" делает цвет символа более светлым. С помощью битов B3-B0 можно получить 16 цветов символа. Если бит мерцания B7
установлен в "1", символ начинает мерцать с частотой приблизительно 4 раза
в секунду.
12
B7 B6 B5 B4 B3 B2 B1 B0
BL
R
G
B
I
R
Цвет фона
G
B
Цвет
символа
Мигание
Яркость
Рис.2.2. Формат байта атрибута символа
Организация видеопамяти
В текстовом режиме в видеопамяти может храниться до 4 видеостраниц
или экранов с номерами от 0 до 3. Переключение видеостраниц (т.е. вывод их
содержимого на экран) осуществляется средствами BIOS. Большинство
программ, в то числе и DOS, работают с 0 видеостраницей. В каждой видеостранице помещается равно один экран в 25 строк по 80 символов в каждой, причем каждый символ отображается двумя байтами - байтом с кодом
символа и байтом с атрибутом символа.
Порядок размещения этих кодов показан на рис. 2.3. Обозначим: адрес
первой ячейки - SEGM:0000H, где SEGM-двухбайтовое значение сегмента
видеопамяти; С0 и А0 -соответственно код символа в строке 0 и атрибут символа в строке 0 и т.д. Для формирования текстового изображения на экране
из видеопамяти последовательно считывается информация, начиная с адреса
SEGM:0000H. Считывание осуществляется непрерывно и циклически. Этот
процесс называется сканированием памяти. По коду символа из знакогенератора выбирается соответствующая матрица для формирования изображения
символа на экране. Первый символ (символ с номером С0 в строке 0) появляется в левом верхнем углу экрана с атрибутом А0. Следующие 2 байта видеопамяти изображают следующий символ справа от него и т. д. Значение
13
смещения (SM) ячейки видеопамяти для любого символа, размещаемого в
произвольной позиции (NS-строка, NK-колонка) на экране определяется по
формуле:
SM = 2 * (NS * 80 + NK) .
Видеостраница 0
Строка 0
SEGM:0000
C0 A0 C1 A1
. . . . . . . . . . . . . . . C79 A79
Строка1
C0 A0
C1 A1
. . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
C79 A79
Строка 24
C0 A0 C1 A1
С79 A79
Рис.2.3. Размещение информации в видеопамяти в текстовом режиме
Для видеосистем ПК разработан ряд стандартных видеорежимов. При
работе в оболочке Far manadger видеосистема по умолчанию устанавливается
в текстовый цветной режим № 3 с количеством цветов равным 16 и количеством знакомест 80 х 25. Это режим работы видеоадаптера CGA, для которого видеопамять имеет емкость 16 Кбайт и начинается с адреса В800:0000.
Обычно в программах, работающих напрямую с видеопамятью, регистр
DS либо ES микропроцессора загружается значением сегмента видеопамяти,
а остальная часть программы работает со смещениями в видеопамяти.
14
Задание на лабораторную работу
В этой лабораторной работе необходимо написать программу, которая
бы прямым доступом в видеопамять реализовала бы эффект "бегущей буквы"
по экрану, например, движение буквы по верхней строке экрана.
Алгоритм этой программы может быть, к примеру, следующий:
1. Инициализация ES, DI, CX.
2. Заполнение 0 страницы видеопамяти одинаковыми символами (например, кодом буквы "А" - 128 (80h) и одинаковыми атрибутами, причем такими, что бы цвет символа в них совпадал бы с цветом фона, т.е. символ был
невидимым. Это легче всего сделать с помощью команды STOSW (см. приложение 2.1). Коды некоторых символов приведены в приложении 2.2.
3. У символа на строке 0 и колонке 0 меняем атрибут на любой видимый, делаем задержку, после нее изменяем атрибут у следующего символа
в строке и возвращаем старое значение атрибута предыдущему символу, т.е.
гасим его. Эти действия продолжаем до 79 колонки 0-й строки.
4. Выход из программы.
Таким образом, просто "зажигая" и "гася" записанные в видеопамять
байты символов, мы получаем эффект бегущей по экрану буквы.
Ваpианты заданий на лабоpатоpную pаботу :
Ваpиант 1. Движение символа по периметру экрана, начиная с позиции
(0,0) слева напpаво.
Ваpиант 2. Движение символа по периметру экрана, начиная с позиции
(0,0) сверху вниз.
Ваpиант 3. Движение символа по периметру экрана, начиная с позиции
(24,79) справо налево.
Ваpиант 4. Движение символа по периметру экрана, начиная с позиции
(24,0) слева напpаво.
Ваpиант 5. Движение символа по периметру прямоугольника с позици15
ями вершин (0,40), (24,40), (24,79), (0,79).
Ваpиант 6. Движение символа по периметру прямоугольника с позициями вершин (10,0), (24,0), (24,50), (10,50).
Ваpиант 7. Движение символа по периметру прямоугольника с позициями вершин (0,30), (15,30), (15,79), (0,79).
Ваpиант 8. Движение символа по периметру прямоугольника с позициями вершин (0,0), (0,40), (20,40), (20,0).
Во время отладки программы необходимо поэкспериментировать с цветом символа и цветом фона.
16
Приложение 2.1
Некоторые команды языка Ассемблера
Команда STOSB - запомнить байт и STOSW - запомнить слово.
Команды пересылают байт (STOSB) или слово (STOSW) из регистров
AL (STOSB) или AX (STOSW) в память по адресу в ES:DI. После пересылки
содержимое DI либо увеличивается (при DF=0, установка по команде CLD)
на 1 (STOSB) или на 2 (STOSW), либо уменьшается (при DF=1, STD ) на 1
или 2.
Перед командой STOSB может стоять префикс повторения REP.
17
Приложение 2.2
Таблица кодов символов ASCII
Коды символов в таблице представлены в шестнадцатиричном коде. В
таблице приведены только коды некоторых символов цифр, букв в диапазоне
кодов 30Н - 6FН.
Код Символ
Код Символ
Код Cимвол
Код
Символ
30
0
40
@
50
P
60
31
1
41
A
51
Q
61
a
32
2
42
B
52
R
62
b
33
3
43
C
53
S
63
c
34
4
44
D
54
T
64
d
35
5
45
E
55
U
65
e
36
6
46
F
56
V
66
f
37
7
47
G
57
W
67
g
38
8
48
H
58
X
68
h
39
9
49
I
59
Y
69
i
3А
:
4A
J
5A
Z
6A
j
3B
;
4B
K
5B
[
6B
k
3C
<
4C
L
5C
\
6C
l
3D
=
4D
M
5D
]
6D
m
3E
>
4E
N
5E
^
6E
n
3F
?
4F
O
5F
_
6F
o
18
Лабораторная работа № 3
ФОРМИРОВАНИЕ ИЗОБРАЖЕНИЯ В ВИДЕОАДАПТЕРЕ VGA В
ГРАФИЧЕСКОМ РЕЖИМЕ
Цель работы: изучение организации и основных приемов работы с видеоадаптером ПК в графическом режиме.
При работе в графическом режиме программное обеспечение для вывода
изображений на экран должно непосредственно управлять цветом всех точек
на экране. Поэтому видеоадаптеры ПК в графическом режиме позволяют
программно обратиться ко всем точкам экрана.
Прообраз выводимого на экран монитора изображения записывается в видеопамять видеоадаптера. Прообраз – это закодированная информация по
каждой точке экрана. Как известно, весь экран монитора разбивается на
множество точек, размещенных по горизонтальным строкам ( N ) сканирования экрана. Количество точек ( M ) на каждой строке одинаковое. Общее количество точек экрана ( M х N ) называется разрешающей способностью
экрана. В видеосистемах каждая точка экрана называется пиксель.
В цветных видеосистемах цвет каждого пикселя определяется интенсивностью трех лучей: R-красный, G-зеленый, B-синий, сфокусированных в местоположение пикселя. Таким образом, изображение, получаемое на экране
монитора, строится по экранным пикселям. При этом для каждого пикселя
необходимо задавать его цвет.
Видеоадаптер VGA
поддерживает несколько монохромных и цветных
графических режимов. Например, режим 11h является монохромным и имеет
разрешение 640х480; режим 0Eh – цветной, имеет разрешение 640х200 и
позволяет отображать 16 различных цветов; режим 13h – цветной, имеет разрешение 320х200 и позволяет отображать 256 различных цветов.
Рассмотрим схему управления цветами в видеоадаптере VGA в цветном
графическом режиме 13h. Пусть разрешающая способность экрана монитора
19
– (M x N). При этом экран монитора разбивается на N строк (0, 1, 2, ...... (N1)), а строка состоит из M пикселей (0, 1, 2, ..... (M-1)). Для записи информации о цвете каждого пикселя в графическом режиме в VGA отводится один
байт.
Адрес первой ячейки видеопамяти для видеоадаптера VGA –
A000:0000. Видеопамять организована линейно (рис. 3.1). В каждой ячейке
видеопамяти хранится код Pij о цвете соответствующего этой ячейке пикселя, то есть пикселя, расположенного на i – ой строке и j – ой позиции в строке.
Строка 0
A000:0000
Р00 Р01 Р02 Р03 . . . . . . . . . . . . . . .
P0(M-1)
Строка1
Р10 Р11 Р12 Р13 . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
P(N-1)0 P(N-1)1 . . .
.
.
.
.
.
.
.
.
P1(M-1)
Строка (Y-1)
.
.
.
.
.
.
.
P(N-1)(M-1)
Рис.3.1. Размещение информации в видеопамяти в текстовом режиме
Значение смещения (SM) от начала видеопамяти для байта, управляющего
пикселем Pij с координатами (i,j), то есть расположенного на i-й строке и jколонке на экране монитора, определяется по формуле:
SM = (M * j + i ),
20
где M – общее количество пикселей, расположенных на одной линейке.
Для видеорежима 13h значение М=320, а значение N=200. Таким образом,
всего точек 320х200, следовательно, для их изображения на дисплее требуется 64 Кбайт видеопамяти для работы в режиме 13h.
Схема управления цветами в видеоадаптере VGA представлена на рис. 3.2.
Видеоадаптер VGA работает с аналоговым монитором, имеющим три раздельных видеовхода R, G и B. Величина напряжения на каждом из них
управляет соответственно интенсивностью красного, зеленого и синего изображения. Аналоговое напряжение для монитора формируется из двоичной
цветовой информации при помощи трех цифро-аналоговых преобразователей
(ЦАП).
Цветовая 8-битовая информация, поступающая из ячейки видеопамяти с
адресом A000:SM, через регистр адреса таблицы цветов преобразуется согласно таблице цветов в три 6-битовых сигнала для трех ЦАП.
Одним из основных узлов в видеоадаптере VGA является RAMDAC (цифро-аналоговый преобразователь данных, хранящихся в его регистрах). Его
назначение – преобразование кода цвета пикселя в аналоговый сигнал. В
схему RAMDAC входят:
- 256 18-разрядных регистров (именно эти регистры и образуют оперативную память RAM в узле RAMDAC);
- выходной 18-разрядный регистр цвета (Рвых цвета), выходы которого соединяются с соответствующими входами ЦАП;
- трехканальный 6-разрядный ЦАП.
21
Видеопамять
А000:0000
А000:SM
. . . . . . .
00110101
. . . . . . . . . . .
Регистр адреса таблицы
цветов
00110101
Регистры цвета
6 бит
6 бит
6 бит
00h
01h
.
.
.
.
.
.
.
.
.
.
.
.
35h
FFh
18
18 бит
Рвых цвета
R
G
B
ЦАП
На монитор
Рис. 3.2. Схема управления цветами (VGA)
Разрядность ЦАП определяет количество оттенков цвета, которые потен22
циально может сформировать видеоадаптер VGA, т.е. размер его палитры.
Несложно подсчитать, что палитра составляет (26)3 = 218 = 262144 оттенков.
Оттенок цвета текущего пикселя определяется кодом, записанным в выходной регистр цвета Рвых цвета.
Однако на практике количество оттенков цвета, которые видеосистема
VGA в состоянии отобразить одновременно, значительно меньше размера его
палитры и равно количеству регистров цвета, т.е. 256. Видеоадаптер VGA не
позволяет загрузить в выходной регистр цвета произвольное значение – туда
заносятся данные только из регистров цвета, которых в видеоадаптере VGA
насчитывается только 256.
Содержимое регистров цвета ЦАП можно изменять программно, т.е. центральный процессор ПК как считывает данные регистров, так и записывает в
них информацию. Для регистров цвета в адресном пространстве портов ввода-вывода ПК выделены адреса (3С6 –3С9)h. Однако для пользователей более удобным инструментом при работе с палитрами пикселей является драйвер монитора (программа обслуживания видеосистемы) INT 10h.
Программа INT 10h позволяет выполнить множество операций обслуживания видеосистемы. Номер выполняемой операции устанавливается в регистре АН перед вызовом программы. Кроме того для выполнения конкретной
операции необходимо перед вызовом программы задать некоторые исходные
параметры. Для этого используются регистры микропроцессора.
Рассмотрим операцию программы INT 10h при работе с регистрами цвета
RAMDAC. Регистр АН=16 – выбор операций для видеосервиса VGA. Регистр
AL=16 – выбор операции «Установить регистр цвета». ВХ – номер регистра
RAMDAC; CH, CL, DH – шестибитовые коды интенсивностей зеленого, синего и красного цветов для выбранного регистра.
Таким образом, при работе напрямую с видеопамятью в графическом режиме необходимо сделать следующее:
1. Перевести адаптер в графический режим (для лабораторной работы функция 0 (AH=0, AL=13h) программы прерывания 10h прерывания 10h).
23
2. Начать работу с видеопамятью.
3. Изменить цвет выводимого на экран монитора рисунка, используя
функцию 16 (АН=16, АL=16) программы прерывания 10h.
4. По окончании работы с программой вернуть адаптер в текстовый режим (функция 0 (AH=0, AL=3) программы прерывания 10h ).
Задание на лабораторную работу
Необходимо написать и отладить программу на ПК на языке Ассемблер,
которая прямым доступом к видеопамяти в графическом режиме, выполнила следующие операции:
а) формирование одноцветного фона экрана, закрашивая одним цветом
весь экран монитора, для чего все ячейки видеопамяти VGA в графическом
режиме заполнить одинаковым кодом;
б) рисование на экране прямоугольника с координатами пикселей
((X1,Y1); (X2,Y1); (X2,Y2); (X1,Y2)) цветом отличным от установленного
цвета фона (X – столбец, Y – строка пикселя на экране).
Затем путем программного обращения к регистрам цвета RAMDAC изменить
цвет прямоугольника путем изменения содержимого соответствующего регистра цвета.
Алгоритм этой программы может быть, к примеру, следующий:
1. Установка работы видеосистемы в графический режим.
2. Инициализация ES, DI, CX (Инициализация регистра ES сегментным
адресом видеобуфера и регистра DI начальным смещением в нем. Установка
счетчика ячеек).
3. Формирование цвета фона экрана. Цвет фона выбрать по своему усмотрению.
4. Рисование прямоугольника с заданными координатами в соответствии с
полученным номером задания. Цвет прямоугольника выбрать по своему
усмотрению.
24
5. Изменение цвета прямоугольника в соответствии с полученным вариантом задания (параметр «С» в таблице заданий).
6. Переход в текстовый режим и выход из программы.
Чтобы иметь возможность успеть посмотреть на экране результаты работы программы, необходимо после шагов 3, 4, 5 вызвать функцию 0 прерывания 16h (ожидание символа с клавиатуры).
Варианты заданий на лабораторную работу:
№ вар.
X1
X2
Y1
Y2
C
1.
30
110
30
60
2.
50
100
40
80
3.
50
150
20
70
Светлокрасный
Светлозеленый
Светло-синий
4.
70
180
50
110
Красный
5.
100
210
60
130
Зеленый
6.
110
240
50
90
7.
60
120
60
110
Темно-красный
8.
80
200
70
160
Темно-синий
Синий
Содержание отчета по лабораторной работе
Отчет должен содержать задание и текст программы с комментариями.
25
Лабораторная работа № 4
ВНЕШНИЙ ПАРАЛЛЕЛЬНЫЙ ИНТЕРФЕЙС “CENTRONICS”
Цель работы: изучение принципов реализации интерфейса Centronics,
назначения сигналов на линиях интерфейса, протокола передачи данных по
интерфейсу, организации и функционирования LPT-порта, программной
поддержки интерфейса.
Организация интерфейса
Внешний, радиальный, параллельный интерфейс Centronics обеспечивает
подключение печатающих и других устройств с параллельной передачей информации. В одном направлении (от персонального компьютера) одновременно передается 1 байт данных. Радиальное подключение осуществляется
посредством кабеля.
Все сигналы интерфейса Centronics имеют стандартные ТТЛ - уровни.
Максимальная длина соединительного кабеля по стандарту – 1,8 м. По назначению сигналы на контактах разъема интерфейса можно разделить на 4
группы:
 информационные сигналы;
 сигналы управления передачей данных;
 сигналы состояния периферийного устройства;
 заземление и питание.
Назначение сигналов интерфейса Centronics.
Информационные сигналы:
D0-D7 – 8-разрядные данные.
Сигналы управления передачей данных:
#STROBE – сигнал стробирования данных. Сигнал #STROBE низкого
уровня сообщает приемнику, что данные источником выставлены, и их можно принимать.
26
#INIT – сигнал инициализации (сброса) периферийного устройства. Низкий уровень сигнала служит для установки регистров приемника в начальное
состояние.
# SLCT IN – выбор. Сигнал сообщает приемнику, что он выбран и для него
последует передача данных.
#AUTO FD – сигнал автоматического перевода строки. По этому сигналу
печатающее устройство перемещает бумагу для печати на следующей строке.
Сигналы состояния периферийного устройства:
BUSY – сигнал занятости периферийного устройства. Сигнал BUSY высокого уровня говорит о том, приемник не может принимать данные. Приемник
может быть занят в следующих случаях:
а) во время ввода данных;
б) во время печати;
в) в состоянии «ошибки»;
г) в автономном режиме и др.
Подача низкого уровня сигнала BUSY означает, что приемник может принимать данные.
#ACK – сигнал подтверждения принятия данных. Высокий уровень сигнала #ACK говорит о том, что приемник готов к приему данных. переход сигнала в ноль сообщает, что приемник принял предыдущие данные, но не готов
принять новые.
SLCT – сигнал готовности приемника. Высокий уровень сигнала говорит о
том, что приемник выбран и готов к приему данных.
#ERROR – сигнал ошибки приемника. Логический ноль означает ошибку
в приемнике и требует прекращения передачи.
PE – сигнал конца бумаги. По этому сигналу источник прекращает передачу данных и переходит в состояние ожидания.
Обычно используются те или иные сигналы, в зависимости от назначения
приемника. Для того чтобы обеспечить функционирование интерфейса, достаточно использовать только 8 бит данных (D0-D7), сигнал стробирования
27
данных #STROBE, сигнал подтверждения #ACK и сигнал занятости приемника BUSY, либо сигнал готовности приемника SLCT.
Временные диаграммы сигналов при передаче информации по внешнему
интерфейсу Centronics приведены на рис. 4.1. Приемник готов принять данные, когда (BUSY = 0) & (#ACK = 1). Только в этом случае передатчик, выставив данные D0-D7, выдает сигнал стробирования данных #STROBE.
Рис. 4.1. Временные диаграммы цикла передачи данных
по интерфейсу Centronics
Контроллер интерфейса Centronics.
Обменом информацией между ПК и периферийным параллельным
устройством
управляет контроллер внешнего параллельного интерфейса
Centronics, который с одной стороны подключается к системному интерфейсу, а с другой – по интерфейсу Centronics к периферийному устройству. ПК
может работать с тремя параллельными контроллерами, как LPT-порты и
имеют логические адреса LPT1, LPT2 и LPT3.
Блок-схема контроллера ин-
терфейса приведена на рис. 4.2. Структура контроллера представляет собой
28
типичную регистровую структуру. Центральный процессор ПК может адресоваться к трем регистрам контроллера:
 регистру данных;
 регистру управления;
 регистру состояния ПУ.
Адреса этих регистров для ПК имеют стандартные значения:
378h, 379h и 37Ah - для LPT1;
278h, 279h и 27Ah - для LPT2;
3ВСh,
3ВDh и 3ВEh - для LPT3.
Регистр состояния ВУ
Регистр
данных
Выходной
буфер
Регистр
управления
Регистр
чтения данных
Схема
управления
контроллера
Регистр состояния контроллера
Буфер
данных
Системный интерфейс
Рис.4.2. Структура контроллера интерфейса Centronics
Первые адреса называются базовыми адресами портов. Область данных
BIOS содержит базовые адреса для каждого контроллера. Базовый адрес для
LPT1 находится в ячейке 0040:0008, для LPT2 – 0040:000А, для LPT3 –
0040:000С. При инициализации ПК базовому адресу присваивается значение
0, когда соответствующий порт не установлен.
Управление передачей информации по интерфейсу организуется в соответствии с временными диаграммами работы интерфейса Centronics, приве29
денными на рис. 4.1. Через регистр данных CPU посылает код данных в параллельном формате в ПУ по линиям D0-D7 интерфейса Centronics. Код, выводимый на интерфейс, фиксируется в регистре чтения данных, и его можно
прочитать для контроля передаваемых данных.
Регистр состояния ПУ содержит информацию о ПУ. Значения битов этого
регистра приведены на рис. 4.3. Центральный процессор при передаче данных в ПУ опрашивает регистр состояния ПУ, чтобы определить момент, когда ПУ готово к приему, и можно посылать данные. Этот момент определяется соотношением сигналов BUSY (занято) и #ACK (подтверждение). Регистр состояния сообщает также, что произошла ошибка в работе ПУ или что
ПУ не готово из-за отсутствия бумаги (при работе с принтером).
Рис. 4.3. Формат регистра состояния LPT-порта
 Бит В7 – инверсное отображение сигнала BUSY на линии интерфейса.
 Бит В6 – отображение сигнала на линии #ACK.
 Бит В5 – отображение сигнала на линии PE.
 Бит В4 - отображение сигнала на линии SELECT.
 Бит В3 - отображение сигнала на линии #ERROR.
 Биты В2-В0 не используются.
Через регистр управления в ПУ передаются сигналы инициализации ПУ
(#INIT), управления выводом данных (#STROBE) и другие сигналы управления. Семантика битов этого регистра приведена на рис. 4.4. Установкой бита
30
В4 в единичное состояние CPU переводит контроллер интерфейса в режим
передачи данных по прерыванию. В этом режиме, когда ПУ готово к приему
очередного кода данных, контроллер интерфейса посылает запрос на прерывание. Однако передача данных в ПУ в режиме прерывания практически не
используется.
Рис. 4.4. Формат регистра управления
Назначение битов регистра управления LPT – порта:
 биты В7-В5 не используются;
 бит В4 – единичное значение разрешает прерывание по спаду сигнала
на линии #ACK – сигнал запроса следующего байта;.
 бит В3 – “1” формирует низкий активный уровень сигнала #SLCT IN;
 бит В2 – “0” формирует низкий активный уровень сигнала #INIT;
 бит В1 – “1” формирует низкий активный уровень сигнала #AUTO FD;
 бит В0 – “1” формирует низкий активный уровень сигнала #STROBE;
Программная организация управления передачей по интерфейсу
В ПК выводом данных по интерфейсу Centronics управляет программа
прерывания системы BIOS INT 17H. Эта программа может выполнять три
операции, определяемые содержимым регистра АН микропроцессора:
31

АН=0 – вывод символа;

АН=1 – инициализация параллельного порта;

АН=2 – чтение состояния периферийного устройства.
Для выполнения каждой операции необходимо задать в регистре DX
микропроцессора номер LPT-порта – число от 0 до 2 для LPT1 – LPT3.
В процессе выполнения каждой операции программы прерывания INT
17H происходит обращения МП к регистрам порта. Так, например, МП посылает в регистр данных код выводимого символа, читает состояние периферийного устройства и, если ПУ готово к приему данных, формирует сигналы
управления.
Пример использования программы прерывания INT 17H при для инициализации ПУ, подключаемого к порту LPT 2.
MOV AH, 1
; операция «инициализация порта»
MOV DX, 1
; LPT 2
INT 17H
; выполнение операции
Функция 1 прерывания
INT 17H BIOS инициализирует через порт
LPT2 периферийное устройство и возвращает байт, определяющий состояние
ПУ, в регистр AH микропроцессора.
Выполнение работы
Данная лабораторная работа представляет собой компьютерный электронный практикум, представляющий собой пакет прикладных программ,
выполняемых на персональной ЭВМ, работающей под управлением ОС Windows. Программа для запуска электронного практикума LPT.exe находится в
папке Centronics(лаб). Запуск практикума – запуск программы LPT.exe.
В содержимое электронного практикума входит теоретический материал
по изучению параллельного интерфейса Centronics и практические задания.
При выполнении задания моделируется работа контроллера интерфейса
(порта LPT персонального компьютера) при передаче данных по интерфейсу
32
в периферийное устройство по программе, написанной студентами в соответствии с полученным заданием.
При запуске программы LPT.exe откроется окно с содержанием практикума:
1. Организация интерфейса.
1.1. Назначение интерфейса.
1.2. Соединение с ВУ.
1.3. Назначение линий.
1.4. Временные диаграммы.
2. Порт LPT .
2.1. Структурная схема.
2.2. Форматы регистров.
2.3. Функционирование порта.
3. Программная поддержка передачи по интерфейсу.
Прерывание BIOS.
4. Выполнение работы.
4.1. Задание 1 (варианты 1-5).
4.2. Задание 2 (варианты 1-5).
4.3 Задание 3 – Тест
4.4. Задание 4.
5. Выход.
Разделы 1-3 – это текстовый учебный материал с рисунками и графическими иллюстрациями и гиперссылками, с помощью которых на рассматриваемых схемах выделяются выбранные узлы и выводятся соответствующие
пояснения и определения. В процессе работы с текстом в каждом разделе выделяются ключевые выражения, например, «временные диаграммы» или «регистр состояния ВУ» и др., что позволяет, используя гиперссылки по этим
выражениям, заходить в другие разделы, где приводится более подробная
33
информация, связанная с выделенным названием либо конкретные характеристики или параметры выделенного названия узла.
В разделе 1 «Организация интерфейса» приводится теоретический материал о принципах организации интерфейса. В разделе 2 «Порт LPT» дается
типовая конфигурация контроллера интерфейса Centronics, форматы регистров контроллера и приводится информация с описанием работы контроллера при передаче данных по интерфейсу. В разделе 3 дается назначение
программы поддержки интерфейса Centronics и рассматриваются функции
(операции) этой программы.
Раздел 4 «Выполнение работы» предназначен для самостоятельного практического составления и выполнения ассемблерных команд для организации
передачи данных по интерфейсу Centronics для двух заданий. Для персонального компьютера имеются две возможности программирования передачи
данных по интерфейсу Centronics. Один с использованием программного
прерывания системы BIOS INT 17h (программирование на верхнем уровне),
второй путем обращения по физическим адресам регистров порта LPT (программирование на нижнем уровне).
В задании 1 (раздел 4.1) передача данных по интерфейсу должна быть организована с использованием операций программы INT 17h. В задании 2
(раздел 4.2) управление передачей должно быть организовано через регистры контроллера интерфейса (порта LPT). Перед выполнением каждого из
заданий необходимо изучить материал по организации интерфейса. Основные разделы этого материала – назначение проводников интерфейса (раздел
1.3), протокол передачи данных по интерфейсу (раздел 1.4), форматы регистров LPT-порта (раздел 2.2), программа прерывания INT 17h (раздел 3).
При правильном составлении ассемблерных команд передачи данных по
интерфейсу на следующем этапе выполнения каждого задания на экране откроется окно со схемой соединяемых интерфейсом устройств, в котором моделируется покомандное выполнение составленной программы и процесс передачи данных по интерфейсу Centronics. При этом можно наблюдать за из34
менениями состояний регистров LPT-порта и состояний сигналов на линиях
интерфейса при передаче данных по составленным командам.
Порядок работы при выполнении заданий следующий. При входе в раздел
4.1 «Задание 1» на экране появится окно с инструкцией по выполнению задания и алгоритмом программы (рис. 4.5).
Рис. 4.5. Окно с условиями выполнения задания 1
Необходимо получить у преподавателя номер варианта задания, мышкой
выбрать номер полученного задания. При этом на экране появится окно
(рис.4.6), в котором слева приводятся исходные данные для организации пе35
редачи по интерфейсу, а справа – текст программы, т.е. ассемблерные команды, определяющие выполнение задания. В приведенной программе ввести в
выделенные окна ассемблерных команд информацию, соответствующую исходным данным. Поэтому, прежде чем приступать к работе, необходимо изучить приведенную программу и определить в соответствии с исходными
данными и алгоритмом информацию, которую требуется занести в выделенные окна. Например, для регистра СХ – количество передаваемых по интерфейсу байт, для регистра АХ и DI – сегмент и смещение для адреса первой
ячейки памяти блока выводимых через интерфейс данных.
При работе в окне используются 3 кнопки:
а) «Назад»;
б) «Проверка результата»;
в) «Просмотр результата».
Управление кнопками – один щелчок левой кнопкой мыши.
Нажатие на кнопку «Назад» приводит к возврату в окно с условиями задания (рис.4.5).
При нажатии на кнопку «Проверка результата» появится окно с указанием
номера строки программы, в которой введены неправильные данные.
36
Рис. 4.6. Окно для составления программы
Кнопка «Проверка результата» позволяет только при правильном составлении программы открыть окно, в котором появится схема соединяемых интерфейсом устройств, по которой можно наблюдать за изменениями состояний регистров LPT-порта и состояний сигналов на линиях интерфейса при
передаче данных по составленным командам. На схеме приводятся ячейки
памяти, блок-схема LPT-порта, регистр буфера данных периферийного
устройства, в которое передаются данные по интерфейсу.
В правой части окна приводится составленная студентом программа с указателем команд. Внизу окна – 3 кнопки: «Назад», «Сброс» и «Шаг».
37
Нажатие на кнопку «Назад» приводит к возврату в окно с исходными данными (рис.4.6).
При нажатии на кнопку «Шаг» выполняется блок команд, перед первой
командой которого стоит указатель команд. Каждый блок определяется одним пунктом алгоритма (рис. 4.5). Кнопка «Сброс» устанавливает указатель
команд на первую команду программы.
При выполнении каждого блока команд изменяется состояние регистров и
сигналов на линиях интерфейса. При этом преподаватель может спросить у
выполняющих работу о назначении каждой команды и причину изменения
информационных параметров на схеме или задать другие вопросы по данной
теме.
Таким образом, выполнение задания заключается в составлении и вводе
закодированной информации в соответствии с заданными параметрами передачи в выделенные окна ассемблерных команд, прогоне моделирующего
процесса передачи данных и объяснении каждого шага процесса передачи
данных в периферийное устройство по интерфейсу.
«Задание 3 – Тест» (раздел 4.3) и «Задание 4» (раздел 4.4) предназначены
для проверки и оценки преподавателем с помощью компьютера освоенного в
данном практикуме материала студентами.
В «Задании 3 – Тест» проверка знаний у студентов проводится с помощью
тестирования. Но есть некоторое отличие от типовой организации тестирования. Для ответа на вопрос отведено ограниченное время, а процесс ответа на
вопрос организован двумя методами в зависимости от вопроса. В первом
случае по вопросу дается несколько ответов, из которых студент должен выбрать правильный, во втором случае отвечать на вопрос студент должен
письменно, кратко и правильно. При нажатии на кнопку «Задание 3 – Тест»
на экране появится инструкция для студентов для выполнения тестирования
(рис.4.7), а внизу экрана две кнопки «Студент» и «Преподаватель».
38
Рис. 4.7. Окно с инструкцией по выполнению тестирования
Система для преподавателя предназначена для формирования базы вопросов, ответов, задания времени на ответы, просмотра журнала ответов и др.
Вход в эту систему возможен только с помощью пароля. Для тестирования
знаний студент выбирает мышкой кнопку «Студент» и работает в соответствии с инструкцией представленной на экране в окне (рис. 4.7).
Задание 4 предназначено для тестирования по временным диаграммам работы интерфейса Centronics. Тестирование заключается в следующем. Процесс работы на интерфейсе представлен временной диаграммой с сигналами
DATA, STB, PE, ERR, BUSY, ACK (рис. 4.8). Назначение сигналов на линиях
интерфейса дано в разделе 1.3. Нужно отметить, что используемые на временной диаграмме сигналы, а также ситуации, возникающие в процессе обмена, создает преподаватель в процессе подготовки к практикуму.
39
Рис. 4.8. Окно с временной диаграммой при проведении тестирования
Процесс работы по заданию происходит в режиме диалога. При возникновении различных ситуаций, требующих варианты продолжения на экран выводятся соответствующие сообщения, на которые требуется определить и
ввести направление дальнейшего продолжения.
Весь процесс передачи на временной диаграмме разбит на отдельные фазы, определяемые сигналом Clock и пронумерованные цифрами 0, 1, ….30, …
Переход от одной фазы к следующей происходит автоматически после определения всех сигналов на линиях. В каждой фазе может происходить изменение сигналов на линиях в соответствии с ходом передачи по интерфейсу и
состоянии устройств. Состояние сигналов на линиях задается либо автоматически (компьютером), либо вручную (студентом). В процессе задания сигнала может произойти останов на одном из сигналов. Как показано на рис. 4.8,
останов произошел в фазе 8 на сигнале STB. В этом случае состояние сигнала на этой линии ( 0 или 1) должен определить и задать студент в зависимости от ситуации на интерфейсе.
С помощью клавиши «Пробел» на клавиатуре студент выбирает состояние линии на интерфейсе – «0» или «1» для одиночных линий, «Данные» или
40
z- состояние для шины «DATA». Выбрав определенное состояние, студент
должен нажать на клавишу «Enter» на клавиатуре для продолжения тестирования. Если состояние определено правильно, то движение по фазам на временной диаграмме продолжится до следующего останова. Если состояние
определено и введено неправильно, появится окно (рис.4.9).
Рис.4.9. Окно с указанием неправильного ввода
В этом случае для продолжения тестирования необходимо нажать на клавиатуре на клавишу «Esc», при этом введенная ошибка зафиксируется в журнале. Для выхода из процесса при очередной остановке нажать на клавишу
«Esc» 2 раза.
По окончании прогона по временным диаграммам на экране появится сообщение о количестве сделанных ошибок.
Проверка и контроль результатов тестирования проводит преподаватель
по методике, приведенной в разделе «Инструкция преподавателю».
41
Лабораторная работа № 5
ВНЕШНИЙ ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС “RS-232C”
Цель работы: изучение принципов реализации интерфейса RS-232C,
назначения сигналов на линиях интерфейса, протокола передачи данных по
интерфейсу, организации и функционирования COM-порта, программной
поддержки интерфейса.
Организация интерфейса.
В ВТ используются периферийные устройства, передающие или принимающие
информацию в последовательном коде. Для организации и обеспечения такой передачи широко используется внешний последовательный интерфейс RS-232C.
Одним из преимуществ использования интерфейса RS-232C является возможность передачи данных между устройствами, удаленными на большие расстояния.
Если устройства, связь с которыми осуществляется через интерфейс RS-232C,
находятся на небольшом расстоянии, то связь реализуется с помощью проводного
кабеля. Длина кабеля - до 18м. Если устройства находятся на значительном расстоянии, то в этом случае связь осуществляется через модемы и телефонные или
радиоканалы связи.
Интерфейс RS-232C применяется для синхронной и асинхронной передачи данных в дуплексном режиме, когда каждое устройство может начать передачу
другому устройству в произвольный момент времени. При этом для приема
и передачи используются различные линии. Данные в интерфейсе передаются в последовательном коде побайтно.
Все сигналы интерфейса RS-232С имеют уровни, обеспечивающие высокую помехоустойчивость связи. Стандарт определяет, что в интерфейсе
данные передаются в инверсном коде. Напряжение в диапазоне от -3В до
-12В считается двоичной единицей, а напряжение в диапазоне от +3В до
+12В - двоичным нулем. Диапазон от -3 до +3 В - зона нечувствительности,
42
обусловливающая гистерезис приемника: состояние линии будет считаться
измененным только после пересечения порога (рис.5.1).
Уровни сигналов на выходах передатчиков должны быть в диапазонах
от
-12В до -5В и от +5В до +12В для представления единицы и нуля
соответственно. Разность потенциалов между схемными землями (GND)
соединяемых устройств должна быть менее 2 В, при более высокой разности потенциалов возможно неверное восприятие сигналов.
Рис. 5.1. Уровни сигналов RS -232C
Физическая реализация.
Устройства, которые передают или принимают информацию по интерфейсу RS 232C, должны иметь в своем составе узел, называемый контроллер последовательного интерфейса. В ПК в качестве контроллера используется так называемый
COM- порт (Communication Port), который обеспечивает асинхронный обмен по
стандарту RS -232C.
43
Связь между двумя устройствами осуществляется с помощью проводного кабеля, в котором каждый проводник имеет строго определенное назначение. По стандарту определено несколько вариантов физической реализации интерфейса RS 232C. В ПК обычно устанавливается компактный вариант – 9-тиконтактный разъем DB-9.
Назначение сигналов интерфейса RS-232C.

DCD - Data Carrier Detected - вход сигнала обнаружения несущей удаленного модема.
 #RD - Receive Data - последовательные данные - вход приемника.
 #TD - Transmit Data - последовательные данные г выход приемника.
 #DTR - Data Terminal Ready - выход сигнала готовности терминала
обмену
данными.
Состояние
"включено"
поддерживает
коммутируемый канал в состоянии соединения.

SG - Signal Ground- сигнальная (схемная) земля, относительно
которой действуют уровни сигналов.

#DSR - Data Set Ready - вход сигнала готовности от аппаратуры
передачи данных (модем в рабочем режиме подключен к каналу и закончил
действия
по
согласованию
с
аппаратурой на проти-
воположном конце канала).

#RTS - Request To Send- выход передачи данных: состояние «включено»
уведомляет модем о наличие у терминала данных для передачи. В полудуплексном режиме используется для управления направлением состояние "включено" служит сигналом модему на переключение в
режим передачи.

#CTS - Clear To Send - вход разрешения терминалу передавать данные.
44
Состояние
"выключено"
запрещает передачу данных. Сигнал
используется для аппаратного управления потоками данных.

RI - Ring Indicator - вход индикатора вызова (звонка). В
коммутируемом канале этим сигналом модем сигнализирует о
принятии вызова
Рассмотрим временные диаграммы передачи данных для случая подключения модема к контроллеру интерфейса RS-232C (рис.5.2). Цифрами и пунктирами на временной диаграмме указаны этапы возможные при передаче,
возникающие при изменении состояния управляющих сигналов. Знак # указывает, что активное состояние сигнала – логический ноль.
Рис. 5.2 Последовательность управляющих сигналов интерфейса RS-232C
1. Установкой сигнала #DTR ПК указывает на желание использовать
модем.
2. Сигналом #DSR модем сигнализирует о своей готовности на
45
установление соединения.
3. Сигналом #RTS ПК запрашивает у модема разрешение на передачу и
заявляет о своей готовности принимать данные от модема.
4. Сигналом #CTS модем уведомляет о своей готовности к приему
данных от ПК и передачи их в линию.
5. Снятием CTS# модем сигнализирует о невозможности дальнейшего
приема (например, буфер заполнен) - ПК должен приостановить передачу данных.
6. Сигналом #CTS=0 модем разрешает ПК продолжить передачу (в
буфере появилось место).
7. Снятие #RTS может означать как заполнение буфера ПК (модем
должен приостановить передачу данных в ПК), так и отсутствие данных
для передачи в модем. Обычно в этом случае модем прекращает
пересылку данных в компьютер.
8. Модем подтверждает снятие #RTS сбросом #CTS.
9. ПК повторно устанавливает #RTS для возобновления передачи.
10.Модем подтверждает готовность к этим действиям.
11 .ПК указывает на завершение обмена.
12.Модем отвечает подтверждением.
13.ПК снимает #DTR, что обычно является сигналом на разрыв
соединения ("повесить трубку").
Модем сбросом сигнала #DSR сигнализи-
рует о разрыве соединения.
Асинхронный режим передачи.
Асинхронный
режим
передачи
является
байт-ориентированным
(символьно - ориентированным): минимальная пересылаемая единица
информации - один байт (один символ). Формат посылки символа иллюстрирует рис.5.3.
46
Рис.5.3. Формат асинхронной передачи RS-232C
Передача каждого байта начинается со старт-бита, сигнализирующего
приемнику о начале посылки, за которым следуют биты данных. Затем, если
запрограммирована передача с контролем, следует бит паритета (контроля).
Завершает посылку стоп-бит, гарантирующий паузу между посылками.
Старт-бит следующего байта посылается в любой момент после стоп-бита,
т. е. между передачами возможны паузы произвольной длительности.
Старт-бит, имеющий всегда строго определенное значение (логический
0), обеспечивает простой механизм синхронизации приемника по сигналу от передатчика. Подразумевается, что приемник и передатчик работают на одной скорости обмена. Внутренний генератор синхронизации
приемника использует счетчик - делитель опорной частоты, обнуляемый в
момент приема начала старт - бита. Этот счетчик генерирует внутренние
стробы, по которым приемник фиксирует последующие принимаемые биты.
При отсутствии передачи в линии данных устанавливается сигнал «1» с
потенциалом – 12В.
47
Контроллер интерфейса RS-232C.
Контроллером интерфейса в ПК является
коммуникационный порт (COM-
порт). Этот порт обеспечивает только асинхронный обмен по интерфейсу RS232C и реализует следующие функции:
 преобразование параллельного кода в последовательный при передаче и
обратное преобразование при приеме;
 формирование стартового, стопового битов и бита паритета и контроль их
правильности при приеме;
 прием и передача данных на заданной скорости;
 формирование и контроль состояния сигналов интерфейса RS-232C.
Основным узлом COM-порта является устройство управления приемопередачей. В первых моделях ПК (IBM PC, IBM PC/XT) эту функцию COM-порта
выполняла БИС UART (универсальный асинхронный приемо-передатчик) i8250.
БИС i8250 имеет невысокое быстродействие при работе с системной шиной. В более поздних разработках ПК в качестве UART использовались БИС более совершенных модификаций: i16450, i16550, i16550А.
ПК может иметь до четырех коммуникационных портов, имеющих логические имена СОМ1, COM2, COM3, COM4. Микросхема UART имеет 10
программируемых однобайтовых регистров, с помощью которых управляется и контролируется работа СОМ - порта. В адресном пространстве ПК регистры располагаются по следующим базовым адресам (BASE): для COM1 –
3F8H, COM2 - 2F8H, COM3 -3Е8Н, СОМ4-2Е8Н. Порты могут вырабатывать аппаратные прерывания: IRQ4 (обычно используются для СОМ1 и
СОМ3) и IRQ3 (для СОМ2 и СОМ4).
Некоторые регистры БИС UART имеют одинаковые адреса. Программирование БИС начинается с занесения данных в регистр управления обменом
по адресу « BASE + 3 ». В дальнейшем обращение к регистрам с одинаковыми адресами зависит от значения бита В7 в регистре управления обменом.
Список регистров БИС UART и их адреса приведены в таблице 5.1.
48
Таблица 5.1. Регистры БИС UART
_______________________________________________________________
Название регистра
Адрес
_______________________________________________________________
Передатчик
BASE
(B7 = 0)
Приемник
BASE
(B7 = 0)
Регистр скорости (младший байт)
BASE
(B7 = 1)
Регистр скорости (старший байт)
BASE + 1
(B7 = 1)
Регистр разрешения прерываний
BASE + 1
(B7 = 0)
Регистр идентификации прерываний
BASE + 2
Регистр управления обменом
BASE + 3
Регистр состояния обмена
BASE + 5
Регистр управления модемом
BASE + 4
Регистр состояния модема
BASE + 6
_____________________________________________________________________
Следует отметить, что в регистры скорости передачи заносится не величина скорости, а код делителя частоты, пропорциональный скорости передачи. Например,
скорости 4800 б/с соответствует код 0018Н, а скорости 115200 б/с – 0001Н.
Передача данных по интерфейсу RS-232C может быть организована по разным
параметрам. Параметры передачи задаются программно, т.е. путем инициализации
контролера (COM-порта). При включении ПК производится начальная инициализация контроллера. В процессе работы ПК пользователь может установить другие
параметры. Необходимо отметить, что оба устройства, соединяемые интерфейсом, должны быть запрограммированы (настроены) на работу с одинаковыми параметрами, т.е. должен быть согласованный протокол передачи данных.
49
Параметры программирования COM –порта.
1. Скорость передачи. Для асинхронного режима принят ряд стандартных
скоростей обмена (бит/с): 110, 150, 300, 600, 1200, ……….., 38400, 57600,
115200.
2. Количество передаваемых бит в слове может составлять – 5, 6, 7, 8.
3. Возможность контроля при передаче слова: а) без контроля; б) контроль
на четность; в) контроль на нечетность.
4. Число стоповых бит: 1 или 2.
По интерфейсу RS-232C можно организовать 2 режима передачи данных:
простой ввод-вывод или передачу с квитированием. В первом случае используются только линии передачи данных. При передаче с квитированием используются
управляющие сигналы. Информация о режиме передачи задаются при программировании порта путем занесения информации об использовании управляющих в
соответствующие регистры порта. Также при программировании задается организация передачи данных: программная или по прерыванию.
Назначение регистров БИС UART.
Передатчик - промежуточный регистр данных передатчика (только для
записи). Данные, записанные в регистр, будут пересланы в выходной сдвигающий регистр (когда он будет свободен), из которого поступят на выход при наличии разрешающего сигнала #CTS. Бит 0 передается (и принимается) первым. При длине посылки менее 8 бит старшие биты игнорируются.
Приемник - буферный регистр принимаемых данных (только для чтения). Данные, принятые входным сдвигающим регистром, откуда они могут
быть считаны процессором. Если к моменту окончания приема очередного символа предыдущий не был считан из регистра, фиксируется
50
ошибка переполнения. При длине посылки менее 8 бит старшие биты в
регистре имеют нулевое значение.
Регистр младшего байта делителя частоты (скорости передачи). Делитель определяется формуле D=115200/V, где V- скорость передачи
(бит/с). Входная частота синхронизации 1,8432 МГц делится на заданный
коэффициент, после чего получается 16-кратная частота передачи данных.
Регистр старшего байта делителя частоты (скорости передачи).
Регистр разрешения прерываний и регистр идентификации прерываний
используются только в процедурах, в которых необходимо использовать режим прерывания при передаче данных по интерфейсу RS-232C.
Регистр разрешения прерываний. Единичное значение бита разрешает прерывание от соответствующего источника. Назначение бит регистра
разрешения прерываний:
• биты [7 : 4] = 0 - не используются;
• бит 3 - по изменению состояния модема (любой из линий #CTS,
#DSR, RI, DCD);
• бит 2 - по обрыву (ошибке) линии;
• бит 1 - по завершении передачи (передатчик свободен);
• бит 0 - по приему символа (получены данные в приемнике).
Если прерывания разрешены, то при появлении соответствующей ситуации, заданной в регистре разрешения прерываний, в регистр идентификации
прерываний в биты В2 и В1 заносится тип прерывания (00 – изменение состояние модема; 01 – передан символ и передатчик пуст; 10 – получены данные для приема микропроцессором; 11 – поступило условие обрыва линии
или ошибка приема. При этом бит В0 устанавливается в «1», и формируется
аппаратное прерывание (сигнал на линиях IRQ3 или IRQ4). Регистр иденти51
фикации прерываний используется только для чтения. Для упрощения программного анализа UART выстраивает внутренние запросы прерывания по
четырехуровневой системе приоритетов. Порядок приоритетов (по убыванию): состояние линии, прием символа, освобождение регистра передатчика,
состояние модема. При возникновении условий прерывания UART указывает
на источник с высшим приоритетом до тех пор, пока он не будет сброшен
соответствующей операцией. Только после этого будет выставлен запрос с
указанием следующего источника.
Регистр управления обменом (регистр настройки параметров передачи по
интерфейсу).
 бит В7 – управление доступом к регистрам с одинаковыми адресами;
 бит В6 – формирование обрыва линии (посылка нулей);
 бит В5 – принудительное формирование бита паритета:
а) В5=0 – контрольный бит генерируется в соответствии с заданными
условиями паритета выводимого символа;
б) В5=1 – постоянное значение контрольного бита (при В4=1 – нулевое,
при В4= 0 – единичное);
 бит В4 – выбор типа контроля: 0 – контроль на нечетность, 1 – контроль на
четность;
 бит В3 – разрешение контрольного бита: 0 – контрольный бит запрещен, 1 –
контрольный бит разрешен;
 бит В2 – количество стоп- бит: 0 – 1 стоп-бит, 1 – 2 стоп – бита.
 биты [1 : 0] – количество бит данных: 00 – 5 бит, 01 – 6 бит, 10 – 7 бит, 11 –
8 бит.
Регистр состояния обмена. Формат регистра:
 бит В7=1 – тайм-аут (ошибка принятых данных в режиме FIFO). В режиме не FIFO бит В7 всегда равен 0;
52
 бит В6=1 – регистр передатчика пуст, передача закончена, данных для
передачи нет;
 бит В5=1 – буферный регистр передачи пуст и готов принять данные для
передачи;
 бит В4=1 – обнаружен обрыв линии (постоянная передача нулей);
 бит В3=1 – ошибка кадра (неверный стоп-бит);
 бит В2=1 – ошибка паритета (ошибка контрольного бита);
 бит В1=1 – ошибка переполнения при приеме (принят очередной символ
раньше, чем прочитан предыдущий, при этом предыдущий символ теряется);
 бит В0=1 – полученные данные готовы для чтения процессором.
Регистр управления модемом. Формат регистра:
• биты [7:5]=0 – не используются;
• бит В4 – режим работы UART: 0 – рабочий, 1 – диагностический;
•
бит В3 – разрешение прерываний с помощью внешнего выхода OUT2;
• бит В2 - управление выходным сигналом OUT1 (в рабочем режиме не
используется);
• бит В1 - управление выходом #RTS;
• бит В0 - управление выходом #DTR.
Регистр состояния модема.. Регистр фиксирует состояние и изменение состояний линий управления интерфейса. Формат регистра:
 бит В7 – состояние линии DCD;
 бит В6 – состояние линии RI;
 бит В5 – состояние линии #DSR;
 бит D4 – состояние линии #CTS;
 бит В3 – изменение состояния линии DCD;
 бит В2 – изменение состояния линии RI;
 бит В1 – изменение состояния линии #DSR ;
53
 бит В0 - изменение состояния линии #CTS.
Признаки изменения биты [3:0] сбрасываются по чтению регистра.
Программная организация управления передачей по интерфейсу.
COM-порты поддерживаются сервисом BIOS (программой прерывания INT
14H). Эта программа может выполнять четыре операции, определяемые содержимым регистра АН МП:
1) АН=0 – инициализация порта (установка скорости передачи и формата посылок);
2) АН=1 – вывод символа;
3) АН=2 – ввод символа;
4) AH=3 - чтение состояния линии и модема ( чтение регистров LSR и
MSR).
При работе с программой INT 14Н в регистре DX необходимо предварительно установить номер COM-порта (0- СОМ1, 1-СОМ2, 2- СОМ3, 3- СОМ4).
При выполнении каждой операции в регистр АН возвращается состояние
линии (содержимое регистра состояния обмена). При выполнении операции
«Чтение состояния» в регистр АН также возвращается состояние линии, а в
регистр AL – состояние модема (содержимое регистра состояния модема).
Приведем пример инициализации последовательного контроллера, когда
устанавливаются все его параметры. Длина слова инициализации -1 байт.
Назначения битов этого байта следующие (в скобках даны конкретные значения для примера):
 биты 0-1 - длина слова ( 1 1 - 8 бит);
 бит 2 - число стоп-битов ( 1 - 2 бит);
 биты 3-4 - контроль (11 - на четность);
 биты 5-7 - скорость обмена (010 - 300 бод).
54
В состав ПК может входить несколько контроллеров последовательного
интерфейса. Поэтому необходимо задавать номер контроллера, к которому
происходит обращение.
;инициализация последовательного контроллера
mov dx,0
;выбор контроллера (порт СОМ1)
mov al,01011111B
;установка параметров инициализации
mov ah,0
;задание операции инициализации
int 14H
;инициализация контроллера
Прежде чем передать или принять код данных, необходимо прочитать содержимое регистра состояния обмена и проанализировать его. В следующем
примере приводится процедура выдачи центральным процессором данных
для передачи их через последовательный интерфейс. Для этого проверяется
бит 5 регистра состояния, информирующий о выдаче в интерфейс предыдущего кода. Затем посылается код очередного символа.
M:
mov dx,0
;выбор контроллера
mov ah,3
;задание операции “Чтение состояния”
int 14H
;выполнение операции
test al,00100000B ;данные переданы?
jz M
;если нет – повторение операции
mov al,char
;запись кода символа
mov ah,1
;задание операции “Посылка одного символа”
int 14H
;выполнение операции
Аналогично организуется прием данных центральным процессором. В отличие от рассмотренной процедуры анализируются биты регистра состояния,
информирующие о поступлении очередного кода и безошибочности его передачи.
55
Выполнение работы
Данная лабораторная работа представляет собой компьютерный электронный практикум, представляющий собой пакет прикладных программ,
выполняемых на персональной ЭВМ, работающей под управлением ОС Windows. Программа для запуска электронного практикума СОМ.exe находится в
папке RS232C(лаб). Запуск практикума – запуск программы СОМ.exe.
В содержимое электронного практикума входит теоретический материал
по изучению внешнего последовательного интерфейса RS232C и практические задания. При выполнении задания моделируется работа контроллера
интерфейса (COM-порта персонального компьютера) при передаче данных
по интерфейсу в периферийное устройство по программе, написанной студентами в соответствии с полученным заданием.
При запуске программы СОМ.exe откроется главное окно с содержанием
практикума:
ТЕОРИЯ
2. Организация интерфейса.
1.1. Назначение интерфейса.
1.2. Физическая реализация.
1.3. Передача данных.
1.4.Ассинронный режим.
2. Контроллер интерфейса .
Организация СОМ - порта.
ПРАКТИКА
Задание 1 (варианты 1-4).
Задание 2.
Тестирование.
ВЫХОД
56
Разделы 1-2 – это текстовый учебный материал с рисунками и графическими иллюстрациями и гиперссылками, с помощью которых на рассматриваемых схемах выделяются выбранные узлы и выводятся соответствующие
пояснения и определения. Например, при изучении материала по организации COM – порта приводится список регистров БИС UART, составляющего
основу COM – порта. С помощью гиперссылок можно просмотреть более подробно форматы всех регистров этой БИС.
В разделе 1 «Организация интерфейса» приводится теоретический материал о принципах организации интерфейса. Подраздел 1.1 «Назначение интерфейса» о назначении интерфейса. В подразделе «Физическая реализация»
приводится информация о назначении сигналов интерфейса. Подраздел «Передача данных» представляет материал о протоколе обмена информацией по
интерфейсу в виде диаграмм. В подразделе «Асинхронный режим» рассматриваются особенности организации передачи данных по интерфейсу в асинхронном режиме, формат асинхронной передачи, параметры, которые должны быть заданы в соответствии с протоколом передачи.
В разделе 2 «Контроллер интерфейса» дается типовая конфигурация контроллера интерфейса RS232C (СОМ – порта), рассматриваются используемые в контроллерах микросхемы асинхронных приемо-передатчиков, которые с программной точки зрения представляют собой набор регистров. Приводятся базовые адреса регистров каждого порта, назначения регистров,
назначение бит каждого регистра.
Раздел «Практика» предназначен для выполнения практической самостоятельной работы на компьютере. Раздел «Практика» состоит из трех подразделов: 1) «Задание 1»; 2) «Задание 2»; 3) «Тестирование».
. Подраздел «Задание 1» предназначен для освоения методики инициализации контроллера интерфейса RS232C, т.е. написания ассемблерных команд
инициализации контроллера и организации передачи данных по интерфейсу.
Для составления соответствующей программы в каждом задании приводится
алгоритм программы.
57
Порядок работы при выполнении «Задания 1» следующий. В разделе
«Практика» выбрать подраздел «Задание 1». При этом слева от меню появится инструкция «Выполнение задания 1» (рис. 5.4), определяющая порядок
работы на компьютере.
Выполнение задания 1
Для выполнения задания нажмите на кнопку с надписью «Задание 1»
и выберите вариант, который вам укажет преподаватель. Задание заключается в написании программы вывода одного байта по интерфейсу
RS232C во ВУ на языке Ассемблер. После выбора варианта появится
окошко, где приводятся данные для выполнения задания и программа на
языке Ассемблер с пропущенными элементами. Ваша задача состоит в
правильном заполнении пустых полей программы. После заполнения
нажмите на кнопку «Ввод». При правильном вводе данных в ассемблерные команды, откроется страница, в которой моделируется по-командное
выполнение составленной программы и процесс передачи байта по интерфейсу RS232C.
Для ознакомления с алгоритмом программы нажмите на кнопку «Алгоритм».
Рис. 5.4. Инструкция по выполнению задания 1
В соответствии с инструкцией (рис. 5.4) необходимо получить у преподавателя номер варианта задания и мышкой справа от инструкции в окне «Выберите вариант» выбрать номер полученного задания. При входе в вариант
задания откроется окно с элементами: «Задание», «Программа» и кнопками:
«Назад», «Алгоритм», «Ввод» и «Далее».
Задача выполнения задания состоит в правильном заполнении пустых полей программы, приведенной в окне «Программа», в соответствии с исходными параметрами работы СОМ-порта, приведенными в окне «Задание» и с
58
алгоритмом (рис.5.5.), который выводится на экран при нажатии на кнопку
«Алгоритм».
Алгоритм:
1. Задать скорость передачи. Для этого предварительно в
регистре управления линией (LCR) установить соответствующий бит в "1", а параметры инициализации не выводить.
2. Ввести параметры инициализации в регистр управления
линией (LСR) и ввести информацию о разрешении прерывания (IER).
3. Сформировать сигнал RTS - запрос на передачу данных
(MCR).
4. Проверить поступление сигнала CTS от ВУ - разрешение
на передачу данных (MSR).
5. Проверить состояние регистра передатчика (LSR).
6. Послать байт (THR).
7. Снять сигнал RTS (MCR).
Рис. 5.5. Окно с алгоритмом программы
В окне «Задание» кроме заданных параметров инициализации порта указаны действия студента:
«Заполните выделенные в командных полях: информационные данные в
двоичном коде, адресные порты в шестнадцатиричном коде. После заполнения нажмите на кнопку "Ввод"».
При нажатии на кнопку «Ввод» появится окно с указанием номеров строк
программы, в которых введены неправильные данные.
Кнопка «Далее» позволяет только при правильном составлении программы открыть окно (рис.5.6), в котором появится схема соединяемых интерфейсом устройств, по которой можно наблюдать за изменениями состояний
регистров СОМ-порта и состояний сигналов на линиях интерфейса при пере59
даче данных по составленным командам. На схеме приводятся РОНы микропроцессора, регистры СОМ-порта, буферный регистр ВУ, через который передаются данные по интерфейсу.
Рис. 5.6. Окно со схемой передачи данных по интерфейсуRS232C
60
В правой части окна приводится составленная студентом программа с указателем команд. Внизу окна – 3 кнопки: «Ввод», «Сброс» и «Закрыть».
При нажатии на кнопку «Ввод» выполняется одна команда, перед которой стоит указатель команд. Сначала выполняется первая команда программы, и указатель переходит на следующую строку программы, т.е. на вторую
команду и т.д.
Кнопка «Сброс» устанавливает указатель команд на первую команду программы.
Нажатие на кнопку «Закрыть» приводит к возврату в окно с исходными
данными.
При выполнении каждой команды изменяется состояние регистров и сигналов на линиях интерфейса. При этом преподаватель может спросить у выполняющих работу о назначении каждой команды и причину изменения информационных параметров на схеме или задать другие вопросы по данной
теме.
Таким образом, выполнение задания заключается в составлении и вводе
закодированной информации в соответствии с заданными параметрами инициализации порта и параметрами передачи в выделенные окна ассемблерных
команд, прогоне моделирующего процесса передачи данных и объяснении
каждого шага процесса передачи данных в периферийное устройство по интерфейсу.
«Задание 2» и «Тестирование» в разделе «Практика» предназначены для
проверки и оценки преподавателем с помощью компьютера освоенного в
данном практикуме материала студентами.
«Задание 2» предназначено для тестирования по временным диаграммам
работы интерфейса RS232C. Тестирование заключается в следующем. Процесс работы на интерфейсе представлен временной диаграммой с сигналами
#TxD, #DTR, #DSR, #RTS, #CTS (рис. 5.7). Нужно отметить, что используемые на временной диаграмме сигналы, а также ситуации, возникающие в
61
процессе обмена, создает преподаватель в процессе подготовки к практикуму, выбрав режим «Преподаватель».
Рис. 5.7. Окно с временной диаграммой при проведении тестирования
Для проведения тестирования в «Задании 2» студент должен выбрать режим «Студент». Процесс работы по заданию происходит в режиме диалога.
При возникновении различных ситуаций, требующих варианты продолжения
на экран выводятся соответствующие сообщения, на которые требуется
определить и ввести направление дальнейшего продолжения.
Весь процесс передачи на временной диаграмме разбит на отдельные фазы, определяемые сигналом Clock и пронумерованные цифрами 0, 1, ….30, …
Переход от одной фазы к следующей происходит автоматически после определения всех сигналов на линиях. В каждой фазе может происходить изменение сигналов на линиях в соответствии с ходом передачи по интерфейсу и
состоянии устройств. Состояние сигналов на линиях задается либо автоматически (компьютером), либо вручную (студентом). В процессе задания сигнала может произойти останов на одном из сигналов. Как показано на рис. 5.7
останов произошел в фазе 5 на сигнале #TxD. В этом случае состояние сиг62
нала на этой линии ( 0 или 1) должен определить и задать студент в зависимости от ситуации на интерфейсе.
С помощью клавиши «Пробел» на клавиатуре студент выбирает состояние линии на интерфейсе – «0» или «1» для одиночных линий, «Данные» или
z- состояние для шины «#TxD». Выбрав определенное состояние, студент
должен нажать на клавишу «Enter» на клавиатуре для продолжения тестирования. Если состояние определено правильно, то движение по фазам на временной диаграмме продолжится до следующего останова. Если состояние
определено и введено неправильно, появится окно (рис.5.8).
Рис.5.8. Окно с указанием неправильного ввода
В этом случае для продолжения тестирования необходимо нажать на клавиатуре на клавишу «Esc», при этом введенная ошибка зафиксируется в журнале. Для выхода из процесса при очередной остановке нажать на клавишу
«Esc» 2 раза.
По окончании прогона по временным диаграммам на экране появится сообщение о количестве сделанных ошибок.
В подразделе «Тестирование» проверка знаний у студентов проводится с
помощью тестирования. Но есть некоторое отличие от типовой организации
тестирования. Для ответа на вопрос отведено ограниченное время, а процесс
ответа на вопрос организован двумя методами в зависимости от вопроса. В
63
первом случае по вопросу дается несколько ответов, из которых студент
должен выбрать правильный, во втором случае отвечать на вопрос студент
должен письменно, кратко и правильно. При нажатии на кнопку «Тестирование» на экране появится инструкция для студентов для выполнения тестирования (рис.5.9), а внизу экрана две кнопки «Студент» и «Преподаватель».
Рис. 5.9. Окно с инструкцией по выполнению тестирования
Система для преподавателя предназначена для формирования базы вопросов, ответов, задания времени на ответы, просмотра журнала ответов и др.
Вход в эту систему возможен только с помощью пароля. Для тестирования
знаний студент выбирает мышкой кнопку «Студент» и работает в соответствии с инструкцией представленной на экране в окне (рис. 5.9).
Проверка и контроль результатов тестирования проводит преподаватель по методике, приведенной в разделе «Инструкция преподавателю».
64
Инструкция преподавателю
При выполнении лабораторных работ №4 и №5 предусмотрено проведение контроля знаний студентов на компьютере. Контроль можно проводить
в начале практикума, чтобы определить подготовленность студента к выполнению лабораторной работы. Можно провести в конце занятий, чтобы определить насколько студент усвоил текущий материал.
Для указанных лабораторных работ контроль знаний организован одинаково. Предусмотрено два типа тестирования.
Первый тип тестирования – ответы на вопросы. Для лабораторной работы
№4 – это «Задание 3 – Тест», для лабораторной работы №5 – это раздел в
главном меню работы «Тестирование». В общем случае для ответа на вопрос
отведено ограниченное время, а процесс ответа на вопрос организован двумя
методами в зависимости от вопроса. В первом методе по вопросу дается несколько ответов, из которых студент должен выбрать правильный, во втором
- отвечать на вопрос студент должен письменно, кратко и правильно.
При нажатии на кнопку «Задание 3 – Тест» (работа №4) или на кнопку
«Тестирование» (работа №5) на экране появятся две кнопки «Студент» и
«Преподаватель». Вход в раздел «Преподаватель» возможен только с помощью пароля, о котором будет указано ниже.
В первом окне раздела «Преподаватель» появится меню преподавателя:
- просмотр результатов тестирования;
- просмотр и редактирование базы тестирования.
Просмотр результатов тестирования представит преподавателю всю информацию по каждому студенту о том, как он прошел тестирование.
При входе во второй раздел меню на экране появится окно (рис.6.1) с
кнопками и окнами, позволяющими проводить всевозможные действия для
составления и корректировки базы для тестирования.
65
Рис. 6.1. Окно редактирования вопросов
Как видно по рисунку, данный раздел имеет следующие подразделы (окна):
-редактор вопросов;
- ответы;
- правильный ответ;
- количество задаваемых вопросов;
- время на вопрос.
66
Снизу расположены кнопки управления.
Просмотр и редактирование базы тестирования
Окно редактирования вопросов можно разделить на 3 части:
- Список вопросов.
- Просмотр вопросов.
- Редактор вопросов.
При нажатии в разделе "Номер вопроса" на какой-нибудь вопрос, в разделах "Просмотр вопросов" и "Редактор вопросов" появится информация о самом вопросе, количестве ответов, ответы и номер правильного ответа.
Раздел "Просмотр вопросов" предназначен только для просмотра базы тестирования. Содержимое окон этого раздела непосредственно в этих окнах
нельзя изменять.
Все изменения делаются в разделе "Редактор вопросов".
Действия, которые можно выполнить над базой теста:
- Добавить вопрос
- Редактировать вопрос
- Удалить вопрос
- Очистить редактор
- Изменить кол-во задаваемых вопросов
- Изменить время, отведенное на вопрос
Если вы хотите добавить вопрос, то необходимо выполнить следующие
действия в разделе "Редактор вопросов":
- Ввести текст вопроса в отведенное место.
- Выбрать количество ответов. Максимальное количество ответов - 10. Ответов может не быть, в этом случае выбираем 0.
67
- Ввести в поле "Ответы" варианты ответов.
- Затем выбрать номер правильного ответа.
- Затем нажать на кнопку "Добавить вопрос". Если вы не нажмете на эту
кнопку, то вопрос в базу не добавится!!! После нажатия можно увидеть, что
в списке вопросов наверху слева появится еще один вопрос.
Если вы хотите отредактировать вопрос, то необходимо выполнить
следующие действия в области "Редактор вопросов":
- Выбрать вопрос из списка вопросов, который находится наверху слева.
После этого видно, как раздел "Редактор вопросов" изменится. В этом разделе появится информация по выбранному вопросу.
- Произвести изменения в тексте вопроса или в количестве ответов, или в
тексте ответов.
- После всех необходимых изменений нажать на кнопку "Редактировать
вопрос". Если на эту кнопку не нажать, то вопрос не отредактируется!!!
Если необходимо удалить вопрос, то
выделить нужный вопрос и
нажать на кнопку "Удалить вопрос".
Если требуется очистить редактор, то необходимо нажать на кнопку
"Очистить редактор". При нажатии на эту кнопку база тестирования не стирается и не редактируется, она просто очищает поля в области "Редактор вопросов".
Если требуется изменить количество задаваемых вопросов, то необходимо вначале выбрать их количество из появившегося списка, а затем обязательно нажать на кнопку "Изменить количество задаваемых вопросов".
68
Если требуется изменить время, отведенное на вопрос, то необходимо
вначале выбрать задаваемое время из появившегося списка, а затем обязательно нажать на кнопку "Изменить время".
Проверка результатов тестирования
Для проверки результатов тестирования преподаватель должен войти в
подраздел «Просмотр результатов тестирования». При этом на экране появится вся информация о результатах по каждому студенту. Пример, выводимой информации по контролю приведен на рис.6.2.
Рис.6.2. Окно с показаниями тестирования
69
Второй тип тестирования– тестирование по временным диаграммам
работы интерфейса Centronics (лабораторная работа №4 – Задание 4) и интерфейса RS232C (лабораторная работа №5 - Задание 2). Базу и материал для
тестирования задает преподаватель в процессе подготовки к практикуму. При
входе в каждое из этих заданий внизу экрана появятся две кнопки «Студент» и «Преподаватель». Вход в раздел «Преподаватель» возможен только с
помощью пароля. Пароль можно узнать в файле “instr.doc”, размещенном в
папке “Centronics” (работа №4) и “COM-порт“ (работа №5).
При входе в систему «Преподаватель» на экране появится основное меню
с указанием возможных для преподавателя разделов:
- создать новую тему;
- отредактировать старую тему;
- удалить тему;
- просмотреть журнал;
- удалить журнал.
В первом разделе преподаватель формирует по заданной теме временные
диаграммы сигналов, которые используются при передаче информации по
соответствующему интерфейсу. При этом он определяет несколько точек по
каждому сигналу, для которых выделяет правильное значение в данной ситуации ( 0 или 1 для линии; передача информации или отсутствие данных на
шине). Количество точек преподаватель определяет в зависимости от ситуации на интерфейсе. При тестировании в выделенных точках студент должен
определить и указать правильное значение состояния линии. Неправильно
указанное состояние зафиксируется в журнале. Результаты тестирования
преподаватель может просмотреть по журналу, войдя в раздел «просмотреть
журнал», по окончании работы. Для работы в разделах используется диалоговый режим работы с системой.
70
СПИСОК ЛИТЕРАТУРЫ
.
1. Фролов А.В., Фролов Г.В. Программирование видеоадаптеров CGA,
EGA и VGA. – М.: «Диалог-МИФИ», 1994.
2. Райхлин В.А., Борисов А.Н. Основы организации микропроцессорных
систем. Учебное пособие для вузов. Казань: Изд-во Казан. гос. техн. ун-та,
1998.
3. Зубков С.В. Assembler для DOS, Windows и UNIX. – М.: ДМК Пресс,
2000.
4. Гук М.. Аппаратные интерфейсы ПК. Энциклопедия. – С-Пб.: “Питер”,
2002.
5. Агуров В.П. Последовательные интерфейсы ПК. Практика программирования. - С-Пб.: БХВ - Петербург, 2004.
71
СОДЕРЖАНИЕ
Введение... …………………………………………………………………..... 3
Лабораторная работа №1. ИНТЕРФЕЙС ДИНАМИКА В ПК.
(Формирование звука) ………….…………………………………………...…. . 5
Лабораторная работа №2. ФУНКЦИОНИРОВАНИЕ ВИДЕОПАМЯТИ В
ТЕКСТОВОМ РЕЖИМЕ
………………………………………….…………11
Лабораторная работа №3. ФОРМИРОВАНИЕ ИЗОБРАЖЕНИЯ В ВИДЕОАДАПТЕРЕ VGA В ГРАФИЧЕСКОМ РЕЖИМЕ ………………….…...19
Лабораторная работа №4. ВНЕШНИЙ ПАРАЛЛЕЛЬНЫЙ ИНТЕРФЕЙС
“CENTRONICS” ……………………………………………………………..…26
Лабораторная работа №5. ВНЕШНИЙ ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС “RS-232C” …………………………………………………………….... 42
Инструкция преподавателю ……………………………………………..….65
Список литературы…………………………… ………………………….…71
72
Download