В HTML      В PDF
микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > ЖКИ > Драйвера > LC7981

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве

текст еще



Программирование контроллера LC7981

Регистры

LC7981 содержит 5 типов регистров – регистр команд, регистр входных данных, регистр выходных данных, регистр точек, и регистр управления режимом.

Регистр команд хранит коды команд, таких как начальный адрес, координаты курсора и т. д.

Он содержит 4 бита, и 4 младших бита шины данных DB0 до DB3 записываются в него. Регистр входных данных временно хранит данные до записи их во внешнюю RAM,регистр точек и регистр управления режимом и содержит 8 бит.

Регистр выходных данных временно хранит данные чтения из внешней RAM и тоже состоит из 8 бит. Когда адрес курсора записан в счётчик адреса курсора через регистр входных данных и команда чтения памяти установлена в регистре комнд, данные внешней памяти читаются в регистр выходных данных как внутренняя процедура. По следующей команде микропроцессорное устройство считывает данные из выходного регистра, и завершает передачу данных.

Регистр точек хранит информацию о точках, такую как, шаг знаков, количество точек в вертикали знака и т. д. Данные от МПУ записываются в регистр точе через регистр входных данных.

Регистр управления режимом хранит информацию о статусе LCD дисплея, такую как, включен ли дисплей, или курсор и мигает ли он. Этот регистр содержит 6 бит. Данные в него, тоже записываются через регистр входных данных.

Флаг готовности

Когда флаг готовности установлен в логическую “1”, LC7981 выполняет внутренние команды. В это время выполнение других команд не возможно. Флаг готовности попадает на DB7 когда RS =1 и RW =1. Следующая команда может быть записана только когда флаг готовности будет установлен в “0”.В случае когда максимальная величина времени цикла чтения или записи превосходит необходимое время для выполнения предшествующих команд, очередная команда может быть выполнена без подтверждения флага готовности.

Счётчик точек

Счётчик точек генерирует временные интервалы для LCD дисплея в соответствии с содержимым регистра точек.

Счётчик восстановления адреса

Счётчик восстановления адреса управляет адресацией внешней памяти RAM, ROM генератора знаков, расширенной ROM и доступен двух типов-1 и 2. Первый - для больших экранов, второй, для малых. В графическом режиме 16-битный выход используется для адресации внешней памяти RAM. В знаковом режиме 4 старших бита игнорируются и заменяются битами счётчика адреса рядов. 4 бита используются как адрес внешней расширенной ROM.

ROM генератор знаков

ROM генератор знаков содержит полных 7360 бит и хранит данные на 192 знака.

Коды знаков от внешней RAM и коды рядов от счётчика адреса рядов дополняют адресный сигнал, и выход ROM из 5 бит данных точек.

ROM генератор хранит 192 знака, из которых 160 с размерами матрицы 5x7 и 32 знака с матрицей 5x11. Внешняя ROM увеличивает количество знаков до 256 размерами 8x16.

Счётчик адреса курсора

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

Генератор сигналов курсора

В знаковом режиме курсор может отображаться при подаче соответствующих команд. Курсор генерируется автоматически, когда счётчик адреса курсора и счётчик адреса рядов принимают заданную величину.

Параллельно - последовательный преобразователь

Две цепи параллельно – последовательного преобразования совместно преобразуют параллельные данные от внешней RAM, знакового генератора, и внешней ROM в последовательные данные на драйвера больших и малых LCD экранов.

Команды управления дисплеем

Дисплей управляется записью данных в регистр команд и 13 регистров данных.

Регистры команд и данных выбираются с помощью сигнала RS. Сначала записываются 4 бита данных в регистр команд при RS =1, устанавливается код регистра данных. Затем при RS = 0, записываются 8 бит данных в регистр данных, после чего исполняется выбранная команда.

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

Однако следующая команда может быть исполнена без подтверждения установки флага готовности, когда очередной цикл чтения/записи следует за выполнением такого же цикла чтения/записи. Флаг готовности не изменяет своего состояния при записи команды в регистр команд ( RS =1). Поэтому нет необходимости пдтверждения готовности после записи данных в регистр команд.

1)Управление режимом

Запись кода “00h” (в гексадецимальной форме) в регистр команд и уточнение регистра управления режимом.

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 0 0 0 0
Регистр управления режимом 0 0 0 0 Данные режима

Данные режима

DB5 DB4 DB3 DB2 DB1 DB0 Курсор/миг. CG Графич./Знаков.
0/1 0/1 0 0 0 0 Курс. Выкл. Встр.CG Знаковый дисплей
0 1 Курс. Вкл.
1 0 Курс. Выкл. Знак. Миг.
1 1 Курс. Миг.
0 0 1 Курс. Выкл. Внеш.CG
0 1 Курс. Вкл.
1 0 Курс. Выкл. Знак. Миг.
1 1 Курс. Миг.
0 0 1 0     Графич. режим
Диспл. Вкл/выкл. Ведущ./
Ведомый
Мигание Курсор Режим CG    
Диспл. Вкл/выкл. 1 - Дисплей Включен
0 - Дисплей Выключен
Ведущ./Ведомый 1 - Режим Мастер
0 - Режим Ведомый

2) Установка высоты знаков

Регистр R/W Rs DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 0 0 0 1
Регистр высоты знаков 0 0 (Vp – 1) Двоичный 0 (Hp – 1) Двоичный

Vp – число вертикальных точек в матрице знака. Определяется Vp как количество точек между нижними рядами двух вертикально расположенных знаков. Эта величина имеет место только в знаковом режиме.Графический режим не имеет такой характеристики.

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

Hp может принимать следующие три значения:

Hp DB2 DB1 DB0  
6 1 0 1 Ширина знака 6
7 1 1 0 Ширина знака 7
8 1 1 1 Ширина знака 8

3) Установка числа знаков

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 0 0 1 0
Регистр числа знаков 0 0 (Hn –1) Бинарный код

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

n = Hp x Hn

Когда число точек находится в пределах от 2 до 256 оно может быть установлено в Hn.

4) Установка числа скважности дисплея

Регистр R/w RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 0 0 1 1
Регистр скважности 0 0 ( Nx – 1) Двоичный код

Следовательно, 1/Nx – дежурный режим дисплея

Десятичное значение в пределах от 1 до 256 может быть установлено как Nx.

5) Установка позиции курсора

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 0 1 0 0
Регистр позиции курсора 0 0 0 0 0 0 (Cp – 1) Двоичный код

В знаковом режиме Cp показывает линию на которой отображается курсор. Например, когда Cp =8 (десятичное число) курсор отображается ниже линии матрицы знака с координатой 5x7 точек. Горизонтальная длина курсора определяется величиной Hp. Величина Cp может принимать десятичное значение в пределах от 1 до 16. Когда величина Cp меньше высоты знака (Cp <= Vp) дисплей отдаёт приоритет отображению курсора, если этот режим включен. При Cp < Vp курсор не отображается. Длина курсора определяется величиной Hp.

6) Установка начального адреса младшего байта

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 1 0 0 0
Регистр начального адреса (младший байт) 0 0 (Начальный адрес младшего байта) Бинарный код

7) Установка начального адреса старшего байта

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 1 0 0 0
Регистр начального адреса
(старший байт)
0 0 (Начальный адрес старшего байта) Бинарный код

Данная команда записывает величину начального адреса дисплея в регистр начального адреса.

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

8) Установка (младшего) адреса курсора (младший адрес чтения/записи RAM)

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 1 0 1 0
Счётчик адреса курсора (младший байт) 0 0 (Адрес младшего байта курсора) Бинарный код

9) Установка ( старшего) адреса курсора (старший адрес чтения/записи RAM)

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 1 0 1 1
Счётчик адреса курсора (старший байт) 0 0 ( Адрес старшего байта курсора) Бинарный код

Данная команда записывает величину адреса курсора в счётчик адреса крсора. Адрес курсора показывает адрес изменяемых данных отображения и кода знака из RAM. Другими словами, данные по отмеченному адресу курсора читаются из, или записываются в RAM. В знаковом режиме курсор отображается в позиции, отмеченной адресом курсора.

Адрес курсора поделён на младший адрес (8 бит) и старший адрес (8 бит). Они должны устанавливаться в соответствии со следующими правилами:

1 Установить оба адреса Сначала младший адрес, затем старший.
2 Установить младший адрес После установки младшего адреса, старший адрес сбросить (Reset)
3 Установить старший адрес Установить старший адрес. При необходимости сбросить (Reset) младший адрес

