ПРИНЦИПЫ РАБОТЫ ВИДЕОСИСТЕМЫ ПЭВМ



 

Видеосистема персонального компьютера, предназначенная для формирования изображений, содержит две составные части: видеоадаптер и монитор. Основу видеоадаптера составляют специализированные схемы для генерирования электрических сигналов, управляющих монитором.

Все видеосистемы содержат электронные компоненты, формирующие сигналы синхронизации, цветности и управляющие генерированием текстовых символов. Кроме того, во всех видеосистемах имеется видеобуфер. Он представляет собой область оперативной памяти, которая предназначена только для хранения текста или графической информации, выводимой на экран монитора. Наиболее распространенными типами видеоадаптеров являются адаптер VGA и адаптер SuperVGA.

Центральным устройством в управлении видеомонитором является контроллер электронно-лучевой трубки(ЭЛТ). В ПЭВМ применяются программируемые контроллеры, позволяющие задать все основные параметры развертки изображения на экране изображения на экране.

Режим работы видеомонитора характеризуется следующими понятиями:

- вертикальным разрешением (количество строк растра на экране);

- горизонтальным разрешением (количеством символов или точек в строке);

- представлением данных в видеопамяти;

- атрибутами вывода, задающими цвет, мерцание и т.п.

Параметры развертки заносятся в определенные регистры контролера ЭТЛ.

Например, адаптеры MGA и CGA содержат контроллер ЭЛТ Motorola 6845, имеющий программируемые регистры, показанные в таблице 4.1.

 


Таблица 4.1 – Программируемые регистры

Регистр Наименование Описание
R0 Общая длительность строки (horizontal total) Время вывода строки растра в символьных тактах.
R1 Ширина кадра (horizontal displayed) Количество символов в строке
R2 Позиция горизонтальной синхронизации (horizontal sync position) Начало горизонтальной синхронизации в символьных тактах.
R3 Ширина синхронизации (sync width ) Деятельность синхронизации (Младшая тетрада - вертикальной)
R4 Размер кадра(vertical total) Общее кол-во строк в кадре
R5 Вертикальное выравнивание (vertical adjust) Поправка для частоты 50 или 60Гц
R6 Высота кадра(vertical displayed) Количество строк изображения в кадре
R7 Позиция вертикальной синхронизации (vertical sync position) Начало вертикальной синхронизации в символьных тактах
R8 Биты 4-5: режим расслоения (interlace mode); биты 6-7: сдвиг (skew)  
R9 Макс. Число строк растра Количество строк изображения в кадре
R10 Начало курсора Начальная строка курсора
R11 Конец курсора Конечная строка курсора
R12 R13 Начальный адрес видеопамяти Старший байт Младший байт
R14 R15 Позиция курсора Старший байт Младший байт
R16 R17 Позиция светового пера Старший байт Младший байт

 

Следует учитывать, что самостоятельное программирование контроллера ЭЛТ чревато физическим разрушением видеомонитора, поэтому не следует прибегать к нему, если вы не вполне понимаете принципы расчета параметров раскрутки. Все необходимые действия по инициализации дисплея обычно выполняются BIOS, поэтому реальная необходимость в непосредственном программировании контроллера ЭЛТ возникает крайне редко.

 


Адресация и режимы работы адаптера CGA

 

Цветной графический адаптер CGA (Color Graphics Adapter) – это графический видеоконтроллер среднего разрешения. Для него зарезервированы порты ввода-вывода 3D0h – 3DFh, имеющие назначение, показанные в таблице 4.2.

 

Таблица 4.2 – Порты ввода/вывода

Порт

Операция

Описание

3D4h

запись

регистр индекса ЭЛТ. Используется для выбора регристра контроллера ЭЛТ. Для записи регистра ЭЛТ Rn нужно выполнить команды: out 3D4h,n и 3D5h,данные (n - номер регистра)

3D5h

запись\чтение

Регистр данных ЭЛТ. Позволяет записывать все регистры ЭЛТ и читать регистры R12-R17

3D8h

запись

Регистр режимов дисплея.

3D9h

запись

Регистр выбора цветов. Выбор палитры задает набор основных цветов в графическом режиме. Палитра 0 - зеленый\красный\коричневый, палитра 1 - бирюзовый\сиреневый\светло-серый

3DAh

чтение

Регистр состояния дисплея.

3DBh

запись\чтение

