Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Подземелье Магов
  
 

Фильтр по датам

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  03:21[Войти] | [Зарегистрироваться]

Программирование LCD - дисплея, на основе микросхемы HD44780. Часть 2.

Андрей Шишкин
дата публикации 01-02-2006 06:36

Программирование LCD - дисплея, на основе микросхемы HD44780. Часть 2. Рассмотрим конкретный пример подключения LCD: LE-1602T.
Выводы на индикаторе расположены в один ряд.
Назначение выводов:
  • 1 - Vss - Минус питания 5В
  • 2 - Vdd - Плюс питания 5В
  • 3 - Vo - Контрастность
  • 4 - RS (Вход выбора регистра : 1 - Регистр данных
  • 0 - Регистр инструкций)
  • 5- R/W -Чтение/Запись LCD : 1 - Чтение
  • 0 - Запись
  • 6 - E - Разрешение чтения/записи.
  • 7 -14 - DB0 - DB7 - шина данных
  • 15 - A - Плюс питания подсветки
  • 16 - K - Минус питания подсветки

В качестве питания подсветки можно взять тоже питание (+5V), но последовательно в эту цепь желательно включить переменный резистор на 100 Ом. Чтобы ограничить ток подсветки, иначе светодиоды будут греться, и сгорят. Производитель рекомендует питание подсветки порядка 3 Вольт, но на практике делать отдельный источник питания не хочется.

Контрастность дисплея регулируется резистором на 20 кОм. После подачи питания на всю схему и не запустив программу, добейтесь этим резистором свечения первого ряда на индикаторе. Далее при работе настройте так, чтобы видно было только символы которые вы выводите.

Теперь поговорим об адресации памяти DDRAM и CGRAM. Соответственно при вызове процедуры _MoveCursor(Position:byte); мы и указываем адрес куда хотим поместить курсор.

0 1 2 3 ... 39
40 41 42 43 ... 79

В независимости от кол-ва символов в строке индикатора, адресация принята как 40 символов в строке. Например в нашем случае их всего 16.

У HD44780 есть встроенный знакогенератор, адресация его выглядит так:

В нашем случае доступны 2 языка: Английский и Китайский. Но микросхема позволяет определить 8 пользовательских символов начиная с адреса 0 в CGRAM.

Для этого нужно установить адрес CGRAM в 0.
_Control(64); //Установит на 0 адрес, число 64 показывает что мы работаем с CGRAM.
              //(Подробнее в первой части, в таблице команд).

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

Для примера мы опишем массив из 8 символов:
var Symbol_Array:array[1..64] of byte = (
   0,21,21,21,21,21,21,0,
   0,20,20,20,20,21,21,0,
   0,16,16,16,16,21,21,0,
   0,20,0,0,0,0,20,0,
   0, 4, 6,31,31, 6, 4,0,
   0, 4,12,31,31,12, 4,0,
   0, 0,14,17,17,17, 14,0,
   0, 0,14,15,15,15,14,0);
И теперь инициализируем память нашими символами:
for i:=1 to 64 do
   _DigitData(symbol_array[i]);
Для вывода символа на экран будем использовать следующую процедуру:
procedure THD44780.PrintSymbol(Position: byte; Number_Symbol:byte);
begin
  _Control(128+Position);
  _DigitData(Number_Symbol);
end;
где:
  • Position - позиция на экране для вывода символа,
  • Number_Symbol - номер символа в нашем знакогенераторе (0 -7).


К материалу прилагаются файлы:


Смотрите также материалы по темам:
[LPT] [Подключение внешних устройств]

 Обсуждение материала [ 25-06-2007 08:27 ] 10 сообщений
  
Время на сайте: GMT минус 5 часов

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

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования