close

Вход

Забыли?

вход по аккаунту

?

Golub8

код для вставкиСкачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение
высшего профессионального образования
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
ПРОЕКТИРОВАНИЕ СРЕДСТВ КОНТРОЛЯ И ДИАГНОСТИКИ
С ЭЛЕМЕНТАМИ ВЫСОКОЙ ИНТЕГРАЦИИ
Методические указания
к выполнению лабораторной работы № 8
Санкт-Петербург
2005
Составители: кандидат технических наук, доцент С. И. Ковалев,
кандидат технических наук, доцент В. А. Голубков
Даны методические указания к выполнению практических заданий по
курсу «Проектирование средств контроля и диагностики с элементами
высокой
интеграции»,
которая
ориентирована
на
изучение
жидкокристаллических символьных индикаторов фирмы POWERTIP с
встроенным контролером типа HDD44780.
Методические указания предназначены для студентов специальности
190200 – «Приборы и методы контроля качества и диагностики».
Подготовлены кафедрами электротехники и информационных систем
и рекомендованы к изданию редакционно-издательским советом
государственного образовательного учреждения высшего профессионального
образования «Санкт-Петербургский государственный университет
аэрокосмического приборостроения».
Подписано к печати 05.05.05. Формат 60×84 1/16. Бумага офсетная. Печать офсетная.
Усл. печ. л. 1,27. Уч. -изд. л. 1,66. Тираж 100 экз. Заказ №
Отпечатано с оригинал-макета, подготовленного автором
Отдел оперативной полиграфии
СПбГУАП
190000, Санкт-Петербург, ул. Б. Морская, 67
© ГОУ ВПО «СПбГУАП», 2005
Лабораторная работа № 8
Изучение жидкокристаллических символьных индикаторов фирмы
POWERTIP c встроенным контроллером типа HD44780 . Управление ЖКИ
с помощью микроконтроллеров фирмы Microchip Technology
Цель работы: ознакомление с жидкокристаллическими индикаторами
фирмы Powertip с встроенным контроллером HD 44780. Изучение принципов
управления ЖКИ с помощью PIC-контроллеров (на примере PIC16F877) и
приемами программирования.
Методические указания
ЖК-дисплеи от POWERTIP.
Описание, система команд, программирование
Жидкокристаллические индикаторы в настоящее время наиболее
распространенные устройства отображения информации. Алфавитно-цифровые
(матричные) и графические модули фирмы POWERTIP − устройства отображения
информации, при подключении которых необходимо организовать порядка
полутора-двух десятков соединений (их количество практически не зависит от
информационной емкости модуля), а для управления ими требуются только
управляющие и информационные сигналы от микропроцессора.
Каждый модуль содержит один или несколько, в зависимости от
информационной емкости, контроллеров, которые, принимая данные и
управляющие сигналы от микропроцессора, организуют процесс выработки
необходимых для работы сигналов и напряжений формируя на LCD модуле
требуемое изображение.
Некоторые характеристики LCD модулей фирмы POWERTIP:
- алфавитно-цифровые и графические
- широкий выбор форматов индикаторов
- встроенная схема инициализации
- большая площадь отображения информации
- несколько вариантов фоновой подсветки
- малые напряжения питания и энергопотребления
- возможность работы с 8 и 4-разрядными микропроцессорами
- различные наборы шрифтов
- возможность программирования символов
- компактность, малые вес и толщина
- широкий угол обзора и высокая контрастность
- различные варианты цвета фоновой подсветки
- широкий диапазон температур
- высокая надежность и качество
1
Основные особенности алфавитно-цифровых
модулей фирмы POWERTIP
В табл. 1 представлена номенклатура алфавитно-цифровых модулей,
производимых фирмой POWERTIP, разбитых на группы по числу
отображаемых символов и строк. Внутри каждой группы модели различаются
размерами знакоместа, наборами отображаемых символов, типом жидких
кристаллов, видом подсвета, температурным диапазоном. Температурный
диапазон модуля может быть расширен в область отрицательных температур, за
счет применения специальных пластин-подогревателей.
Из рисунка 1 и табл. 2 можно видеть, насколько просто подключение
модуля к управляющему процессору. Все алфавитно-цифровые LCD модули
фирмы POWERTIP, содержат встроенный контроллер типа HD44780, а
некоторые, к примеру, РС4004 даже два. Понятно, что внешний
микропроцессор работает
с контроллером, и именно его технические
характеристики и система команд определяют возможности LCD модуля.
Характеристики HD44780:
- Работа с 4 или 8 битным микроконтроллером
- Размер ОЗУ дисплея 80 × 8 бит (80 символов)
- ПЗУ знакогенератора
Символ 5 × 7 точек: 160 символов
Символ 5 × 10 точек: 32 символа
- Широкий набор инструкций: очистка дисплея, возврат курсора,
включение/выключение дисплея, включение/выключение курсора, мерцание
символа, сдвиг курсора, сдвиг строки символов.
- Внутренний сброс по включению питания.
Таблица 1
Количество
строк
Количество знакомест в одной строке
8
.-
12
.-
PC0802
1 модель
3,0 × 5,6
PC1202
1 модель
2,6 × 5,5
.-
.-
1
2
3
16
PC1601
6 моделей
3,0 × 6,6
4,8 × 9,6
PC1602
11 моделей
3,0 × 4,4
3,0 × 5,5
4,8 × 9,6
PC1604
1 модель
3,0 × 4,7
20
PC2001
1 модель
6,0 × 14,5
24
.-
40
.-
PC2002
5 моделей
3,2 × 5,5
4,8 × 9,2
6,0 × 9,6
PC2004
4 модели
3,2 × 5,5
4,8 × 9,2
6,0 × 9,6
PC2402
4 модели
3,2 × 5,5
6,0 × 9,6
PC4002
3 модели
3,2 × 5,5
PC2402
1 модель
3,2 × 5,5
PC4002
2 модели
2,8 × 4,9
5,2 × 14,5
Блок схема алфавитно-цифрового модуля фирмы POWERTIP приведена
на рис. 1.
2
DB7
DB0
E
R/W
Vss
Vdd
Vo
Панель ЖКИ
HDD44780
Подсветка
A
K
Рис. 1
Cигнал
RS
Количество Функция
линий
1
Ввод
Назначение
Таблица 2
Выбор регистра команд или регистра данных
R/W
1
Ввод
Чтение / запись
E
1
Ввод
Разрешение чтения/записи
DB4-DB7
4
Ввод-вывод 4 линии старших разрядов шины данных
DB3-DB0
4
Ввод-вывод 4 линии младших разрядов шины данных
Vss Vdd
2
Vss-земля, Vdd-напряжение питания логики (+5в)
Vo
1
Напряжение для управления ЖК панелью
(регулировка контрастности изображения)
значение зависит от типа модуля
Напряжение питания подсветки,
зависит от вида подсветки.
A
K
2
Интерфейс с микропроцессором
В LCD модуле информация может быть переслана либо в двух 4-битовых
операциях, либо одной 8-битовой.
1. Когда ширина шины составляет 4 бита, информация передается по
старшим линиям шины данных DB4-DB7. Линии DB0-DB3 не используются.
Цикл передачи одного байта между модулем и микропроцессором занимает
3
две последовательные 4-битовые посылки. Старшие биты передаются первыми
(рис. 2).
2. При ширине шины 8 бит, данные передаются одной 8-битовой
посылкой, используя линии DB0-DB7.
Примечания по аппаратной организации
Выбор кристалла
HD44780 не имеет входа CS (выбор кристалла). Поэтому при подключении
модуля напрямую к шине данных, необходимо предусмотреть схему
запрещающую сигнал Е (Enable), на адресах, которые не отведены для LCD
модуля.
Шина данных
Линии DB0-DB7 могут иметь нагрузку один TTL выход. При подаче на
вывод E напряжения низкого уровня линии DB0-DB7 переходят в состояние
высокого импеданса.
RS
R/W
E
DB7
IR7 IR3
BF
AC3
DB7
DB3
DB6
IR6 IR2
AC6
AC2
DB6
DB2
DB5
IR5
IR1
AC5
AC1
DB5
DB1
DB4
IR4 IR0
AC4
AC0
DB4
DB0
Запись инструкции IR
Чтение флага BF
и счетчика адреса
АС
Чтение регистра
данных DR
Рис. 2
На рис. 3 приведен пример временных последовательностей при проверке
состояния флага занятости BF.
4
Рис. 3
Инициализация
Инициализация внутренней схемой сброса
Контроллер HD44780 автоматически инициализируется (сбрасывается) по
включению питания. При инициализации выполняются следующие
инструкции. Флаг занятости удерживается до конца инициализации (BF=1).
(1) Очистка дисплея
(2) Набор функций ....DL=1: разрядность шины 8 бит
N=0: однострочный дисплей
F=0: символы 5 × 7 точек
(3)Включение/выключение дисплея
D=0: дисплей выключен
С=0: курсор выключен
B=0: мерцание выключено
(4)Режим ввода.........I/D=1:+1 (инкремент)
S=0: нет сдвига
(5)Запись DD RAM (ОЗУ знакогенератора)
Если время установления напряжения питания (0,2-4,5) больше, чем 0,1 мс
10 мс, то внутренняя схема сброса может сработать некорректно. В этом случае
инициализация должна проводится программно микропроцессором.
Программная инициализация
Для программной инициализации используется следующая процедура.
Включение
питания
5
ждать не менее 15 мс
после установления
питания Vdd 4.5 В
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0
0
0
1
1 *
*
*
*
Установка набора функций
BF не может быть
считан до выполнения
этой инструкции
ждать не менее 4,1 мс
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0
0
0
1
1 *
*
*
*
Установка набора функций
BF не может быть
считан до выполнения
этой инструкции
ждать не менее 100 мкс
далее исполняются те же
инструкции, что и при
инициализации внутренней
схемой сброса
конец инициализации
Инструкции
Только два регистра контроллера HD44780 могут быть непосредственно
доступны для микропроцессора. Это регистр данных (DR) и регистр
инструкций. Операции HD44780 определяются командами микропроцессора.
В табл. 3 приведены инструкции и время их исполнения. Более
детальное описание приведено в дальнейших разделах.
Инструкции подразделяются на 4 типа.
(1) Определение функций HD44780, таких как формат дисплея, разрядности
шины данных и т.д.
6
(2) Выбор адреса внутреннего ОЗУ HD44780
(3) Обмен данными с внутреннего ОЗУ HD44780
(4) Остальные
Обычно наиболее часто используются инструкции (3). Во время
исполнения одной инструкции, никакая другая, кроме инструкции чтения флага
занятости не может быть считана. Поскольку флаг занятости устанавливается в
«1» ,на все время выполнения инструкции, то пользователь должен обязательно
проверять этот флаг перед посылкой следующей инструкции.
П р и м е ч а н и е . Если инструкция посылается без проверки флага
занятости, то время между первой и следующей инструкцией, должно быть
больше, чем время исполнения первой инструкции.
После исполнения инструкции записи данных в CG/DD RAM или чтения
данных из CG/DD RAM, счетчик адреса в HD44780 инкрементируется на 1 или
декрементируется на 1 В этом случае изменение адреса после установки флага
занятости в «0». Тadd определяет временной интервал между срезом состояния
занятости и окончанием обновления счетчика адреса.
Сигнал
занятости DB7
Cчетчик
адреса
DB0-DB7
A
A+1
Tadd
Тadd зависит от рабочей частоты
1,5
Тadd= Fosc (Fosc-обычно 270 КГц)
Система команд
Инструкция
Очистка дисплея
Инструкция
Возврат в начало
(сбрасываются все сдвиги
курсора и экрана)
Выбор направления сдвига
курсора или экрана
Дисплей, курсор, мерцание
Таблица 3
Код
Время исполнения
RS R/ DB DB DB DB DB DB DB DB0
W 7
6
5
4
3
2
1
0 0
0
0
0
0
0
0
0
1 82 мкс-1,64
мс
Код
Время исполнения
RS R/ DB DB DB DB DB DB DB DB0
W 7
6
5
4
3
2
1
0 0
0
0
0
0
0
0
1*
40 мкс-1,6
мс
0 0
0
0
0
0
0
0 0
0
0
0
0
1D
1 I/D S
C
B
40 мкс
40 мкс
7
курсора включить
/выключить
Сдвиг курсора и дисплея
Установка ширины шины
данных, числа строк, размера
шрифта
Установка адреса CG RAM
0 0
0 0
0
0
0
0
0 0
0
1
0
1 S/C R/L *
1 DL N F *
*
*
40 мкс
40 мкс
40 мкс
Acg
Установка адреса DDRAM
0 0
40 мкс
1
Acg
Чтение флага BF
и счетчика AC
Запись данных в CG или DD
RAM
Чтение данных из CG или
DDRAM
0 1 BF
1 мкс
1 0
AC
записываемые данные
40 мкс
1 1
читаемые данные
40 мкс
Описание инструкций
Очистка дисплея
Записывает код пробела (20h) по всем адресам DD RAM. Устанавливает
счетчик адреса DD RAM в 0. Возвращает дисплей в его первоначальное
состояние, если содержимое его было сдвинуто. Другими словами, дисплей
очищается, курсор сдвигается в левый край дисплея (на первую строчку, если
дисплей двухстрочный). Кроме того, I/D устанавливается в 1 (режим
автоинкремента). Состояние режима ввода S не меняется.
Возврат на начало
Устанавливает адрес 0 DD RAM в счетчике адреса. Возвращает дисплей в
первоначальное состояние, если он был сдвинут.Содержимое DD RAM не
изменяется, курсор сдвигается в левый край дисплея (на первую строчку, если
дисплей двухстрочный.
Установка режима ввода
I/D: Инкремент (I/D=1) или декремент (I/D=0) счетчика адреса DD RAM на
единицу при записи или чтении кода символа в или из DD RAM.
S: S=0 Курсор сдвигается направо на одну позицию при инкременте и
налево при декременте. То же самое относится к чтению записи СG RAM.
S: Сдвигает полностью дисплей на одну позицию вправо или влево при
S=1: влево при I/D=1 и вправо при I/D=0.Внешне это выглядит так: курсор
остается на месте, в то время как сам дисплей сдвигается. Дисплей не
смещается во время считывания из DD RAM, также не происходит смещения
при чтении/записи CG RAM.
Дисплей включить/выключить (ON/OFF)
D: Дисплей включен при D=1 и выключен при D=0 .При этом данные
сохраняются неизменными в DD RAM и выводятся на дисплей сразу после
установки D=1.
8
С: Курсор включен при С=1 и включен при С=0. Курсор использует 5
точек в 8 линии при шрифте 5 × 7 точек, и 5 точек в 11 линии при шрифте 5 ×
10 точек. Даже если курсор не отображается, функция I/D и другие
спецификации не будут изменяться во время записи данных дисплея.
В: Мерцание символа расположенного над позицией курсора с частотой
409.6 мс Fosc=270 Кгц при В=1. Мерцание реализуется переключение между
матрицей полностью заполненной точками и отображаемым символом.
Включение курсора и мерцание могут быть инициализированы одновременно.
Сдвиг курсора или дисплея
Сдвигает курсор или дисплей влево или вправо без чтения/записи данных.
В двустрочном дисплее курсор сдвигается на вторую строку при достижении 40
позиции в первой строке Необходимо отметить, что и первая и вторая строка
сдвигаются по горизонтали одновременно. При выполнении операции
смещения дисплея значение счетчика адреса AC не меняется.
S/C R/L
0
0
Сдвиг курсора на позицию влево
(Счетчик адреса инкрементируется на единицу)
0
1
Сдвиг курсора на позицию вправо
(Счетчик адреса декрементируется на единицу)
1
0
Сдвиг всего экрана на позицию влево, вместе с курсором.
(Счетчик адреса не меняется)
0
1
Сдвиг всего экрана на позицию вправо, вместе с курсором.
(Счетчик адреса не меняется)
Установка функций
DL:
Устанавливает
ширину
шины
данных.
Данные
посылаются/принимаются по 8-битовой шине, при DL=1 и по 4-битовой шине,
при DL=0.
N: Установка количества строк дисплея, N=0 одна строка, N=1 две строки.
F: Установка размера шрифта.
Установка адреса СG RAM
Устанавливает адрес СG RAM в счетчике адреса в двоичном формате
АААААА. Передаваемые затем данные адресуется для СG RAM.
Установка адреса DD RAM
Устанавливает адрес DD RAM в счетчике адреса в двоичном формате
АAААААА. Передаваемые затем данные адресуется для DD RAM. Необходимо
отметить, что при N=0 (однострочный дисплей) адрес DD RAM должен быть в
пределах 00H-4FH включительно, при N=1 (двустрочный дисплей) в пределах
00H-27H (первая строка) и 40H-67H (вторая строка) включительно.
Чтение флага занятости и адреса
Читается состояние флага занятости (BF), установка которого означает,
что система в данный момент обрабатывает предыдущую инструкцию.
Следующая инструкция не может быть выполнена, пока флаг BF не сбросится в
9
0. Необходимо каждый раз проверять состояние флага BF перед посылкой
инструкции.
Этой же инструкцией считывается состояние счетчика адреса выраженное
в двоичном формате ААААААА. Счетчик адреса используется при адресации
как
DD RAM так и СG RAM.
Запись данных в СG RAM или DD RAM
Записывает байт данных в двоичном формате DDDDDDDD в СG RAM или
DD RAM . Запись происходит по адресу, определяемому счетчиком адреса
(установка счетчика адреса выполняется инструкциями (7), (8)). После записи
счетчик адреса автоматически инкрементируется или декрементируется на 1, в
соответствии с установкой режима ввода (2). Установка режима ввода также
определяет сдвиг дисплея.
Чтение данных в СG RAM или DD RAM
Читает байт данных в двоичном формате DDDDDDDD из СG RAM или
DD RAM. Перед посылкой инструкции чтения, необходимо выполнить
инструкцию установки счетчика адреса либо для СG RAM (7), либо для DD
RAM (8). В противном случае первое считывание данных будет некорректным.
Выполнение инструкции установки счетчика адреса не требуется при
операциях связанных со сдвигом курсора (когда происходит чтение DD RAM,
так как инструкция сдвига курсора действует подобно инструкции установки
адреса DD RAM). После чтения счетчик адреса автоматически
инкрементируется или декрементируется на 1, в соответствии с установкой
режима ввода (2).
Пример выполнения последовательности инструкций
для вывода сообщения на дисплей
(1) 8-битовая шина данных, 8 символов в одну строку (используется
внутренний сброс). Следующая таблица приводит пример последовательности
инструкций по выводу сообщения на дисплей.
Так как RAM дисплея может запомнить до 80 символов, то при желании
можно использовать дисплей в режиме ‘бегущей строки’, используя
инструкцию сдвига, которая не изменяет содержимое DD RAM.
№ Инструкция
Состояние дисплея
Комментарий
Таблица 4
1
Включение питания
(HD44780 инициализируется
внутренней схемой сброса)
Инициализация
2
Установка функций
Устанавливает 8-битовую шину,
RS R/W DB7 . . . . . .DB0]
0 0
0 01100* *
1- строчный дисплей, размер
шрифта
10
3
4
5
6
7
8
9
Дисплей
включить/выключить
0 0
00001110
Установка режима ввода
0 0
00000110
Запись данных в DD RAM
СG RAM
1 0
01 001000
Запись данных в DD RAM
СG RAM
1 0
01 001001
.……..
Запись данных в DD RAM
СG RAM
1 0
01 001001
Установка режима ввода
0 0
00000111
10 Запись данных в DD RAM
СG RAM
1 0
00100000
11 Запись данных в DD RAM
СG RAM
1 0
01001101
12
.....
13 Запись данных в DD RAM
СG RAM
1 0
01001111
14 Сдвиг курсора или дисплея
0 0
000100**
15 Сдвиг курсора или дисплея
0 0
000100**
Включает дисплей и курсор.
Дисплей заполнен символами
пробела после внутренней
инициализации
_
Устанавливает режим автоинкремента и сдвиг курсора вправо во
время записи в СG RAM DD RAM
Дисплей не сдвигается
_
Записывает символ "H". DD RAM
заранее выбрана при
внутрисхемной инициализации
H_
Записывает символ "I"
HI_
.……..
Записывает символ "I"
HITACHI_
HITACHI_
Устанавливает режим сдвига дисплея во время записи
Запись пробела
ITACHI_
Записывает символ "М"
ITACHI M
.....
Записывает символ "О"
MICROKO_
Сдвиг позиции курсора влево
MICROKO
Сдвиг позиции курсора влево
MICROKO
11
16 Запись данных в DD RAM
СG RAM
1 0
01000011
17 Сдвиг курсора или дисплея
0 0
000111**
18 Сдвиг курсора или дисплея
0 0
000111**
19 Запись данных в DD RAM
СG RAM
1 0
01001101
20
.....
21 Возврат в начало
0 0
00000010
ICROCO
Записывает символ "С". Исправление. Дисплей сдвигается влево
Сдвиг курсора и дисплея вправо
MICROCO
Сдвиг курсора и дисплея вправо
MICROCO_
Записывает символ "М"
ICROCOM_
.....
HITACH I
Возвращает курсор и дисплей в
первоначальное состояние
(Адрес 0)
LCD модуль PC0802 8-битовая шина данных, 8 символов в 2 строки
используется внутренний сброс). Следующая таблица приводит пример
последовательности инструкций по выводу сообщения на дисплей.
В двухстрочном дисплее курсор автоматически сдвигается с первой на
вторую строку, после достижения сорокового знакоместа. Таким образом, если
дисплей содержит в строке 16 символов, то при переходе ко второй строке
необходимо снова устанавливать адрес DD RAM. См. следующую таблицу. В
приведенном примере сдвиг дисплея выполняется в момент, когда курсор
находится на второй строке. Также, если операция сдвига выполняется в
момент, когда курсор находится на первой строке, содержимое и первой и
второй строки сдвигается одновременно.
Таблица 5
№ Инструкция
Комментарий
1 Включение питания
(HD44780 инициализируется
внутренней схемой сброса)
Инициализация
2 Установка функций
Устанавливает 8-битовую шину,
RS R/W DB7 . . . . . .DB0]
0 0
0 01110* *
3 Дисплей включить/выключить
12
Состояние дисплея
2-строчный дисплей, размер
шрифта 5 × 7
Включает дисплей и курсор.
0
0
00001110
4 Установка режима ввода
0 0
00000110
5 Запись данных в DD RAM
СG RAM
1 0
01 001000
6
.....
7 Запись данных в DD RAM
СG RAM
1 0
01 001001
Дисплей заполнен символами
пробела после внутренней
инициализации
_
Устанавливает режим автоинкремента и сдвиг курсора вправо во
время записи в СG RAM DD RAM
Дисплей не сдвигается
_
Записывает символ "H". DD RAM
заранее выбрана при
внутрисхемной инициализации.
Курсор сдвигается вправо
H_
.....
Записывает символ "I"
HITACHI_
8 Установка адреса DD RAM
0 0
11 000000
HITACHI
_
9 Запись данных в DD RAM
СG RAM
1 0
01001101
10
.....
11 Запись данных в DD RAM
СG RAM
1 0
01001111
12 Установка режима ввода
0 0
00000111
13 Запись данных в DD RAM
СG RAM
1 0
01001101
14
.....
15 Возврат в начало
0 0
00000010
Устанавливает адрес DD RAM ,
так чтобы позиция курсора
находилась вначале второй
строки
Записывает символ "М"
HITACHI
М_
.....
Записывает символ "O"
HITACHI
МICROCO_
HITACHI
МICROCO_
ITACHI
I C R O C O М_
Устанавливает режим сдвига
дисплея во время записи
Записывает символ "М". Дисплей
сдвигается вправо. 1 и 2 строка
сдвигаются одновременно
.....
HITACH I
Возвращает курсор и дисплей в
первоначальное состояние
13
М I C R O C O М _ (Адрес 0)
Блок схема HD44780 и функции каждого блока
Регистры
HD44780 имеет два 8-битовых регистра: регистр инструкций (IR) и регистр
данных (DR).
IR запоминает коды инструкций, таких как очистка дисплея, сдвиг курсора
и адресную информацию для DD RAM и CG RAM. Регистр IR доступен только
для записи.
Регистр данных DR является промежуточным буфером для данных
записываемых в DD RAM или CG RAM либо для данных читаемых из DD
RAM и CG RAM. Информация, записанная в DR из микропроцессора затем
автоматически переписывается в DD RAM или CG RAM. Регистр DR также
используется для временного хранения данных при чтении DD RAM или CG
RAM. После записи адреса в регистр IR, данные автоматически
переписываются в регистр DR и затем могут быть считаны микропроцессором.
После считывания данных микропроцессором, данные расположенные по
следующему адресу в DD RAM или CG RAM пересылаются в регистр DR для
последующего чтения микропроцессором. Селектор регистров (RS) выбирает
один из двух регистров.
Выбор регистра
14
E
Операция
Запись в IR
RS
0
R./W
0
0
1
1
0
Чтение флага занятости (DB7) и
счетчика адреса (DB0..DB6)
Запись в DR (в DD или CG RAM)
1
1
Чтение из DR (из DD или CG RAM)
Таблица 6
Флаг занятости (BF)
Когда флаг занятости установлен в 1, это значит, что HD44780 находится в
режиме выполнения инструкции и не может считать следующую. Как показано
в таблице, состояние флага занятости можно считать, установив RS=0 и
R/W=1. Перед посылкой следующей инструкции необходимо убедится, что
флаг занятости сброшен.
Счетчик адреса (AC)
Счетчик адреса AC задает адреса для DD RAM и CG RAM.При
выполнении инструкции установки адреса, адресная информация пересылается
из регистра IR в счетчик адреса AC. Выбор DD RAM или CG RAM
осуществляется этой же инструкцией.
После записи (чтения) DD RAM или CG RAM, счетчик адреса
автоматически инкрементируется (декрементируется) на 1. Содержимое
счетчика адреса доступно при выполнении инструкции чтения флага занятости
см. табл. 6.
RAM отображаемых символов DD RAM
DD RAM хранит коды отображаемых на дисплее символов. Емкость DD
RAM составляет 80 × 8 бит или 80 символов. DD RAM незадействованная для
отображения может использоваться как обычное ОЗУ. Связь между адресами
DD RAM и знакоместами самого дисплея проиллюстрирована ниже.
AC (Счетчик адреса)
AC AC AC AC AC AC AC
6 5 4 3 2 1 0
Адрес DD RAM «4E»
1 0 0 1 1 1 0
--------4-------- -----------E----------Однострочный дисплей (N=0)
1
2
3
4
5
79
.00 .01 .02 .03 .04 ... ....
.4E 4F
Адреса DD RAM
80 − расположение знакомест
К примеру, 8 символов при использовании одного HD44780 будут
отображаться следующим образом.
1
2
3
4
5
6
7
8 − расположение знакомест
15
.00 .01 .02 .03 .04 .05 .06 .07
Адреса DD RAM
При выполнении операции сдвига, сдвиг адресов символов будет происходить
следующим образом.
.01 .02 .03 .04 .05 .06 .07 .08
Сдвиг дисплея влево
.4F .00 .01 .02 .03 .04 .05 .06
Сдвиг дисплея вправо
Знакогенератор ROM (CG ROM)
Знакогенератор ROM формирует знаки размером 5 × 7 или 5 × 10 точек, в
соответствии с поступающими 8-битовыми кодами. Он может генерировать 160
знаков размером 5 × 7 и 32 знака размером 5 × 10 точек. Таблица
знакогенератора программируется на заводе изготовителе.
Знакогенератор RAM (CG RAM)
Знакогенератор RAM может перепрограммироваться пользователем для
формирования желаемых символов. Возможно формирование восьми знаков
размером 5 × 7 точек каждый или четырех размером 5 × 10.
Код символа
Адрес CG RAM
Рисунок символа
данные DD RAM
данные CG RAM
76543210
543210
76543210
Ст.бит Мл.бит Ст.бит Мл.бит
Ст.бит Мл.бит
000
000 * * * 11110
000
001 * * * 10001
000
010 * * * 10001
0000*000
000
011 * * * 11110
16
000
000
000
000
100
101
110
111
*
*
*
*
*
*
*
*
*
*
*
*
10100
10010
10001
00000
001
001
001
000 * * * 10001
001 * * * 11011
010 * * * 10101
Таблица 7
рисунок символа
"
R
"
.- позиция курсора
рисунок символа
0000*001
001
011 * * * 10101
001
001
001
001
100
101
110
111
*
*
*
*
*
*
*
*
*
*
*
*
10001
10001
10001
00000
"
M
"
.- позиция курсора
000 * * *
001 * * *
0000*111
111
100 * * *
101 * * *
110 * * *
* - незначащие
б
и
т
ы
111 * * *
Примечание:
1. Биты кода символа 0-2 соответствуют битам адреса 3-5 CG RAM (3 бита: 8
программируемых символов)
2. Биты адреса 0-2 CG RAM определяют отображаемые строки рисунка
символа.8 строка зарезервирована под курсор. Для нормального отображения
курсора, биты 8 строки должны быть сброшены, в противном случае они могут
«закрасить» курсор.
3. Так как биты данных CG RAM 5-7 не используются для выведения
информации (размер символа по горизонтали составляет пять бит), то они
могут быть отведены под обычное ОЗУ.
4. Как показано в таблице знакогенератора, программируемые символы
выбираются при значении кода символа (0000*ХХХ). Однако так как бит 3
является не значащим битом, то при любом его значении будет отображаться
один и тот же символ.
5. «1» для CG RAM соответствует отображаемой точке, «0» соответствует
«пустому месту».
Таблица кодов символов контроллера EPSON, набор «Russian»
17
Временные характеристики LCD модулей (контроллер D44780).
18
Таблица 8
Параметр
Длительность цикла Enable нс
Длительность высокого уровня Enable нс
Длительность нарастающего/падающего фронтов
Enable нс
Время установки сигналов RS, R/W, E нс
Время удержания адреса нс
Время сохранения данных нс
Время задержки данных нс
Время удержания данных при записи нс
Время удержания данных при чтения нс
Частота тактового генератора кГц
Обозначение. Мин.
Макс.
значение
значение
Tcyce
500
.Pweh
220
.Ter, Tef
.25
Tas
40
.Tah
10
.Tdsw
60
.Tddr
60
12
Th
10
.Tdhr
20
.Fosc
270 типовая
Питание
19
На рис. 4 приведены схемы подключения питание к двум типам LCDмодулей: нормального и расширенного температурных диапазонов.
Нормальный температурный диапазон 0...+50 °С
Расширенный температурный диапазон -20...+50 °С
Теперь рассмотрим более подробно, как ЖКИ подключен к линиям шины
PORTB в нашей установке.
На рис. 5 показано подключение к шине PORTB жидкокристаллического
индикатора. Как видно из рисунка, в нашем случае используется подключение
половины шины данных, т. е байт информации передается в два приема –
сначала старший полубайт, затем младший. Кроме того, вход R/W заземлен, т.е.
предусмотрена передача информации только из внешнего мира в ЖКИ. В
остальном схема вполне стандартная и других особенностей не имеет.
20
Рис. 5. Подключение жидкокристаллического индикатора (ЖКИ) к PORTB
Сигналы разъема ЖКИ:
LED- и LED+ служат для подключения питания к светодиодам
внутренней подсветки ЖКИ. Если не подключать питание к этим светодиодам,
то ЖКИ можно будет пользоваться только в хорошо освещенном помещении,
т.к. цифры будут видны только в отраженном свете. При включении
внутренних “осветительных” светодиодов отпадает необходимость во внешнем
источнике света и индикатором можно пользоваться даже при плохом
освещении.
GND(“земля”) и +5V – линии подачи основного питания на ЖКИ.
V0 – линия подачи небольшого отрицательного напряжения для
регулировки контрастности изображения на ЖКИ. Некоторые типы ЖКИ могут
обходиться и без отрицательного смещения, однако для большинства типов
ЖКИ требуется подавать на этот вход до нескольких вольт отрицательного
напряжения, чтобы символы стали видны на индикаторе. Как правило,
требуемая величина отрицательного напряжения зависит от температуры, и
данная величина напряжения регулируется специальным потенциометром,
которым можно подстраивать контрастность для текущей температуры
окружающей среды. Для лабораторной установки вполне достаточно
работоспособности в диапазоне положительных температур, поэтому в ЛОК-1
такая регулировка не предусмотрена. Используемый в ЛОК-1 тип ЖКИ требует
подачи напряжения на вход V0 около -0.5V при потребляемом токе по этому
входу около 1 mА.
21
RS – Входной сигнал указывает ЖКИ, что сейчас в ЖКИ будет передана
команда (RS=0) или данные (RS=1).
R/W – Входной сигнал указывает ЖКИ, куда сейчас должна передаваться
информация – от ЖКИ во внешний мир (R/W=1) или из внешнего мира в ЖКИ
(R/W=0). В данном макете этот сигнал всегда заземлен, т. е. возможность
передачи сигналов от ЖКИ к контроллерам не предусмотрена. Такое схемное
решение значительно упрощает работу с ЖКИ, но при этом несколько снижает
разнообразие функций, выполняемых ЖКИ. Например, ЖКИ не может
“сказать” микроконтроллеру, что ЖКИ не готов к приему очередной команды,
т. к. еще не успел выполнить предыдущую. Эта особенность включения ЖКИ
требует введения задержки после подачи на ЖКИ очередной команды, чтобы
ЖКИ гарантированно успел выполнить данную команду. Требуемая задержка
определяется опытным путем и, как правило, не превышает нескольких
миллисекунд. Общее быстродействие ЖКИ достаточно велико, и введение
задержек практически не заметно для внешнего наблюдателя.
E – Входной синхросигнал, подача которого обеспечивает считывание
индикатором данных с его входов. Сигнал имеет вид положительного
импульса, т. е. он должен изменить свое значение следующим образом: 0-1-0.
Длительность импульса рекомендуется выбирать достаточно большую – не
менее нескольких микросекунд.
D0..D7 – Входы данных. Предназначены для передачи в ЖКИ данных и
команд и для передачи данных из ЖКИ (последнее не используется в данной
установке).
Программная инициализация ЖКИ перед началом работы может быть
реализована, как в приведенной ниже подпрограмме. Здесь и далее примеры
программ приведены для тактовой частоты контроллера 4 МГц. Использование
более высокой частоты может потребовать изменения некоторых задержек в
сторону увеличения.
Практическая часть.
1. Прочесть методичку, и после собеседования с преподавателем
получить у него задание.
2. Написать и отладить программу в среде MPLAB.
3. С разрешения преподавателя занести программу в PIC16F877.
4. Проверить работу программы на лабораторной установке.
Отчет должен содержать:
- задание;
- схему лабораторной установки;
- блок-схему алгоритма;
- комментированный листинг программы.
английском языке предпочтительны.
22
Комментарии
на
Документ
Категория
Без категории
Просмотров
1
Размер файла
308 Кб
Теги
goluba
1/--страниц
Пожаловаться на содержимое документа