Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОргЭВМиС (3 сем) / Лаба №2 / Отчёт по Лабораторной Работе №2

.docx
Скачиваний:
73
Добавлен:
01.06.2019
Размер:
23.91 Кб
Скачать

Минобрнауки России

Федеральное государственное автономное образовательное

учреждение высшего образования

«Санкт-Петербургский государственный электротехнический университет им. В.И. Ульянова (Ленина)»

(СПбГЭТУ «ЛЭТИ»)

Факультет компьютерных технологий и информатики

Кафедра вычислительной техники

ОТЧЕТ

по лабораторной работе №2

на тему:

«Исследование видеосистемы (текстовый режим)»

по дисциплине: «Организация ЭВМ и систем»

Выполнил студент группы №

Принял: Гречухин М.Н.

Санкт-Петербург

2018 г.

Содержание

Введение………………………………………………………………………………..3

  1. Задание…………………………………………………………………………..3

  2. Краткие сведения о видеосистемах ПЭВМ…………………………………...3

  3. Текстовый режим работы видеосистем ПЭВМ……………………………….4

  4. Функции обслуживания текстового режима, используемые в программе….4

  5. Текст программы………………………………………………………………..5

Заключение……………………………………………………………………………..5

Введение

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

1. Задание

Составить такую программу, чтобы в окно с координатами (20, 10, 60, 20) с шагами Т = 1.5 и S = 1 выводилась надпись при всех возможных комбинациях цвета фона и цвета символов. Для каждой комбинации цветов в окне должны выводиться номера цветов фона и символов на русском. Организовать в окне вывод разноцветных сообщений со скроллингом окна.

2. Краткие сведения о видеосистемах ПЭВМ

Основным устройством вывода графических изображений является дисплей. Работой дисплея управляет видеоконтроллер (видеоадаптер/видеокарта). Основные представления об устройстве дисплея:

  • дискретная (пиксельная) структура экрана;

  • сетка пикселей (растр);

  • сканирование растра электронным лучом;

  • частота сканирования;

  • трехцветная структура пикселя цветного монитора.

Видеоконтроллер состоит из видеопамяти и дисплейного процессора. Основной универсальный для ЭВМ принцип заключается в том, что компьютер работает с информацией, хранящейся в его памяти в двоичном виде. Следовательно, всякое изображение на экране - это отражение информации в памяти ЭВМ — видеоинформации. Первоначально видеоинформация формируется в оперативной памяти (при открытии графического файла, при рисовании в графическом редакторе). Вывод на экран происходит в результате передачи видеоинформации контроллеру монитора: информация записывается в видеопамять и сразу же воспроизводится на экране, вследствие непрерывной работы дисплейного процессора, управляющего работой монитора. Таким образом, видеопамять является своеобразным буфером между ОЗУ и дисплеем. Смена «картинки» на экране является следствием смены содержимого видеопамяти. Система вывода на экран работает совершенно одинаково, не зависимо от того, какого рода информация выводится: текст ли это, неподвижный рисунок или анимация.

3. Текстовый режим работы видеосистем ПЭВМ

В текстовом режиме экран разделяется на отдельные символьные позиции, в каждой из которых выводится один символ. Символьные позиции определяются двумя координатами: номер текстовой строки и номер текстового столбца. Начало координат находится в верхнем левом углу рабочей области экрана. После загрузки компьютер всегда начинает работать в текстовом режиме. принимаемый по умолчанию текстовый режим ориентирован на ОС DOS. Процедуры вывода на экран ОС основаны на элементарных функциях BIOS, которые вызываются командой программного прерывания INT 10h.

Изображение символа формируется на точечной матрице, размер которой зависит от используемого адаптера и номера режима. Точки, образующие изображение символа, называются передним планом, а остальные – фоном. Чем больше размер точечной матрицы, тем выше качество изображения.

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

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

Для вывода символа на экран необходимо поместить его код и атрибуты в определенную ячейку видеобуфера. Способ интерпретации байта атрибутов зависит от конкретного адаптера. В адаптере VGA для преобразования атрибутов в сигналы цветов предназначен форматер и ЦАП. Форматер дешифрирует атрибуты и образует 8-мибитные коды, которые передаются в ЦАП. ЦАП формирует аналоговые сигналы RGB, подаваемые в монитор. При этом используется 8-мибитный вход для выбора одного из 256 внутренних 18-битных регистров цвета. Каждый из них имеет 3 поля по 6 бит на каждый цвет. Эти поля выбранного регистра ЦАП отдельно преобразуются в аналоговые сигналы для монитора.

5. Функции обслуживания текстового режима, используемые в программе

textcolor(int newcolor) – задает цвет символов, не затрагивая установленный цвет фона. textbackground(int newcolor) – задает цвет фона символов, не затрагивая установленный цвет символа.

window(int x1, int x2, int y1, int y2) – инициализирует поля координат фрейма окна.

6. Текст программы

#include <conio.h>

#include <dos.h>

enum { ENTIRE, UP = 6, DOWN };

void scroll(int direction, char l_row, char l_col, char r_row, char r_col, char attr) {

union REGS r;

if (direction)

{

r.h.ah = direction;

r.h.al = 2;

}

else

{

r.h.ah = 6;

r.h.al = 0;

}

r.h.bh = attr;

r.h.ch = l_row;

r.h.cl = l_col;

r.h.dh = r_row;

r.h.dl = r_col;

int86(0x10, &r, &r);

}

int main()

{

int x = 20, y = 10, X = 60, Y = 20;

char* color_name[16] = { "ЧЕРНЫЙ", "СИНИЙ", "ЗЕЛЕНЫЙ", "СИНЕ-ЗЕЛЕНЫЙ",

"КРАСНЫЙ", "КРАСНО-СИНИЙ", "КОРИЧНЕВЫЙ", "СВЕТЛО-СЕРЫЙ", "ТЕМНО-СЕРЫЙ", "ЯРКО-СИНИЙ",

"ЯРКО-ЗЕЛЕНЫЙ", "ЯРКО СИНЕ-ЗЕЛЕНЫЙ", "ЯРКО-КРАСНЫЙ", "ЯРКИЙ КРАСНО-СИНИЙ", "ЖЕЛТЫЙ", "БЕЛЫЙ" };

clrscr();

window(x, y, X, Y);

for (int i = 0; i < 16; i++)

{

textbackground(i);

for (int j = 0; j < 16; j++)

{

textcolor(j);

if (i < 8)

cprintf("%d %s \r\n", i, color_name[j]);

else

cprintf("%d %s \r\n", i - 8, color_name[j]);

scroll(UP, y - 1, x - 1, Y - 1, X - 1, (i * 16 | j));

delay(1500);

}

}

getch();

return 0;

}

Заключение

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

5