В графическом режиме экран дисплея рассматривается как

Обновлено: 07.07.2024

Пространственное разрешение экрана монитора определяется как произведение количества строк изображения на количество точек в строке. Монитор может отображать информацию с различными пространственными разрешениями (800 х 600, 1024 х 768, 1152 х 864 и выше).

Глубина цвета измеряется в битах на точку и характеризует количество цветов, в которые могут быть окрашены точки изображения. Количество отображаемых цветов также может изменяться в широком диапазоне, от 256 (глубина цвета 8 битов) до более чем 16 миллионов (глубина цвета 24 бита).

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

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

Рассмотрим формирование на экране монитора растрового изображения, состоящего из 600 строк по 800 точек в каждой строке (всего 480 000 точек) и глубиной цвета 8 битов. Двоичный код цвета всех точек хранится в видеопамяти компьютера, которая находится на видеокарте.

Видеокарта устанавливается в слот расширения системной платы PCI или AGP. Монитор подключается к аналоговому выходу VGA или цифровому выходу DVI видеокарты.

Периодически, с определенной частотой, коды цветов точек вчитываются из видеопамяти точки отображаются на экране монитора. Частота считывания изображения влияет на стабильность изображения на экране. В современных мониторах обновление изображения происходит c частотой 75 и более раз в секунду, что обеспечивает комфортность восприятия изображения пользователем компьютера (человек не замечает мерцания изображения). Для сравнения можно напомнить, что частота смены кадров в кино составляет 24 кадра в секунду.

Пример: необходимый объем видеопамяти для графического режима с пространственным разрешением 800 х 600 точек и глубиной цвета 24 бита равен:
In = I? X?Y = 24 бита ? 800 ? 600 = 11 520 000 бит = 1 440 000 байт = 1 406,25 Кбайт = 1,37 Мбайт.

Качество отображения информации на экране монитора зависит от размера экрана и размера пикселя. Зная размер диагонали экрана в дюймах (15, 17 и т. д.) и размер пикселя экрана (0,28 мм, 0,24 мм или 0,20 мм), можно оценить максимально возможное пространственное разрешение экрана монитора.

Билет №13. Средства электронных презентаций

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

Перечислим несколько программ, предназначенных для создания, редактирования и демонстрации презентаций: MS PowerPoint, Harvard Graphics, Lotus Freelance Graphics, Charisma.

Программа MS PowerPoint имеет наибольшее распространение среди пользователей благодаря активной рекламной политике, проводимой фирмой Microsoft, и несомненным достоинствам этой программы. Данная программа входит в комплект программ MS Office, поэтому часто автоматически устанавливается пользователями на жесткий диск одновременно с текстовым редактором, электронными таблицами и системой управления базами данных. Совместимость всех программ MS Office позволяет легко переносить необходимые объекты по технологии OLE из других программ в MS PowerPoint.

В Microsoft PowerPoint имеется три основных режима работы: обычный режим, режим сортировщика слайдов и режим просмотра слайдов.

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

Вторая область 2 размещается на экране справа. В этом месте в крупном масштабе отображается текущий слайд. Третья область 3 используется для хранения заметок к слайду. Она располагается на экране снизу. Заметки предназначены только для докладчика (лектора) и не видны во время демонстрации слайдов. Заметки – это как бы краткий конспект доклада, шпаргалка для лектора.

Режим сортировщика слайдов дает возможность видеть одновременно несколько десятков слайдов (число видимых на экране кадров зависит от выбранного масштаба), выполнить реорганизацию презентации (поменять местами слайды), добавить или удалить слайды, производить предварительный просмотр эффектов анимации и смены слайдов. Перемещение слайдов осуществляется по технологии Drag and Drop (буксировка). В этом режиме идет монтаж слайд-фильма.

В режиме просмотра слайдов презентацию можно посмотреть в окончательном виде на полном экране.

Программы для создания средств презентации (ПССП) позволяют: создавать новые презентации, редактировать существующие презентации, демонстрировать готовые презентации.

Создать новую презентацию в MS PowerPoint можно на основе: рекомендаций мастера автосодержания, готовых шаблонов, пустых слайдов, уже существующей презентации.

Шаблон– документ (заготовка), позволяющий наглядно представить будущий слайд. Шаблон определяет стиль презентации, цветовую схему, размеры и координаты областей (рамок), в которых размещаются объекты.

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

Список – это конструкция текста, содержащего перечисления каких-то элементов. Списки бывают маркированными и нумерованными.

Маркер – это значок или небольшой рисунок, который стоит в начале каждого пункта списка (абзаца, элемента).

Шаблон может быть применен ко всем слайдам презентации сразу или выборочно лишь к некоторым слайдам.

