Направите Дебуг Дисплаи за микроконтролере: 6 корака

Направите Дебуг Дисплаи за микроконтролере: 6 корака

Преглед садржаја:

Anonim

Овај екран је веома згодан ако радите са АДЦ функцијом микроконтролера.

Потребно је само две игле за контролу екрана (три ако желите да контролишете и засун). Са два седам сегмента може приказати до 0кФФ као хек. То је читав 8-битни опсег, што је најчешће коришћена променљива ширина за мале УЦ-ове.

Направио сам га зато што коначна апликација нема екран и желео сам да знам шта се дешава пре него што га завршим.

Потребна су вам два 74ХЦ959 регистра за пребацивање, два седмосегментна дисплеја и 14 (16) отпорника. Потребно вам је 16 ако желите да користите тачке које нису имплементиране у софтвер. Али коришћење тачака би проширило приказиве вредности на 10бит или 0-1027. Остављам на вама да ово схватите.

Залихе:

Корак 1: Шема

Користимо два 74ХЦ595 регистра за пребацивање да бисмо повезали седам сегментних дисплеја. Било да користите заједничку аноду или заједнички катодни 7-сегмент, морате да подесите коло. Користио сам обичне катоде. Што значи да је сваки сегмент један зелени ЛЕД и катоде свих ЛЕД диода су повезане заједно. (Пинови 3 и 8 на 7-сег дисплеју)

Регистри смене раде на овај начин:

Сваки пут када примените импулс на улазу смене, тренутно стање пинова серијског улаза се помера у меморији 74ХЦ595. Сваки пут када стигне импулс на улазу квака, стање интерне меморије се користи за погон излаза.

Након 8 циклуса пребацивања, први улаз се поново пребацује на пин9 и може се користити као улаз за други 74ХЦ595. Ово се назива и ланац тратинчица.

74ХЦ595 може укупно да вози до 70мА, тако да морамо подесити отпорнике тако да струја кроз сваки сегмент ЛЕД-а остане испод 9мА, што је око 470 Охм за 5В и кориштене дисплеје.

Корак 2: Регистар промене 75ХЦ595

Поглед на слику вам говори које пинове морате повезати.

Пинови се броје против сатова почевши од ознаке на ИЦ-у ако је погледате одозго.

Спојите пин 1 - 7 и пин 15 на пинове 7-сегмента.

Пин 8 и 13 морају бити спојени на масу (ГНД или негатив терминал батерије)

Пин 9 је спојен на пин 14 наредне ИЦ.

Пин 10 и пин 16 морају бити спојени на напон напајања (ВЦЦ или позитивни прикључак батерије)

Пин 11, 12 и 14 су интерфејс који се покреће помоћу микроконтролера, повезује их са три пин пинерера за спољни интерфејс.

Корак 3: Уграђени екран

Иако би било могуће исећи прилагођену плочу, изабрао сам да све то направим на матичној плочи са танком бакарном жицом.

Ова бакарна жица је премазана, али премаз може бити спаљен са мало растопљеног калаја. Веома је лако успоставити везу са њим. Само један крај, лемите га на пин, а затим га растегните на други пин и спали изолацију гдје желите да га лемити. Онда га лемити на иглу и одрезати остатак. Лемилица од 30В као што је ова од Обртника је више него довољна за тај посао.

Користио сам мале 1206 СМД отпорнике, јер се они лепо уклапају испод седам сегментних дисплеја.

Уосталом, морате сами да саставите плочу и наравно можете узети било који отпорник који вам се свиђа.

Корак 4: Пронађите редослед сегмената

Коначно морамо написати функције да бисмо приказали нешто значајно.

Главни проблем је сада пронаћи праву секвенцу - контролну секвенцу. Прво покушајте да гурнете један 1 кроз цео шифровани регистар.

Примијените високи на серијски улаз и импулсни помак једанпут. Сада пулсирајте браву једном и видите који сегменти светле.

Ако поново притиснете дугме за пребацивање и браву, следећи сегмент ће се упалити и тако даље.

На крају имате редослед свих сегмената и можете их пребацити у бинарне бројеве.

Корак 5: Напишите код

Желео сам да користим екран са својим АВР микроконтролерима. Тако сам написао *.х датотеку која би могла бити укључена у било који пројект.

Ако сте повезали плочу другачије, можда ћете морати да подесите поље за контролу сегмента.

Да бисте га користили, морате подесити пин-дефиниције у датотеци дебуг.х (првих 12 редова).

У главној апликацији морате додати следеће линије:

#инцлуде "дебуг.х"

инитдебуг (); // Ово иницира излазне портове наведене у дебуг.х

Тада можете приказати било коју 8бит варијаблу само тако што ћете с њом позвати функцију дебуг. рецимо да се променљива зове цоунтер, а тренутна вредност бројача се приказује:

дебуг (бројач);

Савети:

  • Додајте мало времена кашњења након позива дебуг () да бисте имали времена да прочитате вредност.
  • Када спојите схифт и латцх заједно, само дефинишите два порта за исти пин. Сваки пут када се смена покрене, она је такође зауставља тренутно стање, што значи да екран трепери док се регулатори пребацују. Ако то урадите брзо у поређењу са временом које сте оставили на екрану, о.к.
  • Да би се приказала 16-битна вредност или поделити на 256 и приказати резултат или одвојити високи бајт и ниски бајт и приказати их један за другим са малом кочницом између њих.

Корак 6: Тестирајте га

Да бисте тестирали екран изгледа идеално да користите адаптер за навигацију аттини2313 који сам објавио у овом упутству:

хттп://ввв.инструцтаблес.цом/ид/Маке-а-бреадбоард-адаптер-фор-иоур-АВР-мицроцонтроллер

Програм уграђеног видеа се броји од 0 до 0кФФ и поново се враћа.

Видео: