Екран је веома важан део било које уграђене системске апликације, јер помаже корисницима да сазнају статус система, а такође приказује излаз или било коју поруку упозорења коју систем генерише. Постоји много врста екрана који се користе у електроници као што су 7-сегментни дисплеј, ЛЦД дисплеј, ТФТ екран осетљив на додир, ЛЕД дисплеј итд.
ЛЦД екран од 16к2 већ смо повезали са АРМ7-ЛПЦ2148 у нашем претходном упутству. Данас ћемо у овом упутству повезати 7-сегментни екран са АРМ7-ЛПЦ2148. Пре него што улазимо у детаље, видећемо како да контролишемо 7-сегментни модул за приказ било ког броја знакова.
7-сегментни приказ
7-сегментни дисплеји су међу најједноставнијим јединицама за приказ бројева и знакова. Обично се користи за приказ бројева и има светлије осветљење и једноставнију конструкцију од матричног приказа. А због јачег осветљења, излаз се може гледати са веће удаљености од ЛЦД-а. Као што је приказано на горњој слици 7-сегментног дисплеја, он се састоји од 8 ЛЕД диода, од којих свака ЛЕД користи за осветљавање једног сегмента јединице, а 8тхЛЕД користи се за осветљавање ДОТ-а на 7-сегментном дисплеју. 8тхЛЕД се користи када се користе два или више модула од 7 сегмената, на пример за приказ (0,1). Један модул се користи за приказ једноцифре или знака. За приказ више цифара или знакова користи се више 7-сегмената.
Клинови 7-сегментног екрана
Постоји 10 пинова, у којима се 8 пинова користи за означавање а, б, ц, д, е, ф, г и х / дп, два средња пина су заједничка анода / катода свих ЛЕД диода. Ове заједничке аноде / катоде су изнутра кратко спојене, тако да морамо да повежемо само један ЦОМ пин
У зависности од везе класификујемо 7-сегмент у две врсте:
Цоммон Цатходе
У томе су сви негативни терминали (катода) свих 8 ЛЕД диода повезани заједно (погледајте дијаграм доле), названи ЦОМ. А сви позитивни терминали остају сами или су повезани на пинове микроконтролера. Ако користимо микроконтролер, постављамо ВИСОКУ логику да осветли одређену и ЛОВ да искључимо ЛЕД.
Цоммон Аноде
У томе су сви позитивни терминали (Аноде) свих 8 ЛЕД диода повезани заједно, названи ЦОМ. А све негативне термике остају саме или су повезане на пинове микроконтролера. Ако користимо микроконтролер, постављамо логику ЛОВ да осветлимо одређену и постављамо логику Хигх да искључује ЛЕД.
Дакле, у зависности од вредности пина, одређени сегмент или линија од 7 сегмената може се укључити или искључити за приказ жељеног броја или абецеде. На пример, да бисмо приказали 0 цифара, морамо поставити пинове АБЦДЕФ као ВИСОКЕ и само Г као НИСКЕ. Како су АБЦДЕФ ЛЕД диоде УКЉУЧЕНЕ, а Г ИСКЉУЧЕНЕ, то чини 0 цифру у 7-сегментном модулу. (Ово је за уобичајену катоду, за заједничку аноду је супротно).
Испод табеле приказане су ХЕКС вредности и одговарајућа цифра према ЛПЦ2148 пиновима за уобичајену конфигурацију катоде.
Цифра |
ХЕКС вредности за ЛПЦ2148 |
А. |
Б. |
Ц. |
Д. |
Е. |
Ф |
Г. |
0 |
0кФ3 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0к12 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
2 |
0к163 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
3 |
0к133 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
4 |
0к192 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
5 |
0к1Б1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
6 |
0к1Ф1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
7 |
0к13 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
8 |
0к1Ф3 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
9 |
0к1Б3 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
ВАЖНО: У горњој табели дао сам ХЕКС вредности према пиновима које сам користио у ЛПЦ2148, проверите доњу шему спојева. Можете да користите било које пинове које желите, али према томе мењајте хексадецималне вредности.
Да бисте сазнали више о 7-сегментном екрану, прођите кроз везу. Такође проверите међусобне везе екрана 7-сегмента са другим микроконтролерима:
- 7-сегментно повезивање екрана са Распберри Пи
- 7-сегментно повезивање екрана са ПИЦ микроконтролером
- 7-сегментно повезивање екрана са Ардуином
- 7-сегментно повезивање екрана са микроконтролером 8051
- Бројач 0-99 помоћу АВР микроконтролера
Потребни материјали
Хардвер
- АРМ7-ЛПЦ2148
- Модул за приказ у седам сегмената (једноцифрен)
- Бреадбоард
- Повезивање жица
Софтвер
- Кеил уВисион5
- Фласх Магиц
Кружни дијаграм
За повезивање 7-сегмента са ЛПЦ2148 није потребна спољна компонента као што је приказано на доњој шеми:
Табела испод приказује везе круга између 7-сегментног модула и ЛПЦ2148
Седам сегментних пинова модула |
ЛПЦ2148 Пинс |
А. |
П0.0 |
Б. |
П0.1 |
Ц. |
П0.4 |
Д. |
П0.5 |
Е. |
П0.6 |
Ф |
П0.7 |
Г. |
П0.8 |
Заједнички |
ГНД |
Програмирање АРМ7 ЛПЦ2148
У претходном упутству научили смо како да програмирамо АРМ7-ЛПЦ2148 помоћу Кеила. Овде користимо исти Кеил уВисион 5 за писање кода и креирање хексадецималне датотеке, а затим преносимо хек датотеку у ЛПЦ2148 помоћу флеш магичног алата. Користимо УСБ кабл за напајање и отпремање кода на ЛПЦ2148
Комплетан код са видео објашњењем дат је на крају овог водича. Овде објашњавамо неколико важних делова кода.
Прво морамо да укључимо датотеку заглавља за микроконтролер серије ЛПЦ214к
#инцлуде
Следеће поставите пинове као излаз
ИО0ДИР = ИО0ДИР-0кфффффффф
Ово поставља пинове П0.0 на П0.31 као излаз, али ми ћемо користити само пинове (П0.0, П0.1, П0.4, П0.5, П0.6, П0.7 и П0.8).
Затим поставите одређене пинове на ЛОГИЦ ХИГХ или ЛОВ према нумеричкој цифри која ће се приказати. Овде ћемо приказати вредности од (0 до 9). Користићемо низ који се састоји од ХЕКС вредности за вредности од 0 до 9.
непотписан инт а = {0кф3,0к12,0к163,0к133,0к192,0к1б1,0к1ф1,0к13,0к1ф3,0к1б3};
Вредности ће се приказивати континуирано како је код стављен у вхиле петљу
вхиле (1) { фор (и = 0; и <= 9; и ++) { ИО0СЕТ = ИО0СЕТ-а; // поставља одговарајуће пинове ХИГХ делаи (9000); // функција одлагања позива ИО0ЦЛР = ИО0ЦЛР-а; // поставља одговарајуће пинове ЛОВ } }
Овде се ИОСЕТ и ИОЦЛР користе за постављање пинова ХИГХ и ЛОВ респективно. Како смо користили ПОРТ0 пинове, тако имамо ИО0СЕТ & ИО0ЦЛР .
За петље се користи за повећавати И у свакој итерацији и сваки пут када сам корацима, 7 сегмената такође повећава цифру која се показује на њега.
функција кашњења користи се за генерисање времена кашњења између СЕТ & ЦЛР
воид делаи (инт к) // Функција за кашњење { инт и, ј; за (и = 0; и
Комплетни опис кода и радног видеа је дат испод. Овде такође проверите све пројекте повезане са 7-сегментним приказом.