Седам сегментних екрана су важне јединице за приказивање у електроници и широко се користе за приказивање бројева од 0 до 9. Такође може приказати неке абецеде знакова попут А, Б, Ц, Х, Ф, Е итд. У овом упутству ћемо научити како повезати 7-сегментни екран са 8051 микроконтролером. Користимо АТ89С52 микроконтролер из серије 8051.
Пре повезивања, требали бисмо научити о 7-сегментном дисплеју. То је најједноставнија јединица за приказ бројева и знакова. Само Састоји 8 ЛЕД диода, сваки ЛЕД се користи за осветљавање један сегмент јединице и 8 -ог ЛЕД користи за осветљавање ДОТ у 7 Сегмент екрану. Сваки сегмент можемо назвати ЛИНИЈОМ, јер видимо да у јединици има 7 редова који се користе за приказ броја / карактера. Можемо упутити сваку линију / сегмент "а, б, ц, д, е, ф, г", а за тачкасти знак користићемо "х". Постоји 10 пинова, у којима се 8 пинова користи за означавање а, б, ц, д, е, ф, г и х / дп, два средња пина су заједничка анода / катода свих ЛЕД диода. Ове заједничке аноде / катоде су изнутра кратко спојене, тако да морамо да повежемо само један ЦОМ пин.
Постоје два типа 7-сегментних екрана: Цоммон Аноде и Цоммон Цатходе:
Уобичајена анода: У овом су сви негативни терминали (катода) свих 8 ЛЕД диода повезани заједно (погледајте дијаграм доле), названи ЦОМ. И сви позитивни терминали су остали сами.
Уобичајена катода: У овом су сви позитивни терминали (Аноде) свих 8 ЛЕД диода повезани заједно, названи ЦОМ. И све негативне термике остају саме.
Кружни дијаграм и радно ширење
Овде користимо уобичајени тип аноде од 7 сегмената, јер ЛЕД треба да повежемо обрнуто. Као што знамо да микроконтролер не даје довољно снаге да светли ЛЕД, тако да морамо да прикључимо ЛЕД катоду на пин микроконтролера, а ЛЕД аноду на напајање. Овај концепт негативне логике можете разумети у овом чланку „Интерфејс ЛЕД диода са микроконтролером 8051“. Такође бисте требали прочитати овај чланак да бисте разумели основну везу микроконтролера попут кристала и склопа за ресетовање.
Као што је приказано изнад, шема кола за повезивање 7-сегментног дисплеја са 8051 микроконтролером, повезали смо а, б, ц, д, е, ф, г, х на пинове 2.0 до 2.7, што значи да повезујемо 7 сегмената на порт 2 микроконтролера. Сада претпоставимо да желимо да прикажемо 0, онда морамо да жаримо све ЛЕД диоде осим ЛЕД диоде која припада линији „г“ (види дијаграм горе), тако да пинови 2.0 до 2.6 требају бити на 0 (треба бити 0 да УКЉУЧИТЕ ЛЕД као по негативној логици) и пин 2.7 и 2.8 требају бити на 1 (треба бити 1 да би се ИСКЉУЧИЛО ЛЕД према негативној логици). Тако ће ЛЕД диоде повезане на пинове 2.0 до 2.6 (а, б, ц, д, е, ф) бити УКЉУЧЕНЕ, а ЛЕД диоде повезане на 2.7 и 2.8 (г и х) ИСКЉУЧЕНЕ, што ће створити „0“ у 7 сегмент. Дакле, потребан нам је узорак битова 11000000 (Пин 8 је највиши бит, дакле почевши од П2.7 до П2.0), а ХЕКС код за бинарни 11000000 је „Ц0“. Слично томе можемо израчунати за све цифре. Овде треба напоменути да држимо „тачку / х“ увек ИСКЉУЧЕНО,па му сваки пут морамо дати ЛОГИЦ „1“. У наставку је дата табела за све бројеве док се користи сегмент Цоммон Аноде 7.
Цифра за приказ |
хгфедцба |
Хек код |
0 |
11000000 |
Ц0 |
1 |
11111001 |
Ф9 |
2 |
10100100 |
А4 |
3 |
10110000 |
Б0 |
4 |
10011001 |
99 |
5 |
10010010 |
92 |
6 |
10000010 |
82 |
7 |
11111000 |
Ф8 |
8 |
10000000 |
80 |
9 |
10010000 |
90 |
Објашњење кода
Створили смо функцију мс_делаи која обезбеђује кашњење у милисекундама, а ово кашњење се обично пружа у било ком програму микроконтролера како би микроконтролер могао да доврши свој интерни рад.
Затим смо креирали низ хек кодова за 0 до 9 (погледајте табелу горе) и на крају послали хек кодове на порт 2 који је повезан са заједничким сегментом аноде 7. Тако су на овај начин бројеви приказани на 7-сегментном дисплеју.
Сада имамо само 4 порта у микроконтролеру и шта ако податке желимо приказати у више од четири 7 сегмената ?? Да би се решио овај проблем, на сцену долази техника мултиплексирања. Морамо мултиплексирати вишеструке 7 сегментне јединице. Такође прочитајте интерфејс 7-сегментног екрана са АВР микроконтролером.