Дисплеј јединице су најважнији излазни уређаји у уграђеним пројектима и електроничким производима. ЛЦД 16к2 је једна од најчешће коришћених дисплеј јединица. ЛЦД димензија 16к2 значи да постоје два реда у којима се по ретку може приказати 16 знакова, а сваки знак заузима 5Кс7 матричног простора на ЛЦД-у. У овом упутству ћемо повезати 16Кс2 ЛЦД модул са микроконтролером 8051 (АТ89С52). Повезивање ЛЦД-а са микроконтролером 8051 може изгледати прилично сложено за почетнике, али након разумевања концепта изгледало би врло једноставно и лако. Иако вам можда треба времена, јер треба да разумете и повежете 16 пинова ЛЦД-а са микроконтролером. Дакле, прво да схватимо 16 пинова ЛЦД модула.
Можемо га поделити у пет категорија, Повер Пинс, контрастни пин, Цонтрол Пинс, Дата пинс и Бацклигхт пинс.
Категорија |
Пин НО. |
Пин Наме |
Функција |
Повер Пинс |
1 |
ВСС |
Гроунд пин, повезан са Гроунд |
2 |
ВДД или Вцц |
Напон Пин + 5В |
|
Цонтраст Пин |
3 |
В0 или ВЕЕ |
Подешавање контраста, повезано на Вцц преко променљивог отпорника. |
Цонтрол Пинс |
4 |
РС |
Регистрирај Изаберите пин, РС = 0 Цомманд моде, РС = 1 Режим података |
5 |
РВ |
Читање / писање чиоде, РВ = 0 режим писања, РВ = 1 режим читања |
|
6 |
Е. |
Омогући, пулс од високог до ниског нивоа треба да омогући ЛЦД |
|
Дата Пинс |
7-14 |
Д0-Д7 |
Прибадаче за податке, чува податке за приказ на ЛЦД-у или упутства за наредбе |
Игле са позадинским осветљењем |
15 |
ЛЕД + или А. |
За напајање позадинског осветљења + 5В |
16 |
ЛЕД- или К. |
Позадинско осветљење Гроунд |
Сви пинови су јасно разумљиви по имену и функцијама, осим контролних пинова, па су објашњени у наставку:
РС: РС је пин за одабир регистра. Морамо да га подесимо на 1 ако шаљемо неке податке за приказ на ЛЦД-у. А поставићемо је на 0 ако шаљемо неку наредбу наредбе попут чишћења екрана (хексадецимални код 01).
РВ: Ово је Читање / писање пина, поставићемо га на 0, ако ћемо неке податке писати на ЛЦД. И поставите га на 1, ако читамо са ЛЦД модула. Генерално је ово постављено на 0, јер не морамо да читамо податке са ЛЦД-а. Треба само неколико пута прочитати само једно упутство „Гет статус ЛЦД“.
Е: Овај пин се користи за омогућавање модула када му се даје импулс од високог до ниског нивоа. Треба дати импулс од 450 нс. Тај прелаз са ВИСОКОГ на НИСКО чини модул Омогућен.
На ЛЦД-у постоје нека унапред подешена упутства за наредбе, које смо користили у доњем програму за припрему ЛЦД-а (у функцији лцд_инит ()). У наставку су дата нека важна упутства за наредбе:
Хек Цоде |
Наредба за ЛЦД уписни регистар |
0Ф |
ЛЦД УКЉУЧЕН, курсор УКЉУЧЕН |
01 |
Јасан екран |
02 |
Вратите кући |
04 |
Смањи курсор (помери курсор улево) |
06 |
Повећавање курсора (померање курсора удесно) |
05 |
Промени приказ удесно |
07 |
Промени приказ улево |
0Е |
Екран је УКЉУЧЕН, курсор трепери |
80 |
Присиљавање курсора на почетак првог реда |
Ц0 |
Присиљавање курсора на почетак другог реда |
38 |
2 линије и 5 × 7 матрица |
83 |
Позиција курсора 1, позиција 3 |
3Ц |
Активирајте други ред |
08 |
Приказ искључен, курсор ИСКЉУЧЕН |
Ц1 |
Пређите на другу линију, позиција 1 |
ОЦ |
Екран УКЉУЧЕН, курсор ИСКЉУЧЕН |
Ц1 |
Пређите на другу линију, позиција 1 |
Ц2 |
Пређите на другу линију, позиција 2 |
Шема и објашњење
Шема кола за ЛЦД повезивање са 8051 микроконтролером приказана је на горњој слици. Ако имате основно разумевање 8051, онда морате знати о ЕА (ПИН 31), КСТАЛ1 и КСТАЛ2, РСТ пину (ПИН 9), Вцц и Мроунд Пин микрофона 8051. Користио сам ове игле у горњем кругу. Ако о томе немате појма, препоручујем вам да прочитате овај чланак ЛЕД повезивање са микроконтролером 8051 пре него што прођете кроз ЛЦД повезивање.
Дакле, поред ових горњих пинова, повезали смо и пинове за податке (Д0-Д7) ЛЦД-а са микроконтролером порта 2 (П2_0 - П2_7). И управљајте пиновима РС, РВ и Е на пин 12,13,14 (пин 2,3,4 порта 3) микроконтролера.
ПИН 2 (ВДД) и ПИН 15 (позадинско осветљење) ЛЦД-а су повезани на напон (5в), а ПИН 1 (ВСС) и ПИН 16 (позадинско осветљење) су повезани са земљом.
Пин 3 (В0) повезан је на напон (Вцц) преко променљивог отпорника од 10к да би се подесио контраст ЛЦД-а. Средња нога променљивог отпорника повезана је на ПИН 3, а друге две ноге су повезане на напон и масу.
Објашњење кода
Покушао сам да објасним код кроз коментаре (у самом коду).
Као што сам раније објаснио о командном режиму и режиму података, можете видети да смо током слања команде (функција лцд_цмд) поставили РС = 0, РВ = 0 и импулс ХИГХ то ЛОВ се даје Е тако што се направи 1, а затим 0 Такође при слању података (функција лцд_дата) на ЛЦД, поставили смо РС = 1, РВ = 0 и импулс ХИГХ то ЛОВ се даје Е тако што чини 1 до 0. Функција мсделаи () је створена за стварање кашњења у милисекундама и који се често назива у програму, назива се тако да ЛЦД модул може имати довољно времена за извршавање интерне операције и наредби.
За испис низа створена је петља вхиле, која позива функцију лцд_дата сваки пут за испис знака до последњег знака (нулти терминатор- '\ 0').
Користили смо функцију лцд_инит () да припремимо ЛЦД помоћу претходно подешених упутстава за команду (објашњено горе).