Счётчик адреса курсора суммирующий 16 битный с функциями установки/сброса: при изменении очередного бита с 1 в 0, код последующего увеличивается на 1. Соответственно, когда младший адрес такой, что младший из MSB ( 8 – й бит) изменяется с 1 в 0, то LSB (1-й бит)старшего адреса увеличивается на 1. При установке адреса курсора, установка младшего и старшего байта происходит как по 2-х байтной, длинной команде.

10) Запись отображаемых данных

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 1 1 0 0
RAM 0 0 MSB (Данные образа, код знака) LSB

Записывается код “0СH” в регистр команд. Затем записывается 8 бит данных с RS =0, эти данные записываются в RAM как отображаемые графические данные или код знака по адресу записанному в счётчик адреса курсора. После выполнения записи, код счётчика адреса курсора увеличивается на 1.

11) Чтение отображаемых данных

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 1 1 0 1
RAM 1 0 MSB (Данные образа, код знака) LSB

Записывается код “0DH” в регистр команд. Затем устанавливается признак чтения RS =0, данные из RAM могут быть считаны. Процедура считывания следующая:

Данная команда выводит содержимое регистра выходных данных в DB0-7, затем передаёт данные RAM по адресу курсора, в регистр выходных данных. Затем, адрес курсора увеличивается на 1, что означает, что корректные данные не могут быть прочитаны в первой операции чтения. Извлечённые данные выводятся во второй операции чтения. Таким образом, однократная операция чтения данных после установки адреса курсора не закончена и может считаться фальшивой.

12) Стирание бита

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 1 1 1 0
Стираемый бит 0 0 0 0 0 0 0 (Nb–1) Бинарн.

13) Установка бита

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Регистр команд 0 1 0 0 0 0 1 1 1 1
Устанавливаемый бит 0 0 0 0 0 0 0 (Nb–1) Бинарн.

По командам стирания или установки бита, один из битов выбранного байта може быть установлен в 0 или 1 состояние. Бит определённый кодом Nb устанавливается в 0 состояние по команде стирания бита, и в 1 состояние по команде установки бита. Адрес байта RAM определяется адресом курсора, который автоматически увеличивается на 1 после выполнения данных команд. Nb может принимать значения от 1 до 8. LSB соответствует значению Nb =1, а MSB- NB =8.

14) Чтение флага готовности

Регистр R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Флаг готовности 1 1 1/0

Флаг готовности появляется в разряде DB7, когда бит RS принимает значение 1.

Флаг устанавливается в 1 при выполнении любой из команд с 1) по 13), и устанавливается в 0 при окончании их выполнения, разрешая приём очередной команды. Ни одна другая команда не может быть принята при 1 состоянии флага готовности. Соответственно, перед записью команды или данных необходимо убедиться в 0 состоянии флага готовности. Однако очередная команда может быть выполнена без контроля состояния флага готовности, когда максимальное время цикла записи/чтения наступает после выполнения предыдущего цикла записи/чтения.

Состояние флага готовности не может изменяться при записи данных в регистр команд (RS =1). Поэтому, при обращениях к регистру команд очень важно следить за состоянием флага готовности.

Соотношения между LCD панелью дисплея и величинами Hp, Hn, Vp, и Nx

Обозначение Наименование Содержание Величина
Hp Ширина знака Размер знака по горизонтали 6 – 8 точек
Hn Число знаков Число знаков (цифр) в строке или слов графики в строке 2–256 знаков
Vp Высота знака Размер знака по вертикали 1–16 точек
Cp Позиция курсора Номер линии отображения курсора 1–16 линий
Nx Число линий Число линий на экране дисплея 1–256 линий

При числе точек по вертикали экрана равном - m, и числе точек экрана по горизонтали равном –n,

  • 1/m =1/Nx = мощность дисплея;
  • n =HpxHn;
  • m/Vp =число линий дисплея;
  • Cp<=Vp.


    Режим дисплея






  •  
    Впервые? | Реклама на сайте | О проекте | Карта портала
    тел. редакции: +7 (495) 514 4110. e-mail:info@eust.ru
    ©1998-2016 ООО Рынок Микроэлектроники