Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
4 18 Часть 111 . Практическое программирование микроконтроллеров АVR ЗАМЕТКИ НА ПОЛЯХ Корни у перечеркнутого нуля растут из эпохи монохромных дисплеев и АЦПУ, которые никаких шрифтов, кроме матричных, не знали . А нарисовать в ограниченном про странстве матрицы 5х8 или даже 8х 1 2 обычный ноль так, чтобы он уверенно отличал ся от буквы «0» невозможно. В программных текстах, для вывода которых в основном использовались устройства отображения того времени , это могло приводить к трудно исправляемым ошибкам. Потому и договорились изображать ноль перечеркнутым овалом . На современных дисплеях мы не выводим программные тексты, и ситуацию, когда идентичность изображений нуля и буквы «0» вызовет трудности , можно разве что попытаться сконструировать искусственно. А первая опция - мигание символом в позиции курсора - нам пригодится для того, чтобы мигать двоеточием в часах. К сожалению, в большинстве аналогов HD44780 для ЖК-дисплеев она реализована исключительно плохо, и мигать там придется искусственно. Пример управления ЖК-дисплеями конфи гурации 1 6х2 Конкретный пример тестовой программы для типового ЖК-дисплея с конфигура цией 1 6х2 вы найдете в архиве по адресу, указанному во введении (файл LCD1 6x02_ proba .asm ) . На рис . 1 6. 6 как раз и показан результат работы этой программы на при мере дисплея ВСВ 1 602-05А фирмы Blaze при включенной подсветке. Как у боль шинства других ЖК-дисплеев, нормального изображения на нем можно добиться только в этом режиме - при выключенной подсветке надписи трехмиллиметровым шрифтом становятся блеклыми, невыразительными и с трудом читаются на сером фоне . Мигание символа в позиции курсора у ВСВ 1 602-05А, как и у других знакомых мне ЖК-дисплеев, реализовано из рук вон плохо (можете попробовать включить за комментированную опцию Вlink и убедиться в этом самостоятельно). Поэтому в тестовой программе мигание реализуется самым простым способом: каждую секунду мы заменяем двоеточие пробелом, а еще через секунду восстанавливаем. Из-за инерционности дисплея делать это чаще не рекомендуется. Дисплей без включенной подсветки потребляет 0,8 мА, что вполне приличная ве личина для дисплеев на аналогах HD44780 (например, аналогичные дисплеи Winstar потребляют раза в два больше, правда, и символы у них на пару миллимет ров покрупнее) . Подсветка у ВСВ 1 602-05А включается отдельно, подачей напря жения +5 вольт на вывод 1 5 и «землю> на вывод 1 6 . Ток потребления подсветки при этом равен 20 миллиамперам. Величиной напряжения можно регулировать яркость подсветки для разных условий внешнего освещения (подавая это напряжение, на пример, от вывода ШИМ контроллера). Из-за слепой картинки в отсутствие подсветки область применения таких индика торов при батарейном питании ограничена периодически включающимися прибо рами. Потребление подсветки у ВСВ 1 602-05А одно из самых малых в своей облас ти - у упомянутых ЖК-дисплеев Winstar или рассматриваемых далее дисплеев МЭЛТ оно в несколько раз больше. Притом у многих других дисплеев, в отличие от ВСВ 1 602-05А, не установлен встроенный резистор для светодиодов подсветки,
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==