Використання 4-значного 7-сегментного світлодіода


9

У мене 7-сегментний дисплей, який має 4 цифри. Що мені потрібно використовувати для цього? Чи може один мікроконтролер впоратися з операцією? Я маю на увазі PIC16F690 ... Я бачив також чіп MAXIM, який працює на таких дисплеях ... це абсолютно потрібно?

Ось малюнок із таблиці, я не знаю, чому є 2-контактні діаграми? введіть тут опис зображення введіть тут опис зображення

Ось посилання на таблицю даних

Відповіді:


16

Дві схеми - це дві версії дисплея, загальний катод вгорі, загальний анод внизу. Я припускаю, що у вас є загальна версія катода.

Ви підключаєте сегменти A..G, DP через 8 серійних резисторів до 8 вводу / виводу штифтів мікроконтролера. Якщо увімкнути штифт у високому місці, засвітить цей світлодіод на вибраній цифрі. Щоб вибрати будь-яку з чотирьох цифр, ви зробите відповідний загальний катод низьким через транзистор NPN, який ви знову запускаєте зі вводу-виводу через резистор.

введіть тут опис зображення

Якщо напруга живлення становить 5 В, а ви використовуєте червоні світлодіоди, тоді ви можете використовувати резистори 150 Ом замість 330. Також зменшіть значення базового резистора транзистора до 2,2 кОм, і, наприклад, використовуйте BC337 s для транзисторів.

Для керування повним дисплеєм спочатку робимо штифт 12 низьким, керуючи транзистором на високому рівні та встановлюючи введення / вивід для сегментів цієї цифри. Через деякий час ви вимикаєте штифт 12 і сегменти вимикаєте, і включаєте 9, і знову сегменти для другої цифри. І так далі. Якщо ви переходите від однієї цифри до іншої менш ніж за 2,5 мс, то весь цикл відображення складає 10 мс або 100 Гц, що достатньо, щоб уникнути помітного мерехтіння.

Ви можете використовувати драйвер Maxim, як MAX7219 , але це Damn Expensive ™: 12,80 долара за 1 секунду на Digikey. Хороша річ у тому, що він піклується про мультиплексування для вас, тому вам просто доведеться завантажувати його з даними сегменту для 4-х цифр. Він також має програмний контроль яскравості.

Я перевірив таблицю даних PIC16F690 , і на відміну від інших мікроконтролерів, її введення / виведення , здається, не може отримати джерело 20 мА (що невтішно). Тому транзистори знадобляться і на порту 2:

введіть тут опис зображення

R1 був одним з резисторів на порту 2. Отже, ви вставляєте між ними Q1 і R2 і повторюєте це для кожного з 8 сегментів. Увага, Q2 - це PNP! Буде робити будь-який транзистор PNP загального призначення.


Тільки одне, чи рекомендуєте ви використовувати релейний драйвер типу UNL2803 замість транзисторів?
Sean87

Це більш-менш те саме. У 2803 є діоди затискача, але це лише перевага для перемикання реле або двигунів. Якщо ви купуєте 100 BC337 (вони завжди корисні) 4 з них дешевші, ніж 2803. На жаль, немає PNP-еквівалента 2803, тому вам доведеться там використовувати транзистори. BTW - це ваш дисплей загальним катодом, як у моїй відповіді, або загальним анодом. Якщо це останнє, вам знадобиться 8 NPN для сегментів, і тоді 2803 може бути кращим варіантом.
stevenvh

Здобув ідею, на щастя, це звичайний анод, у мене є 2803 чіпи, які я прокладу навколо, я буду використовувати їх тоді. Знову дякую.
Sean87
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.