Вывод любого байта выключает триггер светового пера.

3DCh

запись\чтение

Вывод любого байта включает триггер светового пера.

 

Рисунок 4.1 - Регистр режимов работы дисплея.


Рисунок 4.2 - Регистр работы дисплея

 

Режим работы дисплея

 

Все видеосистемы персональных компьютеров, за исключением адаптера MDA, могут работать в двух основных режимах – текстовом и графическом. В текстовом режиме экран разделяется на отдельные символьные позиции, в каждой из которых выводится один символ.

В видеобуфере каждой символьной позиции соответствует два байта . Байт с четным адресом содержит ASCII-код символа, а соседний байт с большим нечетным адресом содержит атрибуты последовательности , которая отображается на прямоугольные координаты (столбец, строка) экрана.

В двух наиболее распространенных форматах текстового режима не экране формируется 25 текстовых строк , содержащих по 40 или 80 символов. Таким образом, емкость видеобуфера, необходимая для заполнения экрана, составляет 2000 байт (25 строк * 40 символов *2 байта) или 4000 байт ( 25 строк * 80 символов * 2 байта ). Эту область называют страницей. Если емкость видеобуфера превышает размер одной страницы, в нём можно организовывать несколько страниц.

Стартовый адрес видеобуфера для текстовых режимов адаптеров EGA, MCGA, VGA, SuperVGA и с графическим сопроцессором одинаков – В800:0000.

Соответствие цветов атрибутам зависит от типа видеоадаптера. Структура байта атрибутов для CGA адаптера изображена на рисунке 3. таким образом, цвет фона может варьироваться от 0 до 7, а цвет символа с учетом яркости – от 0 до 0Fh. Значение атрибута задается формулой: 16*(цвет фона) + цвет символа (плюс 128 для мерцания символа).

При использовании CGA адаптера и монохромного дисплея цвет символа и фона передается яркостью символа и фона соответственно.

 

Рисунок 4.3 - Структура байта атрибутов для CGA адаптера

 

 

(0,0)                                                                                              (0,39) или (0,79)

 

                                                                                                                              X         

 

 

                                                     Экран

 

            

 

             

(24,0)                                                                                              (24,39) или (24,79)

 

 

               Y

                

Рисунок 4.4 – График CGA адаптера

 


Таблица 4.3 – Задание цвета в адаптере CGA

Номер Цвет Номер Цвет
0 Черный 8 Серый
1 Синий 9 Ярко-синий
2 Зеленый А Ярко-зеленый
3 Бирюзовый В Голубой
4 Красный С Алый
5 Сиреневый D Розовый
6 Коричневый E Желтый
7 Светло-серый F Белый

 

Видеопамять CGA располагается в адресах ОЗУ B8000h – BFFFFh. CGA имеет 2 типа текстовых режимов: 25 строк по 40 символов и по 80 символов в строке. В режимах 25 х 40 одна страница занимает 800h байтов, поэтому видеопамять состоит из 8 страниц. В режимах 25 х 80 страница занимает 1000h байтов и видеопамять состоит из 4 страниц.

Адрес кода символа в текстовых режимах равен:

B800h: n*P+m*L+2*C, адрес атрибута на единицу больше. Здесь L – номер строки (0 – 24), C – номер столбца (0 – 79 или 0 – 39), m = 2 * количество столбцов режима, n = 800h при m=80 и 1000h при m=160, Р – номер страницы (0-7 или 0-3).

CGA имеет два типа графических режимов: цветной режим, имеющий разрешение 320 точек по горизонтали на 200 точек по вертикали, и черно-белый режим с разрешением 640 точек на 200 точек. В режиме 320 х 200 каждый пиксель задается двумя битами, кодирующими его цвет; в режиме 620 х 200 цвет пикселя задается одним битом (белый/черный). В графических режимах один экран требует 16К видеопамяти, поэтому имеется одна страница видеопамяти, которая размещается в областях B8000h – BFFFFh. Эта страница расслоена на две области: область с адреса B8000h содержит пиксели, имеющие четные номера строк; область с адреса ВА000h содержит пиксели из нечетных строк. Поэтому адрес байта, содержащего точку с координатами (X,Y), равен в цветном режиме B800h : 2000h * (Y % 2) + 80 * int(Y/2) + int(X/4), а номера соответствующих битов в этом байте равны 7 – 2 * (X % 4) И 6 – 2 * (X %4). Здесь Х – горизонтальная позиция точки (0 – 319), Y – ее вертикальная позиция (0 – 199), знак % обозначает остаток от деления одного числа на другое.

