Главная » Микроконтроллеры
Призовой фонд
на июль 2017 г.
1. Осциллограф DSO138
Паяльник
2. Регулируемый паяльник 60 Вт
Паяльник
3. 200 руб.
От пользователей

Подключение графического ЖК-дисплея 128х64 KS0108 к AT89C52

Жидкокристаллические дисплеи в настоящее время широко применяются в разнообразной радиоаппаратуре. Они могут стоять как в аналоговых, так и в цифровых устройствах. Жидкокристаллические дисплеи легко программируются и имеют преимущества перед семисегментными индикаторами.

Если вам нужно отображать информацию в графическом стиле, то графические ЖК-дисплеи будут лучшими по сравнению с символьными. Эта статья описывает основы работы с графическим ЖК-дисплеем с разрешением 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 показано на схеме.

Схема подключения

Схема подключения

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
МикроконтроллерAT89C521 Поиск в FivelВ блокнот
LCD-дисплей128х64 KS01081 Поиск в FivelВ блокнот
Электролитический конденсатор10мкФ 25В1 Поиск в FivelВ блокнот
Подстроечный резистор20 кОм1 Поиск в FivelВ блокнот
Резистор4.7 кОм1 Поиск в FivelВ блокнот
Резистор10 кОм1 Поиск в FivelВ блокнот
Кварцевый резонатор12 МГц1 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Программатор Pickit3
Программатор Pickit3
Солнечная панель 10Вт 12В поликристаллическая Конструктор УНЧ 60 Вт на LM3886
вверх