русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

УПРАВЛЕНИЕ ЭКРАНОМ В ТЕКСТОВОМ РЕЖИМЕ


Дата добавления: 2014-11-27; просмотров: 1017; Нарушение авторских прав


 

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

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

Для получения на экране цветного изображения требуется, чтобы видеомонитор имел цветной адаптер и цветную ЭЛТ или ЖК-панель.

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

 

Первый видеоадаптер (MDA), обладавший довольно скромными возможностями, появился в 1981 г. В дальнейшем его сменили все более совершенные модели (HEC, CGA, EGA, VGA, SVGA). Они отличаются друг от друга по количеству пикселей, объему видеопамяти, количеству цветов и другим параметрам. При этом в качестве стандартного режима вывода текста был принят режим, реализованный в адаптере CGA.



Типичный экран ПЭВМ имеет 200 строк по 640 пикселей в строке, т.е. 128000 пикселей. В монохромном режиме для каждого пикселя в видеопамяти требуется один бит, который определяет максимальную или минимальную яркость этого пикселя. Тогда видеопамять должна иметь объем 128000/8 = 16000 байт. В цветном мониторе каждый пиксель формируется как совокупность трех цветных точек: красной, зеленой и синей. В этом случае объем видеопамяти должен быть соответственно больше.

 

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

В текстовом режиме на зкран выводятся только символы, которые заранее предопределены таблицей, содержащей 256 их возможных вариантов. Для изображения символа на экране используется матрица из 8 ´ 8 = 64 пикселей, которую называют знакоместом. Первые 8 строк развертки образуют 80 знакомест первой текстовой строки экрана, следующие 8 строк развертки - это символы второй текстовой строки и т.д. Поэтому при выводе символа достаточно указать лишь его номер, для чего требуется один байт. Используя этот номер, электронные схемы развертки находят в специальной области памяти одну из 256 матриц 8´8 разрядов и вычерчивают соответствующий символ.

Примечание. В зависимости от типа адаптера количество пикселей в знакоместе может быть различным. Например, для EGA оно равно , для VGA .

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

Таким образом, для хранения "карты" экрана в текстовом режиме требуется 80 × 25 × 2 = 4000 байт видеопамяти.

Объем видеопамяти любой ПЭВМ составляет не менее 16000 байт. Целиком эта память необходима лишь при выводе графической информации. В текстовом режиме используется часть видеопамяти, которая называется страницей текстового экрана. Если емкость экрана 25 ´ 80 знакомест, то одна страница - это 4000 байт.

 

Байт атрибутов имеет следующую структуру:

 

½ B ½ b a c k ½ H ½ t e x t ½

 

Здесь back - цвет фона, text - цвет символа. Каждый разряд в разделах back и text - это один из основных цветов монитора: красный, зеленый или синий. Смешивание основных цветов дает 8 цветовых комбинаций. H - разряд интенсивности цвета. С учетом интенсивности получаем 16 цветов для отображения символа (темные и светлые). Для фона возможны только темные цвета. Разряд B управляет мерцанием символа: если B = 1, символ мигает с частотой около 2 гц.

К видеопамяти можно обращаться из программы с помощью адресов. Для нее в ПЭВМ зарезервированы адреса с сегментной частью от $A000 до $DFFF, т.е. 256 Кбайт. Монитор CGA занимает из них только 16 Кбайт, начиная с адреса $B800:$0000.

В стандартном модуле Crt определены константы для всех 16 значений цветового атрибута в соответствии с приведенной ниже таблицей.

 

Бит Н Бит цвета кр. зел. син. Десятич. значение Имя константы Цвет
Black Blue Green Cyan Red Magenta Brown LightGray DarkGray LightBlue LightGreen LightCyan LightRed LightMagenta Yellow White Черный Синий Зеленый Голубой Красный Фиолетовый Коричневый Светло-серый Темно-серый Ярко-синий Ярко-зеленый Ярко-голубой Розовый Малиновый Желтый Белый
  Blink Мерцание символа
             

 

В этом же модуле определена переменная TextAttr типа byte, которая задает значение текстового атрибута.

Пример 1.

TextAttr:=Yellow+16*Brown+Blink;

Writeln('Мерцание желтых символов на коричневом фоне');

Аналогично:

TextAttr:=14+16*6+128;

Writeln('Мерцание желтых символов на коричневом фоне');

 

Для управления цветом символов и цветом фона могут быть использованы также следующие две процедуры:

 

1) TextColor(Color:byte) - текущий цвет для символов; если Color > 16, то принимается Color := Color div 16 и добавляется мерцание символа.

2) TextBackGround(Color:byte) - текущий цвет фона.

 

Пример 2.

TextColor(Yellow+Blink); TextBackGround(Brown);

Writeln('Мерцание желтых символов на коричневом фоне');

Аналогично:

TextColor(14+128); TextBackGround(6);

Writeln('Мерцание желтых символов на коричневом фоне');



<== предыдущая лекция | следующая лекция ==>
ПРОЦЕДУРА ПЕРЕМЕЩЕНИЯ ДАННЫХ MOVE | СОХРАНЕНИЕ И ВОССТАНОВЛЕНИЕ ЭКРАНА


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.