При создании презентации с помощью пустых слайдов удобно использовать готовые макеты, цветовые схемы и образцы слайдов.

Макет – документ (заготовка), который схематично показывает расположение на слайде будущих объектов (заголовков, подзаголовков, рисунков, текста, диаграмм, таблиц, видеоклипов).

На предыдущем рисунке показаны примеры четырех макетов. Местоположение будущих объектов на макете обозначено рамками.

При редактировании макета положение рамок и их размеры допустимо изменять. Вариация размеров рамок осуществляется по технологии буксировки (Drag and Drop) с помощью специальных значков – маркеров, расположенных по периметру рамок.

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

Цветовая схема включает цвет фона, цвета заголовка и текста, а также цвета диаграмм.

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

Гиперссылки, размещенные на слайдах, помогают докладчику в нужный момент времени изменить линейный (последовательный) характер демонстрации слайдов, гибко перестроить структуру (план) доклада в зависимости от реакции аудитории и заданных вопросов. С помощью текстовых или графических объектов, исполняющих роль гиперссылок, докладчик (или лектор) может по своему усмотрению вызвать предыдущий, первый или последний слайды, либо сделать переход на заранее указанный слайд (выбор происходит по их порядковым номерам). Делается это стандартными приемами, принятыми в Web-дизайне: щелчком мышью по гиперссылке. Причем переход на другой кадр можно осуществлять либо щелчком по гиперссылке, либо наведением курсора на гиперссылку (наездом). Гиперссылкой может служить фрагмент текста или графический объект. Создавать графические гиперссылки в MS PowerPoint удобно с помощью управляющих кнопок, которые размещаются в пункте Автофигуры (панельРисование).

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

Получить произвольную последовательность демонстрации слайдов позволяет также опция Произвольный показ (находится в пункте Показ слайдов).С её помощью можно заранее подготовить несколько альтернативных вариантов показа презентации.

Заметим, что существует еще одна возможность изменения линейного (последовательного) характера демонстрации слайдов. Для этого во время демонстрации презентации нужно сделать щелчок правой кнопкой мыши по слайду и выбрать опцию Переход, а там – один из пунктов: Навигатор слайдов или Выбор слайда по имени. Указанными способами можно перейти к любому слайду презентации.

При редактировании презентаций можно устанавливать слайды в нужном порядке (сортировать), делать временно отдельные слайды невидимыми, изменять шаблоны, цветовые схемы, выбирать виды переходов между слайдами.Для облегчения процедуры разметки создаваемого слайда можно вывести на экран сетку. Созданная презентация может быть защищена паролем от несанкционированного использования другими лицами. При этом пользователь выбирает один из восьми методов шифрования и длину использованного ключа. На слайде могут быть размещены рисунки, которые входят в состав стандартной коллекции картинок, либо иллюстрации из собственных коллекций.

При демонстрации презентаций ПССП предоставляют в распоряжение докладчика разнообразные возможности: например, можно использовать указатель в виде электронной стрелки, с помощью которого удобно показывать интересные объекты на слайде. Можно использовать электронный карандаш, который позволяет выделять, подчеркивать ключевые места на слайде. Программа MS PowerPoint способна изменять цвет электронного карандаша. Движением стрелки и карандаша управляют с помощью ручного манипулятора «мышь» или цифрового планшета.

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

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

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

Переход от одного слайда к другому может сопровождаться разнообразными визуальными эффектами. При этом очередной слайд может проступать через предыдущий слайд различными способами. Опция MS PowerPoint Смена слайдов позволяет создать следующие эффекты: жалюзи горизонтальные и вертикальные (горизонтальные и вертикальные полосы), шашки (смена слайдов проступанием через мелкие квадраты), объединение по вертикали или горизонтали, наплывы в разные стороны, сдвиги, плавное угасание и т.п.

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

Билет №14. Системы управления базами данных.

Основные функции СУБД

§ управление данными во внешней памяти (на дисках);

§ управление данными в оперативной памяти с использованием дискового кэша;

§ журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

§ поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

§ ядро, которое отвечает за управление данными во внешней и оперативной памяти, и журнализацию,

§ процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,

§ подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД

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

Статьи к прочтению:

РАЗРУШИТЕЛЬ МИФОВ / VGA, DVI, HDMI И РАЗРЕШЕНИЕ ЭКРАНА


Похожие статьи:

В графическом режиме есть возможность управлять состоянием каждой точки экрана независимо от состояния других точек. Данный режим обозначается Gr или APA.

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

Процесс постоянного регенерирования видеопамяти называется регенерацией изображения.

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

