Съдържание:

Свързване на 7-сегментен дисплей с Shift регистър с помощта на микроконтролер CloudX: 5 стъпки
Свързване на 7-сегментен дисплей с Shift регистър с помощта на микроконтролер CloudX: 5 стъпки

Видео: Свързване на 7-сегментен дисплей с Shift регистър с помощта на микроконтролер CloudX: 5 стъпки

Видео: Свързване на 7-сегментен дисплей с Shift регистър с помощта на микроконтролер CloudX: 5 стъпки
Видео: ESP32 Tutorial 10 - Digital counter using Seven Segment Display 74HC595 -ESP32 IoT Learnig kit 2024, Юли
Anonim
Свързване на 7-сегментен дисплей с Shift регистър с помощта на CloudX микроконтролер
Свързване на 7-сегментен дисплей с Shift регистър с помощта на CloudX микроконтролер

В този проект ние публикуваме урок за това как да се свържем седем сегментния LED дисплей с микроконтролер CloudX. Седем сегментни дисплея се използват в много вградени системни и промишлени приложения, където диапазонът от изводи, които трябва да бъдат показани, е известен предварително. Основният едноцифрен седемсегментен дисплей може да показва числа от 0-9 и няколко знака. 7 сегментни дисплея са от различен тип; особено те се различават по броя на цифрите/знаците, които може да покаже. По принцип 7 -сегментният дисплей е единична единица, която може да показва само 1 цифра или 1 знак. Повече цифри се показват чрез мултиплексиране на единични 7 -сегментни дисплеи заедно, за да образуват 2 -цифрен дисплей, 3 -цифрен дисплей или 4 -цифрен 7 -сегментен дисплей. Неговият тих, лесен за взаимодействие CloudX и 7 -сегментен дисплей заедно! Нека започнем урока.

Стъпка 1: Регистър за смяна на HC595

Регистър за смяна на HC595
Регистър за смяна на HC595

74HC595

74HC595 се състои от 8 -битов регистър за смяна и регистър за съхранение с три състояния паралелни изходи. Той преобразува серийния вход в паралелен изход, така че можете да запишете IO портове на MCU. 74HC595 се използва широко за обозначаване на многопътни светодиоди и задвижване на многобитови сегментни дисплеи. "Три състояния" се отнася до факта, че можете да зададете изходните щифтове като висок, нисък или "висок импеданс". С блокиране на данни, моментният изход няма да бъде повлиян по време на превключването; с изходни данни можете да каскадирате 74HC595s по -лесно. Пинове на 74HC595 и техните функции: Q0-Q7: 8-битови изводи за паралелни данни, способни да управляват директно 8 светодиода или 8 пина на 7-сегментен дисплей. Q7’: Сериен изходен щифт, свързан към DS на друг 74HC595 за свързване на множество 74HC595s в серия MR: Нулиране на щифт, активен на ниско ниво; тук е директно свързан към 5V. SH: Въвеждане на последователност от време в регистъра за смяна. На нарастващия ръб данните в регистъра за смяна се преместват последователно с един бит, тоест данните в Q1 се преместват в Q2 и т.н. Докато са на спад, данните в регистъра за смяна остават непроменени. ST: Въвеждане на регистър за съхранение във времева последователност. На нарастващия ръб данните в регистъра за смяна се преместват в регистъра на паметта. OE: Изход за разрешаване на изхода, активен на ниско ниво, свързан към GND. Ds: Входящ щифт за серийни данни VCC: Положително захранващо напрежение GND: Заземяване Тук се използва функцията shiftout (), която идва с CloudX IDE. Просто въведете число между 0 и 255 и регистърът за съхранение може да го преобразува в 8-битово двоично число и да го изведе паралелно. Това ви позволява лесно да контролирате 8-те пина на 7-сегментния дисплей и да създавате всякакви модели, които искате.

Стъпка 2: 7 СЕГМЕНТ

7 СЕГМЕНТ
7 СЕГМЕНТ
7 СЕГМЕНТ
7 СЕГМЕНТ

Нека започнем урока. Ще използваме CloudX M633 и основен седемсегментен дисплей с десетична запетая. Можете да идентифицирате сегментите на дисплея с помощта на фигурата по -горе.

Този седем сегментен дисплей има общо 8 светодиода на цифра, както е показано на горното изображение, седем светодиода за всеки сегмент и един за десетичната запетая.

Както можете да видите, има общо 10 пина. Може да забележите два пина с име com, както е показано на електрическата схема, всички катодни (- пинове) на светодиодите са свързани към тези два пина. Ние наричаме тези 2 пина като общи катоди и такива дисплеи се наричат сегментни дисплеи с общ катод 7. Има около седем сегментни дисплея, които имат общи аноди вместо общ катод. Единствената разлика за дисплеите с общ анод е, че всички аноди (+ щифтове) са свързани заедно и са известни като сегментни дисплеи с общ анод 7. Освен тези 2 комбинирани щифта, има още 8 пина с име A, B, C, D, E, F, G и DP. Както можете да видите на фигурата, тези щифтове са аноди (+ щифтове) на светодиодните сегменти на общ катоден дисплей (в случай на общ аноден дисплей тези щифтове ще бъдат катоди)

Стъпка 3: Необходим компонент

Необходим компонент
Необходим компонент
Необходим компонент
Необходим компонент
Необходим компонент
Необходим компонент
Необходим компонент
Необходим компонент
  • CloudX M633
  • CloudX SoftCard
  • USB кабел V3
  • Регистър за смяна на HC595
  • джъмперни проводници
  • Платка
  • 7 Сегментен дисплей
  • Резистор 330 ома

Стъпка 4: НАСТРОЙКА

НАСТРОЙВАМ
НАСТРОЙВАМ

Свържете 7-сегментния дисплей и 74HC595 регистър на смяна към CloudX M633:

Свържете Vcc щифт на 74HC595 към 5V щифт на CloudX.

Свържете щифтовете GND и OE на 74HC595 към щифта GND на CloudX.

Свържете щифт DS или SER на 74HC595 към цифров щифт 2 на CloudX.

Свържете щифт SHCP или SRCLK на 74HC595 към цифров пин 1 на CloudX.

Свържете STCP или RCLK щифт на 74HC595 към цифров пин 3 на CloudX.

Свържете щифта Q0-Q6 или QA-QG на 74HC595, за да закрепите A-G на 7-сегментен дисплей.

Свържете щифт Q7 или QH към 74HC595, за да закрепите DP на 7-сегментен дисплей.

Свържете обикновените катодни щифтове (щифт 3 и 8 на диаграмата) на 7-сегментен дисплей към Gnd щифт на CloudX.

Стъпка 5: Код

#включва

#включва

ChangeValue (стойност без знак без знак) {

ключ (стойност) {случай 0: връщане 0x3f; случай 1: връщане 0x06; случай 2: връщане 0x5b; случай 3: връщане 0x4f; случай 4: връщане 0x66; случай 5: връщане 0x6d; случай 6: връщане 0x7d; случай 7: връщане 0x07; случай 8: връщане 0x7f; случай 9: връщане 0x6f; }}

настройвам(){

Настройка на HC595 (2, 1, 3);

loop () {

за (char i = 0; i

Препоръчано: