- Компоненте потребне:
- Графички ЛЦД:
- Приказивање слике на графичком ЛЦД-у помоћу 8051:
- Објашњење кола:
- Објашњење програмирања:
У нашем свакодневном животу видимо многе врсте уређаја за приказивање текста, слика и графика. ЛЦД екрани су један од најпопуларнијих уређаја за приказ у електроници и користе се углавном у свим пројектима који приказују неке врсте информација. Постоји много врста ЛЦД-а који се користе у електронским пројектима. Већ смо користили 16Кс2 ЛЦД у многим нашим пројектима, а користили смо и ТФТ ЛЦД са Ардуином. Све наше пројекте повезане са ЛЦД-ом 16Кс2 можете пронаћи пратећи ову везу, укључујући повезивање са 8051, АВР, Ардуино и многим другима.
У овом упутству ћемо направити графичко ЛЦД повезивање са 8051 микроконтролером. У овом пројекту ћемо показати како приказати слику на графичком ЛЦД (ГЛЦД).
Компоненте потребне:
- Графички ЛЦД
- АТ89ц52 8051 Микроконтролер
- 7805 регулатор напона
- 1000уф кондензатор
- Кондензатор од 10 уФ
- Отпорник 10К
- 10К ПОТ
- Кристални осцилатор 12 МХ
- Прикључна жица
- Даска за хлеб
- Бург траке мушки
- Напајање
- ЛЕД
- Отпорник 220 Охм
- 1К отпорник
Графички ЛЦД:
Једноставни ЛЦД 16к2 има 16 пинова, али графички ЛЦД има 20 пина. Опис пин- а дат је у наставку према његовом листу података:
Пин Но. | Пин Наме | Опис | Функција |
1 | ВСС | Приземље | 0 Волт |
2 | ВДД | Напајање | 5 Волт |
3 | В0 | ЛЦД контраст подешавање | |
4 | РС | Избор регистра наредби / података | РС = 0: Избор наредбе и РС = 1: Избор података |
5 | Р / В | Регистар за читање / писање | Р / В = 0: Писање избора и Р / В = 1: читање избора |
6 | Е. | Омогући сигнал | |
7 | ДБ0 | Пин за улаз / излаз података (ДБ0-ДБ7) | 8-битни (ДБ0-ДБ7) |
8 | ДБ1 | ||
9 | ДБ2 | ||
10 | ДБ3 | ||
11 | ДБ4 | ||
12 | ДБ5 | ||
13 | ДБ6 | ||
14 | ДБ7 | ||
15 | ЦС1 | Цхип Селецт | ЦС1 = 1, сигнал за одабир чипа за ИЦ1 |
16 | ЦС2 | Цхип Селецт | ЦС2 = 1, сигнал за одабир чипа за ИЦ2 |
17 | РСТ | Ресетовати | Ресетујте ГЛЦД |
18 | ВЕЕ | Негативни напон за ЛЦД управљачки програм | |
19 | А. | ЛЕД позадинско светло | 5 Волт |
20 | К. | ЛЕД позадинско светло | Приземље |
Приказивање слике на графичком ЛЦД-у помоћу 8051:
Да бисмо приказали слику на графичком ЛЦД-у, прво је морамо претворити у слику у код за монтажу, тако да је микроконтролер 8051 може разумети и прочитати. Зато морамо следити кораке у наставку за претварање слике у ХЕКС код:
Корак 1: Прво морамо да преузмемо апликацију која претвара слику (БМП формат) у скупштински код. Дакле, преузмите БМП2АСМ Апплицатион Цонверсион Имаге са ове везе, само кликните десним тастером миша на везу, а затим кликните Саве линк ас…
Корак 2: Затим одаберите слику коју желите да прикажете на графичком ЛЦД екрану и претворите је у БМП (ако већ није у БМП формату) помоћу било које апликације попут МС Паинт, Пхотосхоп итд. Или можете пронаћи много веб страница на мрежи за претворбу формата слике. Имамо испод БМП слике, величине 128к64:
Корак 3: Сада извуците датотеку БМП2АСМ.зип, коју смо преузели у кораку 1 и у њој отворите Бмп2асм.еке, и изаберите БМП слику.
Корак 4: Сада притисните „Цонверт“ у прозору апликације БМП2АСМ.
Корак 5: Затим копирајте генерисани код и налепите у програм 8051 у Кеил уВисион. Направите неке промене и компајлирајте код.
Сада је ваш код спреман за отпремање у микроконтролер 8051.
Објашњење кола:
Кружне везе за повезивање графичког ЛЦД-а са микроконтролером 8051 су једноставне и готово исте као повезивање 16к2 ЛЦД-а са 8051. Али 16к2 ЛЦД има 16 пинова, а ГЛЦД има 20 пинова.
Потисак од 10К се користи за подешавање контраста за ГЛЦД. Контролни пинови ГЛЦД РС, Р / В и Е су директно повезани са 89Ц52 пинским бројевима П1.0, П1.1 и П1.2. Прибадаче за одабир чипа ЦС1 и ЦС2 ЛЦД-а повезане су на пинове П1.3 и П1.4. Прикључци за податке ДБ0-ДБ7 су директно повезани на ПОРТ П2. За редовно напајање од 5 волти користи се регулатор напона 7805. У демонстрацијском видеу користио сам Ардуино напајање.
Објашњење програмирања:
Пре свега, у програм укључујемо потребне датотеке заглавља и дефинишемо битове за контролне и податковне пинове ГЛЦД-а.
#инцлуде
После ње креирали смо функцију одлагања.
воид делаи (инт итиме) {инт и, ј; за (и = 0; и
За укључивање екрана користи се функција воид лцд_дисп_он () .
Функција воид сетЦурсорИ (инт и) креира се за подешавање колоне у ГЛЦД-у, а функција воид сетЦурсорКс (инт к) креира се за подешавање странице на ГЛЦД-у. Комплетна датотека кода дата је у наставку одељка кода.
Након подешавања колоне и странице, написали смо функцију за слање команди и података на ГЛЦД.
воид лцдпринт (цхар дат, инт сизе) {унсигнед инт и; за (и = 0; и
У воид маин () функцији, обрисали смо ГЛЦД, а затим поставили Цолумн анд Паге. Након тога, пошаљите податке на ЛЦД помоћу функције воид лцдпринт (цхар дат, инт сизе) .
воид маин () {инт к, и; П3 = 0кфф; вхиле (1) {лцдцлеар (); за (и = 0; и <8; и ++) {за (к = 0; к <128; к ++) {лцд_дисп_он (); сетЦурсорКс (и); сетЦурсорИ (к); лцдпринт (слика, к); }}…………………..
Ток кода:
- Прво када укључимо систем, програм брише ГЛЦД и укључује екран.
- Затим поставите курсор на Колона, одакле желимо да упишемо податке.
- Затим поставите курсор на Паге, одакле желимо да упишемо податке.
- Сада програм шаље податке на изабрану локацију један по један до 128Кс8 пута. Јер ГЛЦД има 8 страница и 128 колона.