При двух битах на пиксель возможно изображение четырех цветов.

При четырех битах - 16 цветов.

При восьми битах – 256 цветов.

Неплохие показатели в режимах: HighColor: 15 бит – 32768 цветов; 16 бит – 65536 цветов. TrueColor: 24 бита – 16,7 млн цветов.

При 15 и 24 бит распределение между базисными цветами такое: 5:5:5; 8:8:8.

Логически видеопамять может быть организована по-разному в зависимости от количества бит на пиксель, каждая ячейка (байт) соответствует 8 или 4 соседним пикселям, таким способом называют линейный способ.

При использовании 8, 16, 24 бит на пиксель также используют линейную организацию, но каждый байт отвечает за цвет пикселя.

Многослойная организация – не эффективна.

Растровый формат хранения информации, при котором биты отображают пиксели, называется битовой картой.

Объем видеопамяти в битах, необходимый для образа экрана, равен произведению количества пикселей в строке на количество пикселей в столбце и на количество бит на пиксель.

Если физический объем видеопамяти больше необходимого отображения матрицы всего экрана, то видеопамять разбивается на страницы.

Видеостраница – объем видеопамяти, необходимый для отображения одного экрана.

Производительность графического адаптера зависит от объема установленной видеопамяти.

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

Знакоместо – матрица точек, в которой отображается один символ.

В видеопамяти хранятся код и атрибуты символа. Адаптер, работающий в текстовом режиме, имеет дополнительный блок – знакогенератор (запоминающее устройство в ОЗУ или в ПЗУ). В знакогенератор поступает код символа, соответствующего данному коду. Объем видеопамяти знакогенератора определяется количеством памяти, необходимым для отображения одного символа и числом символов в знакогенераторе.

Самый простой знакогенератор имеет формат символа 8х8 точек (сюда же входит межсимвольный промежуток, чтобы не сливались символы в строке). Для такого знакогенератора необходимо 8х2 8 = 2кб. Лучшую читаемость имеют матрицы 9х14, 9х16.

Не смотря на то, что текстовый видеоадаптер, по сравнению с графическим, имеет большее число узлов, цена его ниже. Это связано с объемом памяти. В текстовом режиме 25 строк по 80 символов. Требуется: 2кб видеопамяти для символов; 2кб – для атрибутов, при этом матрица может быть 9х14. Графический режим 720х350. Для отображения такой же матрицы в монохромном режиме потребуется 32кб, а в 16-ти цветном – 128кб.

В текстовых режимах экран рассматривается, как совокупность текселов (прямоугольных областей для размещения символов). Каждому текселу соответствует 2 байта в видеопамяти. Четный байт хранит код символа в таблице ASCII, нечетный байт (следующий за ним) кодирует цвет тексела и фона, и другие атрибуты. Этот байт называется байтом атрибутов. При побитной расшифровке байт атрибутов выглядит так: 0, 1, 2 биты – код цвета символа; 3 – яркость символа; 4, 5, 6 – цвет фона; 7 – режим мерцания.

Производительность дисплейного адаптера характеризуется:

1) типом локальной шины (ее разрядностью), теневой видеопамятью и BIOS;

2) эффективностью акселератора (ускорителя);

3) производительностью трехмерных построений;

4) качеством декодирования.

Производительность конкретного адаптера зависит от разрешения, количества цветов, частоты режима развертки.

Формирование цвета

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

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

Цветные дисплеи имеют три электронных пушки, каждая из которых нацелена на фосфорицирующую точку определенного цвета (по горизонтали, по вершинам треугольника). Каждый луч должен попасть в точку нужной триады. Триада – группа из трех точек, каждая из которых дает один из основных цветов. Лучи должны регулироваться, чтобы каждый из них сходился в нужной триаде.

Сравнительная характеристика видов принтеров.

Параллельный порт – самое простое средство для подключения к ПК принтеров.

Преимущества ударных принтеров:

- они реализованы на базе хорошо продуманной технологии, конструкции понятны;

- могут использовать любые вещества, имеющие свойства чернил и любую бумагу;

- дают возможность получать некоторое число копий за счет копировальной бумаги.

Недостатки:

Струйные принтеры

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

В настоящее время существует два основных типа струйной печати: термическая и пьезоэлектрическая. Эти термины описывают технологию разбрызгивания чернил из картриджа через сопла. Картридж состоит из резервуара с жидкими чернилами и небольшими (около одного микрона) отверстиями, сквозь которые чернила выталкиваются на бумагу. Количество отверстий зависит от разрешения принтера и может колебаться от 21 до 256 на один цвет. В цветных принтерах используются четыре (или больше) резервуара с различными цветными чернилами (голубой, пурпурный, желтый и черный). При смешивании этих четырех цветов можно воспроизвести практически любой цвет. В некоторых моделях принтеров используется один картридж с тремя резервуарами с цветными чернилами (голубой, пурпурный и желтый).