Адрес байта, содержащего точку с координатами (X,Y), равен в черно-белом режиме B800h : 2000h * (Y % 2) + 80 * int(Y/2) + int(X/8), а номер соответствующего бита в этом байте равен 7 – (X % 8). Здесь Х – горизонтальная позиция точки (0 – 639), Y – ее вертикальная позиция (0 – 199)

 

Задание

 

Напишите программу, которая выводит на экран дисплея строку символов (ФАМИЛИЯ ИМЯ ОТЧЕСТВО), в строке с номером L, начиная с колонки С. Атрибуты символов должны циклически (во времени) изменяться от А1 до А2 с задержкой Deley мсек.

 

№ варианта

L

C

A1

A2

Deley

1

10

14

00h

0Fh

550

 



Рисунок 4.4 – Блок - схема основной программы

 

Основная программа

Программа выводит на экран в текстовом режиме строку «Вальков Антон Петрович» в 6-ю строку 6-й столбец 0-й страницы в режиме 160 строк. Каждая буква выводится с задержкой 680 мсек. Строка выводится 15 раз с разными атрибутами.

 

Stac segment

    db 64 dup(0)

    ends

data segment

    Msg db

    stQ db

    ends

code segment

    assume ds:data,cs:code,ss:stac

Start:

    mov ax,data

    mov ds,ax

    mov es,ax

mov ax,0b800h

mov es,ax

mov ah,05h

mov al,0

int 10h

mov cx,4000

mov di,-2

m2:

add di,2

mov byte ptr es:di,' '

mov byte ptr es:di+1,15

loop m2

mov di,1626;160*10+14*2-2

lea cx,Stq

lea dx,Msg

sub cx,dx;

mov si,-1

m1:

inc si

add di,2

mov al,byte ptr Msg[si]

mov byte ptr es:di,al

loop m1

mov bl,0Fh

m0:

inc bl

mov di,1627;

lea cx,Stq

lea dx,Msg

sub cx,dx;

m4:

cmp bl,70h

jne m5

mov bl,00h

m5:

add di,2

mov byte ptr es:di,bl

loop m4

call delay

mov ah, 02h

int 16h

and al, 10000000b

jz m0

mov ax,4c00h

int 21h

delay proc near

mov ah,01h

mov cx,0

mov dx,0

int 1ah

again:

mov ah,00h

int 1ah

cmp dx,9

jle again

ret

delay endp

 

ends

END Start


Рисунок 4.5 – Результат работы программы

 


ЗАКЛЮЧЕНИЕ

 

Микропроцессорная технология потенциально имеет много назначений: создание персональных электронных партнеров, интеллектуализация (в известном смысле "оживление") всей техносферы, усиление и защита функций организма с помощью персональных медико-кибернетических устройств, в том числе вживляемых в организм...

В результате эволюции электронной технологии от "микро" к "нано" и ее слияния с "генной", вероятно, будет достигнуто состояние, при котором станет возможным синтез в массовых количествах любых технических устройств. Однако вряд ли в этом состоит основная цель будущей нано-технологии. Она, по всей вероятности, сможет синтезировать структуры, способные к эволюции и саморазвитию.

 


СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ:

 

1. Гуров В.В., Рыбаков А.А. Лабораторный практикум "Разработка микропроцессорных систем на основе однокристальных микроконтроллеров". - М.: МИФИ, 2000.

2. Шнитман В. Современные высокопроизводительные компьютеры.

3. Информационно-аналитические материалы Центра Информационных Технологий, 1996.

4. Преснухин Л.Н. Микропроцессоры.

5. Гивоне Д., Россер Р. Микропроцессоры и микрокомпьютеры.

6. Пузанков Д.В. Микропроцессорные системы.

7. Микропроцессорные устройства систем управления Автор: Иванов Ю.И., Югай В.Л.

8. Основы микропроцессорной техники Новиков Ю.В. , Скоробогатов П.К.

9. Л.М. Гольденберг. Цифровые устройства и микропроцессорные системы. 10 10 . http://www.dailytechinfo.org – сайт новинок в информационных технологиях


Дата добавления: 2020-01-07; просмотров: 220; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!