Жидкокристаллические дисплеи в настоящее время широко применяются в разнообразной радиоаппаратуре. Они могут стоять как в аналоговых, так и в цифровых устройствах. Жидкокристаллические дисплеи легко программируются и имеют преимущества перед семисегментными индикаторами.
Если вам нужно отображать информацию в графическом стиле, то графические ЖК-дисплеи будут лучшими по сравнению с символьными. Эта статья описывает основы работы с графическим ЖК-дисплеем с разрешением 128x64 и контроллером KS0108.
Для работы с дисплеем есть два регистра входной и выходной. Они выбираются комбинациями сигналов на выводах RS и RW, которые находятся в таблице 1.
Входной регистр:
Входной регистр используется для записи команд и данных в ЖК-дисплей. Он содержит данные и инструкции перед записью в DDRAM (Data Display RAM). Когда ЖК-дисплей находится в активном режиме (CS1 и CS2 имеют высокий логический уровень), входной регистр может быть выбран путем посылки битов на RS и RW выводы, как показано в таблице. Данные входного регистра записываются по заднему фронту ЕN (Enable) сигнала и автоматически записываются в DDRAM.
Выходной регистр:
Выходной регистр используется для чтения данных из DDRAM. Когда ЖК-дисплей находится в активном режиме (CS1 и CS2 имеют высокий логический уровень), выходной регистр может быть выбран путем посылки битов на RS и RW, как показано в таблице. Если на R/W и RS высокий логический уровень, данные записываются в выходной регистр. Если же на R/W высокий логический уровень, а на RS низкий логический уровень данные можно считывать.
Табл.1 Комбинации сигналов RS и RW
R/W |
RS | Функции |
L |
L | Команда передачи |
L |
H | Запись данных (во входной регистр DDRAM) |
H |
L | Проверка состояния |
H |
H | Чтение данных (из DDRAM в выходной регистр) |
Основные действия для работы с графическим ЖК-дисплеем:
1. Инициализация ЖК-дисплея
2. Выбор страницы
3. Выбор столбца
4. Вывод данных
1.Инициализация ЖК-дисплея
Перед выводом данных на ЖК-дисплей, он должен быть инициализирован, т.е. дисплей должен быть поставлен на нужный столбец и страницу, куда нужно вывести данные. Это можно сделать следующими действиями:
а) Задать значение регистра данных
DB7 | DB6 |
DB5 |
DB4 | DB3 | DB2 | DB1 | DB0 |
0 | 0 | 1 | 1 | 1 | 1 | 1 |
D |
При D = 1 данные отображаются, при D = 0 нет. Если дисплей выключен, то ничего происходить не будет.
б) CS1 = 1, CS2 = 1 активация обеих половин дисплея.
в) RS = 0, R / W = 0 (для выбора режима передачи команд)
г) EN = 1
д) задержка
е) EN = 0 (для записи данных во входной регистр)
Функция вкл/выкл может также использоваться для непрерывного отображения данных на ЖК-дисплее, переключая его с некоторой задержкой.
2. Выбор страницы
Прежде чем выводить какие либо данные, должна быть выбрана страница ЖК-дисплея. Страница, может быть выбрана по следующей последовательности действий:
а) Задать значение регистра данных
DB7 |
DB7 | DB7 | DB7 | DB7 | DB7 | DB7 | DB7 |
1 | 0 | 1 | 1 | 1 |
X3 |
X2 | X1 |
Всего есть 8 страниц (0-7), конкретная страница выбирается установкой битов X1-X3.
б) CS1 = 1, CS2 = 1 (для активации обеих половин дисплея)
в) RS = 0, R / W = 0 (выбор режима команд)
г) EN = 1
д) задержка
е) EN = 0 (для записи данных во входной регистр )
Например, если X3 = 0, X2 = 1 и X1 = 0, то выбирается вторая страница.Чтение или запись выполняются на этой странице, пока не будет выбрана следующая страница. В зависимости от выбора столбца, страница выбирается или из левой или из правой половины ЖК-дисплея.
3. Выбор столбцов
В данном ЖК-дисплее 128 столбцов, которые увеличиваются автоматически при каждом цикле записи. Это означает, что выбрав столбец и записав в него данные, в следующем цикле записи номер столбца будет увеличен на 1. Данные легче писать по столбцам. Столбец может быть выбран следующими инструкциями:
а) Задать значение регистра данных
DB4 |
DB4 |
DB4 | DB4 | DB4 | DB4 | DB4 | DB4 |
0 | 1 |
Y5 |
Y5 |
Y5 |
Y5 |
Y5 |
Y5 |
Соответствующий контроллер (CS1 или CS2) выбирается в зависимости от номера столбца, как показано ниже.
б) RS = 0, R / W = 0 (выбор режима команд)
в) EN = 1
г) Задержка
д) EN = 0 (для записи данных во входной регистр)
Например, если адрес страницы равен 0, и адрес столбца равен 0, то будет отображен первый пиксель, который показан на следующей диаграмме.
4. Отображение данных
После выбора страницы и столбца можно отправлять данные для отображения на ЖК-дисплее. Отображение данных может быть осуществлено по следующим инструкциям:
а) Задать значение регистра данных. С каждым циклом записи, данные записываются в один столбец, а затем номер столбца увеличивается на единицу. Старший бит данных (DBx = 1) соответствует зажженному пикселю, а младший бит данных (DBx = 0) соответствует погашенному пикселю. MSB соответствует 8-м ряду в столбце, а LSB первом ряду столбца.
б) Если номер столбца <63, то (CS1 = 1 & CS2 = 0) иначе (CS1 = 0 & CS2 = 1)
в) RS = 1 и R / W = 0 (для выбора режима записи в ЖК-дисплей)
г) EN = 1
д) задержка
е) EN = 0 (для записи данных во входной регистр)
Если в порт данных записано значение '0x99 'или '10011001', то столбец принимает значение, как показано ниже.
Следующие шаги могут быть использованы для эффективного программирования:
1. При отправке данных для записи из массива, нужно указать размерность массива. Это будет указывать, сколько нужно заполнить столбцов. Если размерность будет составлять 8, то восемь столбов будут заполнены, если 7, то семь столбцов будет заполнено.
2. Условие 'if (column >127) ' может быть использовано, чтобы вернуться к основной функции, если количество столбцов дисплея превышено.
3. Функция установки столбца должна быть вызвана еще раз, если значение номера столбца не соответствует левой или правой половине ЖК-дисплея.
4. Для проверки условий 2 и 3 нужно ввести переменную, которая будет хранить номер столбца.
Используя вышеописанные функции можно отображать буквы и символы разных размеров. Для этого нужно создать свои массивы данных для разнообразных букв, символов. Подключение этого ЖК-дисплея к AT89C52 показано на схеме.
Схема подключения
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
Микроконтроллер | AT89C52 | 1 | Поиск в магазине Отрон | |||
LCD-дисплей | 128х64 KS0108 | 1 | Поиск в магазине Отрон | |||
Электролитический конденсатор | 10мкФ 25В | 1 | Поиск в магазине Отрон | |||
Подстроечный резистор | 20 кОм | 1 | Поиск в магазине Отрон | |||
Резистор | 4.7 кОм | 1 | Поиск в магазине Отрон | |||
Резистор | 10 кОм | 1 | Поиск в магазине Отрон | |||
Кварцевый резонатор | 12 МГц | 1 | Поиск в магазине Отрон | |||
Скачать список элементов (PDF)
Прикрепленные файлы:
- Graphics LCD.c (3 Кб)
Комментарии (0) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация