Поиск по сайту: |
|
По базе: |
|
Главная страница > ЖКИ > Драйвера > 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” (в гексадецимальной форме) в регистр команд и уточнение регистра управления режимом.
Данные режима
2) Установка высоты знаков
Vp – число вертикальных точек в матрице знака. Определяется Vp как количество точек между нижними рядами двух вертикально расположенных знаков. Эта величина имеет место только в знаковом режиме.Графический режим не имеет такой характеристики. Hp, в знаковом режиме, показывает количество горизонтальных точек в матрице знаков, и определяется как количество точек от левого крайнего ряда точек одного знака до левого крайнего ряда точек следующего знака. В графическом режиме величина Hp показывает количество бит (или точек) содержащихся в 1 отображаемом байте получаемом от RAM. Hp может принимать следующие три значения:
3) Установка числа знаков
В знаковом режиме, Hn показывает количество знаков по горизонтали экрана. В графическом режиме эта величина характеризует количество байтов в горизонтальном направлении. Полное число точек на экране графического дисплея можно определить по формуле: n = Hp x Hn Когда число точек находится в пределах от 2 до 256 оно может быть установлено в Hn. 4) Установка числа скважности дисплея
Следовательно, 1/Nx – дежурный режим дисплея Десятичное значение в пределах от 1 до 256 может быть установлено как Nx. 5) Установка позиции курсора
В знаковом режиме Cp показывает линию на которой отображается курсор. Например, когда Cp =8 (десятичное число) курсор отображается ниже линии матрицы знака с координатой 5x7 точек. Горизонтальная длина курсора определяется величиной Hp. Величина Cp может принимать десятичное значение в пределах от 1 до 16. Когда величина Cp меньше высоты знака (Cp <= Vp) дисплей отдаёт приоритет отображению курсора, если этот режим включен. При Cp < Vp курсор не отображается. Длина курсора определяется величиной Hp. 6) Установка начального адреса младшего байта
7) Установка начального адреса старшего байта
Данная команда записывает величину начального адреса дисплея в регистр начального адреса. Начальный адрес дисплея является адресом ROM, по которому хранятся данные для отображения в позиции, левее отображённого на экране знака. Начальный адрес состоит из 16 бит, и старший, и младший. 8) Установка (младшего) адреса курсора (младший адрес чтения/записи RAM)
9) Установка ( старшего) адреса курсора (старший адрес чтения/записи RAM)
Данная команда записывает величину адреса курсора в счётчик адреса крсора. Адрес курсора показывает адрес изменяемых данных отображения и кода знака из RAM. Другими словами, данные по отмеченному адресу курсора читаются из, или записываются в RAM. В знаковом режиме курсор отображается в позиции, отмеченной адресом курсора. Адрес курсора поделён на младший адрес (8 бит) и старший адрес (8 бит). Они должны устанавливаться в соответствии со следующими правилами:
Счётчик адреса курсора суммирующий 16 битный с функциями установки/сброса: при изменении очередного бита с 1 в 0, код последующего увеличивается на 1. Соответственно, когда младший адрес такой, что младший из MSB ( 8 – й бит) изменяется с 1 в 0, то LSB (1-й бит)старшего адреса увеличивается на 1. При установке адреса курсора, установка младшего и старшего байта происходит как по 2-х байтной, длинной команде. 10) Запись отображаемых данных
Записывается код “0СH” в регистр команд. Затем записывается 8 бит данных с RS =0, эти данные записываются в RAM как отображаемые графические данные или код знака по адресу записанному в счётчик адреса курсора. После выполнения записи, код счётчика адреса курсора увеличивается на 1. 11) Чтение отображаемых данных
Записывается код “0DH” в регистр команд. Затем устанавливается признак чтения RS =0, данные из RAM могут быть считаны. Процедура считывания следующая: Данная команда выводит содержимое регистра выходных данных в DB0-7, затем передаёт данные RAM по адресу курсора, в регистр выходных данных. Затем, адрес курсора увеличивается на 1, что означает, что корректные данные не могут быть прочитаны в первой операции чтения. Извлечённые данные выводятся во второй операции чтения. Таким образом, однократная операция чтения данных после установки адреса курсора не закончена и может считаться фальшивой. 12) Стирание бита
13) Установка бита
По командам стирания или установки бита, один из битов выбранного байта може быть установлен в 0 или 1 состояние. Бит определённый кодом Nb устанавливается в 0 состояние по команде стирания бита, и в 1 состояние по команде установки бита. Адрес байта RAM определяется адресом курсора, который автоматически увеличивается на 1 после выполнения данных команд. Nb может принимать значения от 1 до 8. LSB соответствует значению Nb =1, а MSB- NB =8. 14) Чтение флага готовности
Флаг готовности появляется в разряде DB7, когда бит RS принимает значение 1. Флаг устанавливается в 1 при выполнении любой из команд с 1) по 13), и устанавливается в 0 при окончании их выполнения, разрешая приём очередной команды. Ни одна другая команда не может быть принята при 1 состоянии флага готовности. Соответственно, перед записью команды или данных необходимо убедиться в 0 состоянии флага готовности. Однако очередная команда может быть выполнена без контроля состояния флага готовности, когда максимальное время цикла записи/чтения наступает после выполнения предыдущего цикла записи/чтения. Состояние флага готовности не может изменяться при записи данных в регистр команд (RS =1). Поэтому, при обращениях к регистру команд очень важно следить за состоянием флага готовности. Соотношения между LCD панелью дисплея и величинами Hp, Hn, Vp, и Nx
При числе точек по вертикали экрана равном - m, и числе точек экрана по горизонтали равном –n,
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|