Улучшение качества струйной печати

Сильной стороной струйных принтеров является фотопечать. У специальных фотопринтеров, кроме основных четырех цветов добавляются еще два: светло-пурпурный, светло-голубой.

1. Данные принимает, находящийся в принтере процессор.

2. Перенос данных на экспонирующий барабан.

3. Перенос тонера на барабан.

4. Закрепление тонера.

5. Уборка излишек тонера.

При цветной печати используются тонеры основных цветов: черного, красного, желтого, голубого.

В лазерных принтерах объем памяти от 12 до 24 Мб, максимальный – 208Мб, скорость печати до 32 страниц в минуту, энергопотребление от 11 до 56Вт.

Цв.струйн.принт.

Проще и дешевле всего обойдется печать документа на цветном струйном принтере.

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

Цв.лазерн.принтеры

Для данного типа печати применяется та же технология, что и в монохромных моделях, только вместо одноцветного тонера используется четырехцветный. Цветные лазерные принтеры печатают не все цвета одновременно, а лишь один. Это объясняется наличием только одного фоточувствительного барабана; одна страница печатается за четыре прохода.

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

Цветная лазерная печать — самая качественная технология печати. Но стоимость все еще довольно высока. Однако скорость печати таких принтеров невысокая.

Мало распространены такие виды:

Принтеры с тверд чернилами

Существуют “твердые” струйные принтеры, в которых вместо жидких чернил используются твердые стержни. Такие модели выпускаются фирмой Tektronix (фирма Xerox).

В процессе печати стержень расплавляется и краска переносится на барабан, а с него на бумагу.

Графические дисплеи, в том числе и типа OLED, больше всего представленные на нашем рынке фирмой Winstar, имеют куда меньший спрос по отношению к строчным и публикаций по их применению также намного меньше. Между тем, именно графические OLED-дисплеи из-за отсутствия привязки к таблицам шрифтов предопределенного рисунка, предоставляют наилучший способ для получения эргономичных индикаторных устройств для самых разных надобностей. Причем оказалось, что графический режим в контроллере WS0010 иницируется проще и работает стабильнее, чем текстовый.

Прежде чем перейти к рассмотрению собственно графических дисплеев, рассмотрим вечнозеленую проблему с проблемами включения текстового режима контроллера WS0010, которая получила неожиданное и очевидное решение (ах, где были мои глаза!).

Решение проблем текстового режима WS0010

Общеизвестно, что строчные дисплеи Winstar имеют проблемы со стабильностью при инициации. Выяснилось, кстати, что характерно это совсем не только для «проклятых китайцев»: добытые мной с большими трудностями образцы Newhaven Display 16х2, находящейся на другой стороне земного шара, внешне являются полной копией Winstar, за исключением расположения некоторых надписей и названия фирмы на нашлепке (той же формы и с тем же шрифтом):

image

Содержащие, как написано в datasheets, некий «LCD comparable» контроллер, эти дисплеи ведут себя совершенно идентично китайским и имеют те же недостатки. Очевидно, на проверку других фирм, вроде Midas, времени тратить не стоит: судя вот по этой публикации, и там без международной кооперации не обошлось. Глобализированная экономика рулез!

Частично проблему решает аккуратное отношение к питанию (от отдельного источника, и ни в коем случае не от USB Arduino), и отдельная перезагрузка через выключение-включение питания дисплея после запуска управляющей программы (см. предыдущую публикацию автора). Как выяснилось, автор этих строк не единственный, кто предлагал подобное решение проблемы: автор надстройки над LuquidCrystal под названием WinstarOLED также включил в нее специальный pw_pin, с помощью которого в момент запуска программы передергивается питание дисплея.

Из цитировавшейся публикации я тут просто воспроизведу две процедуры переключения, несколько адаптировав их под использование совместно с LuquidCrystal (экземпляр класса здесь называется OLED1).

Переключение в графический режим:

Переключение в текстовый режим:

Как мы увидим далее, первая процедура не очень-то и нужна: WS0010 переключается в графический режим с полпинка, достаточно послать в него команду 0x1F. А вот вторая последовательность команд оказалась очень по делу. Для пробы она включалась прямо в скетч с использованием LuquidCrystal в таком виде:

Затем эта функция вызывалась в setup прямо сразу после инициации библиотеки:


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

