Padarykite debugo ekraną mikrokontroleriams: 6 žingsniai

Padarykite debugo ekraną mikrokontroleriams: 6 žingsniai

Turinys:

Anonim

Šis ekranas yra labai patogus, jei dirbate su mikro valdiklių ADC funkcija.

Norint valdyti ekraną, reikia tik dviejų kaiščių (trys, jei taip pat norite valdyti užraktą). Su dviem septyniais segmentais jis gali rodyti iki 0xFF kaip šešiakampis. Tai yra visas 8 bitų diapazonas, kas yra dažniausiai naudojamas kintamojo pločio mažiesiems įrenginiams.

Aš ją sukūriau, nes galutinė paraiška neturi ekrano ir norėjau žinoti, kas vyksta prieš baigiant.

Jums reikia dviejų 74HC959 perjungimo registrų, du septynių segmentų ekranai ir 14 (16) rezistoriai. Jei norite naudoti taškus, kurie nėra įdiegti programinėje įrangoje, jums reikia 16. Tačiau taškų naudojimas padidintų rodomas reikšmes iki 10 bitų arba 0-1027. Aš palieku jums tai išsiaiškinti.

Prekės:

1 žingsnis: schema

Septynių segmentų ekranų sąsajai naudojame du 74HC595 perjungimo registrus. Nesvarbu, ar naudojate bendrą anodą, ar įprastą katodo 7 segmentą, turite reguliuoti grandinę. Aš naudoju bendruosius katódus. Tai reiškia, kad kiekvienas segmentas yra vienas žalias šviesos diodas, o visų šviesos diodų katodai yra sujungti. (7 segmentų ekrano smeigtukai 3 ir 8)

Perėjimų registrai veikia taip:

Kiekvieną kartą, kai impulsą įvedate perjungimo įvestyje, serijinės įvesties kaiščio esama būsena perkeliama į 74HC595 atmintį. Kiekvieną kartą, kai gaunamas impulsas skląsčio įvestyje, išėjimų valdymui naudojama vidinės atminties būsena.

Po 8 perjungimo ciklų pirmasis įvestis vėl persiunčiamas į pin9 ir gali būti naudojamas kaip įėjimas į kitą 74HC595. Tai taip pat vadinama Daisy grandine.

74HC595 iš viso gali važiuoti iki 70 mA, todėl rezistorius reikia reguliuoti taip, kad srovė per kiekvieną LED segmentą išliktų žemiau 9mA, o tai yra apie 470 omų 5V ir naudojamų ekranų.

2 žingsnis: „Shift Register“ 75HC595

Paveikslėlis parodo, kokių smeigtukų reikia prijungti.

Kai jūs žiūrite iš viršaus, kaiščiai yra skaičiuojami nuo laikrodžių, pradedant nuo ženklo ant IC.

Prijunkite kištuką 1 - 7 ir kištuką 15 prie 7 segmentų kaiščių.

8 ir 13 kaiščiai turi būti prijungti prie žemės (akumuliatoriaus GND arba negativ terminalas)

Pin 9 yra prijungtas prie kito IC 14 kaiščio.

10 ir 16 kaiščiai turi būti prijungti prie maitinimo įtampos (VCC arba teigiamas baterijos gnybtas)

Pinigai 11, 12 ir 14 yra sąsaja, kurią turi valdyti mikrovaldiklis, prijungiant juos prie trijų kaiščių išorinio sąsajos.

3 žingsnis: pastatytas ekranas

Nors būtų buvę įmanoma išgraviruoti pasirinktinę plokštę, aš nusprendžiau pastatyti visą daiktą ant kepimo lentos su plona vario viela.

Ši vario viela yra padengta, tačiau danga gali būti sudeginta šiek tiek išlydyto alavo. Su juo lengva sujungti. Vieną galą skardinkite, prijunkite prie kaiščio ir tada ištempkite į kitą kaištį ir sudeginkite izoliaciją, kur norite jį lituoti. Tada lituokite jį prie kaiščio ir supjaustykite. 30W lydmetalys, kaip šis, iš amatininko yra daugiau nei pakankamai darbo.

Naudojau mažus 1206 SMD rezistorius, nes jie puikiai tinka po septyniais segmentais.

Bet galų gale, jūs turite sudaryti lentą patys, ir, žinoma, taip pat galite imtis bet kokio rezistoriaus.

4 žingsnis: suraskite segmentų tvarką

Galiausiai turime parašyti funkcijas, kad galėtume parodyti kažką prasmingo.

Pagrindinė problema yra rasti tinkamą segmento valdymo seką. Iš pradžių bandykite stumti vieną 1 per visą pamainų registrą.

Taikykite aukštą į serijos įvestį ir vieną kartą impulsuokite pamainą. Dabar impulsuokite fiksatorių vieną kartą ir pamatysite, kurie segmentai užsidega.

Jei vėl paspausite perjungimo ir fiksavimo mygtuką, kitas segmentas užsidegs ir pan.

Galiausiai turite visų segmentų tvarką ir galite perkelti juos į dvejetainius numerius.

5 veiksmas: užrašykite kodą

Norėjau naudoti ekraną su savo AVR mikrokontroleriais. Taigi parašiau *.h failą, kuris galėtų būti įtrauktas į bet kurį projektą.

Jei prijungėte lentą kitaip, gali tekti koreguoti segmento valdymo masyvą.

Norėdami jį naudoti, reikia sureguliuoti pin-defines faile debug.h (pirmosios 12 eilučių).

Pagrindinėje programoje turite pridėti šias eilutes:

#include "debug.h"

initdebug (); // Tai inicijuoja išvesties prievadus, nurodytus debug.h

Tada galite parodyti bet kurį 8bit kintamąjį tiesiog skambindami derinimo funkciją. pasakyti, kad kintamasis vadinamas skaitiklis, tada dabartinė skaitiklio vertė rodoma:

debug (skaitiklis);

Patarimai:

  • Pridėkite truputį vėlavimo laiko po derinimo (), kad gautumėte laiko skaityti vertę.
  • Kai sujungėte perjungimą ir užraktą, tiesiog nustatykite du tos pačios smeigtės prievadus. Kiekvieną kartą, kai įjungiamas perjungimas, jis taip pat užfiksuoja dabartinę būseną, o tai reiškia, kad ekranas mirksi, kai įkeliami šifrai. Jei tai padarysite greitai, palyginti su laiku, kurį leidžiate rodyti ekrane, tai yra o.k.
  • Norėdami parodyti 16 bitų vertę, padalinkite jį 256 ir parodykite rezultatą arba atskirkite aukštą baitą ir žemą baitą ir parodykite juos po vieną su mažu stabdžiu tarp jų.

6 žingsnis: išbandykite

Jei norite išbandyti ekraną, idealiai tinka naudoti šiame pamokytame „attiny2313“ kepimo lentos adapteryje:

www.instructables.com/id/Make-a-breadboard-adapter-for-your-AVR-microcontroller

Įdėto vaizdo įrašo programa tiesiog skaičiuoja nuo 0 iki 0xFF ir atgal.

Vaizdo įrašas: