Лабораторна робота № 5 з курсу „Проектування контролерів периферійних пристроїв” Тема: Вивід інформації на рідкокристалічний індикатор на базі контролера HD44780. Мета: Ознайомлення з режимами роботи рідкокристалічного індикатора та контролера HD44780. Короткі теоретичні відомості Типовими рідко кристалічними індикаторами, які використовуються для виводу текстової інформації є рідкокристалічні дисплеї (Liquid Crystal Display) або LCD, які виводять кожен символ на рідкокристалічну прямокутну матрицю розміром 8*5 точок і дозволяють виводити стрічки по 8, 16, 20 або 40 символів. Кількість стрічок може бути 1, 2 або 4. Для управління роботою дисплею використовується контролер Hitachi 44780, або сумісні з ним. Конструктивно такий дисплей представляє собою закінчений функціональний модуль, який розміщується на передній панелі пристрою, а підключення до мікропроцесорної системи здійснюється по паралельному інтерфейсу. Вивід інформації здійснюється шляхом запису даних в пам'ять дисплею. Настройка параметрів роботи та програмування – шляхом запису команд. Зовнішній вигляд та габаритні розміри типового рідкокристалічного дисплею представлено на рисунку 1. Призначення виводів паралельного інтерфейсу описано в таблиці 1. Часові діаграми сигналів цього інтерфейсу представлені на рисунку 2. Доступні операції з рідкокристалічним дисплеєм представлені в таблиці 2. Зважаючи на низьку швидкодію контролера дисплею час опрацювання та виконання команд є досить значним і його вказано у відповідній колонці таблиці 2. Час між командами не повинні бути меншими за ці значення. Паралельний інтерфейс може передавати слова по 8 та по 4 біти. Для підключення дисплею в режимі 8-бітного слова необхідно задіяти 11 ліній керування. В режимі 4-бітного слова – достатньо 7-ми. Вибір довжини слова здійснюється при ініціалізації.
Рис. 1 – Вигляд рідкокристалічного дисплею типу WM-C1601M Таблиця 1 – Призначення виводів рідкокристалічного індикатора типу WM-C1601M Номер виводу Познач. Призначення
Vss Спільний провідник
Vcc Напруга живлення (+5V)
Vee Регулювання контрастності
RS Вибір режиму регістрів 1 – дані 0 – команда
R/W Вибір режиму роботи 1 – читання 0 – запис
E Вхід дозволу - 1 - РКІ активний
DB0 0-й біт (молодший)
DB1 1-й біт
DB2 2-й біт
DB3 3-й біт
DB4 4-й біт
DB5 5-й біт
DB6 6-й біт
DB7 7-й біт (старший)
LED A Анод світлодіода підсвідки
LED K Катод світлодіода підсвідки
Рис. 2 – Часові діаграми інтерфейсу рідкокристалічного індикатора Таблиця 2 – Операції рідкокристалічного дисплею Назва RS R/W D7 D6 D5 D4 D3 D2 D1 D0 Час викон., мс Опис
Очистка 0 0 0 0 0 0 0 0 0 1 1,64 Очищує весь індикатор і повертає курсор на початкову позицію
Повернення 0 0 0 0 0 0 0 0 1 X 1,64 Повертає курсор на початкову позицію, а також повертає весь текст, якщо він був зміщений , на початок
Установка 0 0 0 0 0 0 0 1 H C 0,04 Встановлює направлення руху курсора ( Н=1 – вперед, 0 - назад ), а також зміщення всього тексту( С=1- зміщення включене, 0 - відключене )
Управління 0 0 0 0 0 0 1 D C B 0,04 D=1 - індикатор включений , 0- виключений; С=1-курсор включений, 0 –виключений В=1 - мигання позиції курсора включене, 0 – виключене
Зміщення 0 0 0 0 0 1 S R X X 0,04 S=1 - зміщення тексту , 0- зміщення курсора ; R=1 - зміщення вправо, 0- вліво
Формат 0 0 0 0 1 L N F X X 0,04 L -встановлює довжину слова даних (1 - 8 біт , 0 - 4 біт ); N - кількість стрічок індикатора(1 - дві стрічки, 0 - одна ); F- шрифт (1- 5x11 точок, 0 - 5x8 точок)
Вибір адреси ОЗП знакогенератора 0 0 0 1 D5 D4 D3 D2 D1 D0 0,04 Встановлює адресу ОЗП знакогенератора. Читання/запис даних проводиться по цій адресі
Вибір адреси даних індикатора 0 0 1 D6 D5 D4 D3 D2 D1 D0 0,04 Встановдюється адреса даних індикатора. Зчитування/запис даних проводиться по даній адресі.
Прапорець зайнятості 0 1 BF D6 D5 D4 D3 D2 D1 D0
BF – прапорець зайнятості , D6-D0 містить адресу
Запис даних 1 0 D7 D6 D5 D4 D3 D2 D1 D0 0,12 Запис даних
Зчитування даних 1 1 D7 D6 D5 D4 D3 D2 D1 D0
Зчитування даних
Перед початком використання рідкокристалічний індикатор необхідно ініціювати, тобто задати основні параметри, необхідні для подальшої роботи – тип інтерфейсу, початкове положення курсору, режим роботи курсору, тощо. Приклад ініціалізації рідкокристалічного дисплею представлено в таблиці 3. Таблиця 3 – Приклад ініціалізації рідкокристалічного дисплею № п/п Дія яку необхідно виконати Пояснення
Записати команду 30Н Скидання дисплею та встановлення в режим 8-ми бітного слова
Затримка 40 мкс
Записати команду 30Н
Затримка 40 мкс
Записати команду 30Н
Затримка 40 мкс
Записати команду 38Н 8-ми бітні слова, 2-стрічки, шрифт 5*8
Затримка 40 мкс
Записати команду 0FН Вкл. дисплею, вкл. курсору, вкл. мигання курсору.
Затримка 40 мкс
Записати команду 01Н Очистка індикатора
Затримка
Записати команду 06Н Курсор рухається вперед, зміщення тексту викл.
Затримка
Кожній видимій позиції індикатора відповідає деяка адреса, дані з якої відображаються в вигляді символу згідно кодової таблиці. Значення адресів залежать від конфігурації індикатора. Для індикаторів на 16 символів розміщених в одну стрічку адреси символів 0…7, 0х40…0х47. Для індикаторів на 16 символів розміщених в дві стрічки адреси символів верхньої стрічки 0…0хF, нижньої - 0х40…0х4F. Для індикаторів на 20 символів розміщених в одну стрічку адреси символів 0…0х13. Для індикаторів на 20 символів розміщених в дві стрічки адреси символів верхньої стрічки 0…0х13, нижньої - 0х40…0х53. Для індикаторів на 20 символів розміщених в чотири стрічки адреси символів верхньої стрічки 0…0х13, наступних - 0х40…0х53, 0х14…0х27, а нижньої - 0х54…0х67. Для індикаторів на 40 символів розміщених в дві стрічки адреси символів верхньої стрічки 0…0х27, нижньої - 0х40…0х67.
Кодова таблиця LSN x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF MSN +--------------------------------------------------------------- 0x | cg0 cg1 cg2 cg3 cg4 cg5 cg6 cg7 cg0 cg1 cg2 cg3 cg4 cg5 cg6 cg7 1x | 2x | ! " # $ % & ' ( ) * + , - . / 3x | 0 1 2 3 4 5 6 7 8 9 : ; ? 4x | @ A B C D E F G H I J K L M N O 5x | P Q R S T U V W X Y Z [ (*) ] ^ _ 6x | ` a b c d e f g h i j k l m n o 7x | p q r s t u v w x y z { | } -- 9x | Ax | (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) Bx | - (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) Cx | (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) Dx | (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) Ex | (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) Fx | (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) (*) Примітка: cg0-cg7 символи які задаються користувачем, (*) – нестандартизовані символи які можуть визначатися алфавітом країни призначення індикатора, наприклад: кирилиця, ієрогліфи, тощо. Для зменшення кількості ліній підключення індикатора може використовуватися режим передачі даних по 4-ри біти. Тоді для зв’язку задіяна лише старша тетрада шини даних індикатора, а один байт передається/зчитується за два такти запису/читання, при чому в першому такті записується старша тетрада, а в другому молодша. Часова діаграма інтерфейсу рідкокристалічного індикатора в режимі 4-бітного інтерфейсу представлена на рис. 3. Ініціалізація індикатора для цього режиму відрізняється від приведеної в таблиці 3 лише тим, що перші 3 команди – 20Н, а четверта 28Н.
Рис. 3 – Часові діаграми інтерфейсу рідкокристалічного індикатора режимі 4-бітного інтерфейсу Завдання: Вивести на рідкокристалічний індикатор дані отримані по послідовному інтерфейсу. Параметри послідовного інтерфейсу, тип рідкокристалічного індикатора, та тип інтерфейсу задаються згідно номера варіанту. № варіанту 1 2 3 4 5 6 7 8 9 0
Порядок виконання роботи Скласти схему відповідно до номера варіанту. Написати та відлагодити програму роботи мікроконтролера. Запрограмувати мікроконтролер. Перевірити функціонування схеми. Оформити звіт по лабораторній роботі. Контрольні запитання Приклад схеми підключення рідкокристалічного індикатора в режимі 8-ми бітного інтерфейсу