Функция работает и так, но для удобства я заменил этой последовательностью команд содержимое функции LiquidCrystalRus::clear() в файле модернизированной библиотеки LiquidCrystalRus_OLED.cpp, о которой шла речь ранее (напомню, что скачать ее можно с сайта автора). Ожидания выполнения команды в библиотеке не предусмотрено, потому для надежности после каждой команды там в общем стиле библиотеки вставлены задержки 100 мкс. В скетчах, использующих этот вариант LiquidCrystalRus_OLED, в начале setup обязательно надо вызывать функцию clear(), при этом она заодно и почистит экран.

С очисткой экрана связана одна непонятка: в таблице команд в даташите отмечено, что команда 0x01 может продолжаться целых 6,2 мс «when fsp or fosc = 250KHz». Какое «fsp or fosc» на самом деле в конкретных контроллерах, оне-с написать поленились, но в любом случае, даже если это мегагерцы, задержка для этой команды должна быть значительная (и автор LiquidCrystal об этом упоминает). Однако, на практике оказывается, что команда очистки вполне себе работает и если задержки нет вовсе. Так что я не стал разбираться, а поступил по известному программистскому правилу: «работает — не трогай!».

Теперь займемся, наконец, графическим режимом.

Графический режим в текстовых дисплеях WEH001602

Для начала я попробовал имевшийся у меня текстовый дисплей WEH001602BG переключить в графический режим. Отметим, что у графического 100х16 и текстового (конфигурации 20х2, у 16х2 просто меньше точек по горизонтали) дисплеев идентичные матрицы, только у текстового они разделены промежутками на знакоместа. Это сильно ограничивает применение графического режима в текстовых дисплеях, и еще больше текстового режима в графических. Но для проверки, как это работает, можно использовать любой их них.

image

Дисплей вместе с часами DS1307 подключался к Arduino Nano по следующей схеме:

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

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

Никакой русской таблицы нам здесь не потребуется, потому применяется стандартная (неотрихтованная) LiquidCrystal, которая в графическом режиме работает безупречно. Чтобы не возиться с отладкой всех вариантов библиотеки, в случае, когда включены параллельно текстовый и графический варианты дисплеев, то для каждого я применяю свою библиотеку (для текстового модернизированную Rus_OLED, для графического обычную). Подключение при этом можно все равно делать к одним и тем же ножкам контроллера, за исключением выводов разрешения E, согласно вышеприведенной схеме.

Далее я частично использовал наработки автора упоминавшейся библиотеки WinstarOLED (сама по себе эта надстройка над LuquidCrystal, на мой взгляд, недоработана, и применять ее as is нецелесообразно). Он ввел удобную функцию установки графического курсора (здесь исправлена ошибка оригинала в части максимального значения x):

Константа LCD_SETDDRAMADDR определена в библиотеке LiquidCrystal. Дисплей 100х16, как и текстовый, делится на две строки 0 и 1, потому y здесь может принимать только два значения. А горизонтальная координата x варьируется от 0 до 99. По установленной координате командой lcd.write() посылается байт, отдельные биты которого определяют светящиеся позиции вертикальной линии длиной в 8 точек. Крайняя левая позиция в верхней строке имеет координаты 0,0, крайняя правая в нижней — 99,1. Причем верхней точке будет соответствовать младший бит, а нижней точке — старший.

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

image

Все это записывается в двумерный массив вида:

Для каждой цифры 0-9 создается отдельный такой массив Data0, Data1, Data2 и так далее. Для часов, кроме цифр, потребуется еще двойная точка. Ее можно сделать покороче:

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

Для вывода каждой цифры и отдельно для двойной точки пишется отдельная функция:

Десять цифр по 20 байт займут в памяти 200 байт — около 10% ее объема (а широкий шрифт 16х16, как в примере ниже, и все 16%). Полный одноязычный шрифт такого размера вместе с цифрами, без учета всяческих знаков препинания и спец. символов, содержит от 62 (английский) до 74 (русский без Ё) символов, значица, займет почти половину оперативной памяти ATmega328. Потому фокусы с массивами и функциями вывода раздельно для каждого символа придется отменить, и делать, как положено. То есть шрифты оставлять в программной памяти и загружать через PROGMEM, а все рисунки глифов оформлять в виде единого массива шрифта, и загружать для вывода по номеру символа в единой таблице. В противном случае и памяти не хватит и код программы раздуется до неуправляемого объема. Здесь мы на этом останавливаться не будем, потому что в наших простых примерах все это не потребуется — мы каждый раз будем ограничиваться небольшим строго необходимым количеством символов.

Из-за большого размера полного текста скетча GraphicOLED_DC1307 я его не привожу, скачать его можно здесь. В тексте сохранена функция resetOLED, которая передергивает питание дисплея при перезагрузке контроллера (через pwrPin D2), но она ни разу не понадобилась, так что ее можно спокойно удалить. Результат работы программы показан на фото:

image

К сожалению, одновременное пребывание в текстовом и графическом режиме исключено, потому, если вы хотите использовать оставшееся место, то придется рисовать свои шрифты (там остается место примерно на 7 символов шрифта 5х7 в каждой строке).

Графический дисплей WEG010016A

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

Для проверки текстового режима была загружена программа имитации дисплея часов-календаря с датчиком внешней температуры, описанная в предыдущей публикации. Полученный результат заставил меня вспомнить, что разные дисплеи Winstar могут быть по разному ориентированы относительно разъема (в данном случае у WEG010016A разъем вверху, у текстовых WEH001602B, которые мы применяли выше — внизу, у типа С — вообще сбоку):

image

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

Сами процедуры установки графического режима те же самые, что разбирались выше для текстового варианта. Осталось разобраться с переворотом дисплея, если у него разъем вверху относительно экрана. Конечно, можно, просто перевернуть дисплей, но положение с обращенным вниз разъемом мне кажется более естественным и удобным. Кроме того, при использовании типа с разъемом сбоку может понадобиться ориентировать разъем вправо, а не влево. Для ориентации «вверх ногами» необходимо преобразовать картинку — то есть поменять местами первую и последнюю позиции по горизонтали, строки, а также реверсировать порядок бит в байтах, составляющих массив (при этом младший бит будет соответствовать нижней точке).

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

Поменять порядок следования координат по горизонтали и строк по вертикали можно внесением изменений в функцию setGraphicCursor:

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

Полный скетч вывода часов GraphicOLED_DC1307_100x16 можно скачать отсюда, а результат для дисплея WEG010016AL представлен на фото:

image

А вот на этом фото шрифт другого типа (16х16) на дисплее WEG010016CG (дисплей также перевернут):

image

Если вы создадите шрифт заново, поменяв порядок бит вручную, то реверсии делать не надо и программа будет выполняться быстрее (хотя на глаз особых задержек и так не заметно). Но приведенная процедура переворота бит пригодится в любом случае — для отображения различных картинок. Например, из одной стрелки, направленной вверх-вправо, программным путем можно получить сразу четыре направления.

Картинка и код стрелки (координаты и биты в таблице инвертированы в соответствии с нижним положением разъема для дисплея WEG010016AL, см. выше):

image

Функции вывода разнонаправленных стрелок:

На фото ниже представлен результат программы-заготовки дисплея датчика скорости и направления ветра. Как видите, здесь оказалось очень просто реализовать в одной строке шрифты разных размеров совместно с картинками:

image

В заключение добавлю, что вот тут находится очень интересная библиотека для работы с WS0010 в графическом и текстовом режимах по SPI. В текстовом она большей частью копирует Liquid Crystal (а что там еще можно придумать?), а в графическом имеет функции рисования графических примитивов, встроенные шрифты (толстый, как у меня, и обычный 5х7) и еще много всего другого.

Существует два режима работы экрана – текстовый и графический.
В текстовом режиме экран представляет собой совокупность отдельных ячеек, в каждую из которых может быть помещен один символ размером 9х16 точек. Обычно количество символов в строке равно 80, а количество строк – 25 (одна из них служебная). Такие параметры экрана устанавливаются по умолчанию при загрузке Бейсика. Используя команду WIDTH, можно изменить количество символов в строке на 40.
В графическом режиме экран рассматривается как совокупность точек (пикселей)- наименьших элементов изображения. Вывод изображения на экран осуществляется путем управления цветом каждой точки экрана.
Для включения графического режима используется оператор SCREEN , где - это номер графического режима, принимает значения 0, 1, 2, 7, 8, 9, 10, 11, 12, 13. Графический режим характеризуется количеством точек по вертикали и по горизонтали, количеством и размерами символов и количеством допустимых цветов. Ниже приведены данные для разных режимов работы экрана.

SCREEN 0 Это текстовый режим. Поддерживается адаптерами MDPA, CGA, EGA, VGA:
- формат текста 40х25, 40х43, 40х50, 80х25, 80х43, 80х50, размер символа 8х8 (CGA), 8х14, 9х14, 9х16 (EGA, VGA) точек;
- 16 цветов, присваиваемых 16 атрибутам (СGA, ЕGA с 64К);
- 64 цвета, присваиваемых 16 атрибутам (EGA, VGA).

