Свързване HD44780 Работа с буквено-цифрова LCD инициализация, включени AVR Lab устройства
AVR форум
Помислете за взаимодействието на потребител и устройство, основано на микроконтролер. Много често потребителят трябва да въведе информация с нещо и да я прочете от нещо. Клавиатурата и дисплеят са много подходящи за тези цели (забележка относно четенето на клавиш). Помислете за взаимодействието на потребител и устройство, основано на микроконтролер. Много често потребителят трябва да въведе информация с нещо и да я прочете от нещо. Клавиатурата и дисплеят са много подходящи за тези цели (бележка за четене на клавиш). В тази бележка ще разгледаме по-подробно показването на информация върху символика LCD с HD44780 Синтезиращ контролер на сигнала.
Такива индикатори често се използват при проектирането на цифрови устройства, така че трябва да можете да работите с тях.
Помислете за типична вътрешна структура на синтезиращия знак LCD:
Вътрешна структура на HD44780
За да изберете позиция, има виртуален курсор (номер на текущата клетка на паметта, AC), който може да се контролира с команди, курсорът може да се направи видим. По подразбиране, когато записвате символ в клетка, курсорът се премества напред с една позиция. Кодове за знаци за LCD поддържаща кирилица може да се види в таблицата:

Най-високият код на тетрада ще бъде равен на реда на избрания знак, а най-ниският - на реда. Можете да създадете своя собствена таблица със символи, като я запишете в CGRAM. Всеки знак изисква 5 байта, където единиците отговарят за "осветените" пиксели. Например цифрата "8" е кодирана с последователността 0x6c, 0x92,0x92,0x92,0x6c.
Кодовете на командите са показани в таблицата.
Таблица със символи HD44780

Стойности на флага:

Остава въпросът: „как да напиша кода на необходимия знак в желаната позиция“? За да направите това, помислете за какво са отговорни заключенията. LCD. констатации DB0-DB7 са отговорни за входящи/изходящи данни. Високото ниво на RS щифта прави индикатора да разбере, че сигналът на терминалите DB0-DB7 е данни, а ниско е команда. Изход W/R отговаря за посоката на данните, независимо дали данните се записват или четат от паметта (обикновено четене от LCD не се използва, можем спокойно да приложим ниско ниво към него). Изходен импулс Е. (с продължителност поне 500 ns) се използва като сигнал за запис/четене на данни от щифтовете DB0-DB7, RS и W/R.
Изход V0 използва се за задаване на контраста на изображението, изход A, K - за захранване на подсветката (ако е във вашия модел LCD). Останалите 2 изхода са действителното захранване LCD. Тоест да контролира LCD имате нужда от 8 + 1 + 1 = 10 пина. Но можете да работите в 4-битов интерфейсен режим. В същото време горната тетрада на команда/данни ще бъде предадена първо на пиновете DB4-DB7, а след това и долната. Заключения в DB0-DB3 те не се използват. Общо за управление са необходими 6 щифта на микроконтролера.
Сега нека разгледаме пример на живо. Нека напишем програма за извеждане на текст "Avrlab.com" на този, който имам на склад WH1602А (2 реда с 16 знака).

За други LCD тестове проверете съответствието на клетките DDRAM познатост. Схема на свързване LCD на контролера изглежда така.
Схема на свързване за микроконтролер AVR

Резистор R3 - 17 Ohm ограничава тока през задното осветление и AC VR1 задава контраста (ако всичко е правилно свързано и програмирано, но индикаторът е безшумен, завъртете VR1, за да направите изображението видимо). Също така, в никакъв случай не трябва да се бърка полярността. LCD, мощност над 5.5V, от моя опит мога да кажа, че те изгарят моментално. Целта на всички останали части е същата като на разработващата дъска за ATtiny2313.