SCREEN 1 Это графический режим с разрешением 320х200. Поддерживается адаптерами CGA, EGA, VGA, MСGA:
- формат текста 40х25, размер символа 8х8 точек;
- 16 фоновых цветов и одна из двух 3-цветных палитр для основного цвета (СGA);
- 16 цветов, присваиваемых 4 атрибутам (EGA, VGA).

SCREEN 2 Это графический режим с разрешением 640х200. Поддерживается адаптерами CGA, EGA, VGA, MСGA:
- формат текста 80х25, размер символа 8х8 точек;
- 16 цветов, присваиваемых 2 атрибутам (EGA, VGA).

SCREEN 7 Это графический режим с разрешением 320х200. Поддерживается адаптерами EGA, VGA:
- формат текста 40х25, размер символа 8х8 точек;
- 32К - размер страницы, номера страниц зависят от экранной памяти (0-1 / 64К; 0-3 / 128К; 0-7 / 256К);
- 16 цветов, присваиваемых 16 атрибутам.

SCREEN 8 Это графический режим с разрешением 640х200. Поддерживается адаптерами EGA, VGA:
- формат текста 80х25, размер символа 8х8 точек;
- 64К - размер страницы, номера страниц зависят от экранной памяти (0 / 64К; 0-1 / 128К; 0-3 / 256К);
- 16 цветов, присваиваемых 16 атрибутам.

SCREEN 9 Это графический режим с разрешением 640х350. Поддерживается адаптерами EGA, VGA:
- формат текста 80х25, 80х43, размер символа соответственно 8х14, 8х8 точек;
- 64К - размер страницы, номер 0 (память адаптера 64К);
- 128К - размер страницы, номера 0 / 128К или 0-1 / 256К;
- 16 цветов, присваиваемых 4 атрибутам (EGA, VGA);
- 64 цвета для 16 атрибутов (память адаптера более 64К).

SCREEN 10 Это графический режим с разрешением 640х350. Поддерживается адаптерами EGA, VGA с монохромным монитором:
- формат текста 80х25, 80х43, размер символа соответственно 8х14, 8х8 точек;
- 128К - размер страницы, номера 0 / 128К или 0-1 / 256К;
- до 9 оттенков серого для 4 атрибутов.

SCREEN 11 Это графический режим с разрешением 640х480. Поддерживается адаптерами VGA, MСGA:
- формат текста 80х30, 80х60, размер символа соответственно 8х16, 8х8 точек;
- до 256К цветов для 2 атрибутов.

SCREEN 12 Это графический режим с разрешением 640х480. Поддерживается адаптером VGA:
- формат текста 80х30, 80х60, размер символа соответственно 8х15, 8х8 точек;
- до 256К цветов для 2 атрибутов.

SCREEN 13 Это графический режим с разрешением 320х200. Поддерживается адаптером VGA, MСGA:
- формат текста 40х25, размер символа 8х8 точек;
- до 256К цветов для 256 атрибутов.

Существуют два основных режима вывода информации на экран монитора – графический и текстовый (символьный).

В графическом режиме имеется возможность индивидуального управления свечением каждой точки экрана монитора независимо от остальных. Этот режим обозначают как Gr (Graphics) или APA (All Point Addressable – все точки адресуемы). В графическом режиме каждой точке экрана – пикселю – соответствует ячейка видеопамяти, которая сканируется схемами видеоадаптера. Процесс постоянного сканирования видеопамяти называется регенерацией изображения.

Этого сканирования достаточно для регенерации информации в микросхемах динамической памяти, применяемой в видеопамяти (VRAM).Для программно-управляемого построения изображения в VRAM должен обеспечиваться доступ со стороны системной магистрали компьютера, причём как в режиме записи, так и в режиме чтения. Количество бит видеопамяти, отводимое на один пиксель, определяет возможное число состояний пикселя – цветов, градаций яркости или иных атрибутов (например, мерцания символа). Это количество в различных адаптерах колеблется от 1 до 24.

Логическая организация VRAM может быть разная, в зависимости от количества бит на один пиксель.

В случае одного или двух бит на пиксель каждая ячейка (байт) соответствует 8 или 4 соседним пикселям строки. При сканировании ячейка считывается в регистр сдвига, из которого информация о соседних точках последовательно поступает на выходные цепи адаптера. Такой способ отображения называется линейным – последовательности пикселей соответствует линейная последовательность бит (или группы бит) видеопамяти. В качестве примера, на Рис. 8 показан вариант, при котором количество бит на пиксель составляет 4 и видеопамять разбита на четыре области (слоя, банка), называемых также цветовыми плоскостями.

Рис. 8. Четырехслойное линейное отображение

При этом в каждой плоскости используется линейная организация, где каждый байт содержит по одному биту восьми соседних пикселей. Слои сканируются (считываются в сдвигающие регистры) одновременно. В результате параллельно формируются по 4 бита на каждый пиксель. Такое решение позволяет снизить частоту считывания ячеек памяти за счет распараллеливания. Ячейки слоёв памяти, отвечающие за одни и те же пиксель, имеют совпадающий адрес. Это позволяет производить параллельную запись информации сразу в несколько цветовых плоскостей (запись для каждого слоя разрешается индивидуально), что экономит время. Считывание со стороны магистрали конечно возможно только послойное.

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

Формат хранения изображений, при котором биты так или иначе отображают пиксели, называют битовой картой (Bit Map).

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

Таким образом, канал связи процессора с видеопамятью представляет собой «узкое горлышко», через которое необходимо протолкнуть поток данных, причём, чем больше цветов (бит на пиксель), тем этот поток должен быть интенсивнее. Выходов из этого затруднения несколько:

1. Повышение быстродействия видеопамяти.

2. Расширение разрядности шин графического адаптера.

3. Кэширование видеопамяти. В этом случае данные будут записаны, как в видеопамять, так и в ОЗУ (или в КЭШ), а при считывании из этой области обращение будет только к быстродействующему ОЗУ.

4. Значительно сократить текущий объём информации, передаваемой графическому адаптеру, но для этого графический адаптер должен быть наделён «интеллектом».

Под «интеллектом» графического адаптера подразумевается наличие на его плате собственного процессора, способного формировать растровое изображение в видеопамяти (BipMap), по командам, полученным от центрального процессора.

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

а) Команды рисования – построение графических примитивов: точки, отрезки прямой, прямоугольники, дуги, эллипсы.

б) Копирование блокас одного места на другое для «прокрутки» изображения экрана в разных направлениях.

в) Команды работы со спрайтами (Sprite)– небольшими прямоугольными фрагментами изображения, которые могут перемещаться по экрану как единое целое.

г) Аппаратная поддержка окон – упрощает и ускоряет работу с экраном в многозадачных (многооконных) системах.

д) Команды панорамирования – отображение заданной области изображения.

е) Команды ускорения построений – сокращение объёма передачи, освобождение центрального процессора от построений.

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

Графический акселератор работает автономно и может не выходить на системную шину. Акселераторы являются составляющей частью практически всех графических адаптеров – 2D-и 3D-акселераторы.

Текстовый режим

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

Знакоместопредставляет собой матрицу точек, в которой может быть отображён один из символов определённого набора (алфавита).

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

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

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

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

Знакогенератор представляет собой запоминающее устройство – ОЗУ или ПЗУ. На его старшие адресные входы поступает код текущего символа (ASCI-код), а на младшие – номер текущей строки в отображаемой линии знакомест. Выходные данные содержат побитную развёртку текущей строки матрицы разложения символа (в графическом режиме эти данные поступали из видеопамяти).

Необходимый объём памяти знакогенератора определяется форматом (размером) знакоместа и количеством отображаемых символов.

Если знакогенератор выполнен на микросхемах ПЗУ, то набор отображаемых символов оказывается жёстко фиксированным (в лучшем случае переключаемым, для чего может использоваться несколько выбираемых банков знакогенератора).

Если знакогенератор выполнен на микросхемах ОЗУ, то, естественно, он обеспечивает и режим, в котором его содержимое можно, по крайней мере, загрузить программно. Адаптеры с загружаемым знакогенератором русифицируются чисто программными средствами.

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

НаРис. 9, а приведён формат слова, задающего символ в цветном мониторе в ПЭВМ типа IBM PC.

Байт атрибута несёт следующую информацию:

· Биты 3-0 – интенсивность (I) и цветность (RGB) символа.

· Биты 6-4 – цвет фона воспроизведения символа.

· Бит 7 – интенсивность фона (I) или мерцание символа (М).

Рис 9.а. Формат слова, задающего символ

Текстовый адаптер имеет также аппаратные средства управления курсором. Знакоместо, на которое указывают регистры координат курсора, оформляются особым образом.

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

Следует отметить, что к такому выделению байт атрибутов не имеет отношения, хотя возможен неудачный выбор атрибутов (сочетание цветов), когда курсор перестаёт быть различимым на экране.

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

Рассмотрим конкретный пример – работу видеоадаптера дисплея в текстовом режиме при выводе символа «1» (Рис. 9.б).

Рис 9.б. Упрощенная схема адаптера.

Видеопамять организована следующим образом:

Слой 0 (Банк 0) – содержит коды символов всех алфавитов, которыми располагает дисплей.

Слой 1 (Банк 1) – содержит информацию об атрибутах символов.

Читайте также: