Hibakeresés megjelenítése a mikrokontrollerek számára: 6 lépés

Hibakeresés megjelenítése a mikrokontrollerek számára: 6 lépés

Tartalomjegyzék:

Anonim

Ez a kijelző nagyon praktikus, ha a mikrovezérlők ADC funkciójával dolgozik.

Csak két csap szükséges a kijelző vezérléséhez (három, ha a zárat is szeretné vezérelni). Két hét szegmenssel akár 0xFF-t is megjeleníthet hexaként. Ez az egész 8 bites tartomány, ami a leggyakrabban használt változó-szélesség a kisméretű cC-k számára.

Megépítettem, mert a végső alkalmazásnak nincs kijelzője, és tudni akartam, mi történik, mielőtt befejeztem.

Két 74HC959 váltóregiszterre, két hét szegmenses kijelzőre és 14 (16) ellenállásra van szükséged 16-ra van szüksége, ha használni szeretné azokat a pontokat, amelyek nincsenek végrehajtva a szoftverben. De a pontok használata a megjeleníthető értékeket 10 bites vagy 0-1027 értékre növelné. Hagyom magának, hogy ezt megtudja.

kellékek:

1. lépés: A vázlat

A 7 szegmenses kijelző megjelenítéséhez két 74HC595-es eltolásregisztert használunk. Akár közös anódot, akár közös 7-es katódokat használ, módosítania kell az áramkört. Közös katódokat használtam. Mi azt jelenti, hogy minden szegmens egy zöld LED, és az összes LED katódja össze van kötve. (A 7-szegmenses kijelző 3. és 8. pontja)

A váltási nyilvántartások így működnek:

Minden alkalommal, amikor impulzust alkalmazunk a váltó bemeneten, a soros bemeneti pin aktuális állapota a 74HC595 memóriájában eltolódik. Minden alkalommal, amikor egy impulzus a retesz bemeneten érkezik, a belső memória állapota a kimenetek meghajtására szolgál.

8 váltási ciklus után az első bemenetet a 9-es tűnél ismét eltolja, és egy másik 74HC595 bemenetként is használható. Ezt daisy láncnak is nevezik.

A 74HC595 összesen 70mA-t képes vezetni, így az ellenállásokat úgy kell beállítani, hogy az egyes LED-szegmensek áramlása 9mA alatt maradjon, ami körülbelül 470 ohm 5V-nak és a használt kijelzőknek.

2. lépés: A Shift Register 75HC595

A képen látható kép azt jelzi, hogy melyik érintkezőt kell csatlakoztatnia.

A csapokat az órajel alapján számítják ki az IC-ből, ha felülről nézzük.

Csatlakoztassa az 1–7-es csapot és a 15-ös csapot a 7-szegmens csapjaihoz.

A 8-as és 13-as csapot földeléssel kell összekötni (az akkumulátor GND vagy negativ terminálja)

A 9 csap a következő IC 14-es érintkezőjéhez van csatlakoztatva.

A 10-es és 16-os csapot a tápfeszültséghez kell csatlakoztatni (VCC vagy az akkumulátor pozitív kapcsa)

A 11, 12 és 14 csapok a mikrokontroller által vezérelhető interfészek, amelyek a külső csatlakozáshoz a háromcsapos pinheaderhez kapcsolódnak.

3. lépés: Beépített kijelző

Bár lehetett volna egy egyéni áramköri lapot lehúzni, úgy döntöttem, hogy az egészet vékony rézhuzallal építettem a kenyérvágólapra.

Ez a rézhuzal bevonattal van ellátva, de a bevonatot egy kis olvadt ón segítségével le lehet égetni. Nagyon könnyű kapcsolatot létesíteni vele. Csak az egyik vége, forrasztjuk be a csapszegre, majd nyújtsuk ki a másik csapszegre, és égetjük el az elszigetelést, ahol meg akarjuk forrasztani. Ezután forrasztjuk a csapszegre, és vágjuk le a többit. Az ilyen kézműves 30W-os forrasztópáka több mint elég a feladathoz.

Kis méretű 1206 SMD ellenállást használtam, mert ezek jól illeszkednek a hét szegmenses kijelző alá.

De végül is magának kell elkészítenie a táblát, és természetesen bármilyen ellenállást is megtehet.

4. lépés: Keresse meg a szegmensek sorrendjét

Végül meg kell írnunk a funkciókat, hogy valami értelmes megjelenítésre kerüljön.

A fő probléma most a megfelelő szegmens - vezérlő szekvencia megtalálása. Először próbáljon egyetlen 1-et a teljes műszak-nyilvántartáson keresztül tolni.

Alkalmazzunk egy magas értéket a soros bemenetre, és egyszerre impulzussuk a váltást. Most impulzusolja a reteszt egyszer és nézze meg, hogy melyik szegmens világít.

Ha ezután ismét megnyomja a shift és a retesz gombot, a következő szegmens világít és így tovább.

Végül a szegmensek sorrendje van, és bináris számokba is átviheti őket.

5. lépés: Írja be a kódot

Az AVR mikrovezérlőim segítségével szeretném használni a kijelzőt. Szóval írtam egy *.h fájlt, amely bármilyen projektbe beépíthető.

Ha másképp vezetett rá a táblára, lehet, hogy be kell állítania a szegmensvezérlő tömböt.

Használatához a debug.h (első 12 sor) fájlban a pin-define-eket kell beállítani.

A fő alkalmazásban hozzá kell adnia a következő sorokat:

#include "debug.h"

initdebug (); // Ez inicializálja a debug.h alatt megadott kimeneti portokat

Ezután 8bit változót jeleníthet meg azzal, hogy csak hívja a hibakeresési funkciót. mondjuk a változót számlálónak nevezzük, majd a számláló aktuális értéke:

hibakereső (counter);

Tippek:

  • Adjon hozzá egy kis késleltetési időt a hibakeresés () után, hogy időt kapjon az érték olvasására.
  • Ha a váltást és a reteszet összekapcsolta, akkor csak a két portot adja meg ugyanarra a tűre. Minden alkalommal, amikor a váltás bekapcsolódik, az ki is zárta az aktuális állapotot, ami azt jelenti, hogy a kijelző villog, miközben a shiftregisters betöltődnek. Ha ezt gyorsan megteheti, mint azt az időt, ameddig a kijelzőt megengedte, akkor az o.k.
  • A 16 bites érték megjelenítéséhez vagy 256-os megosztásra, és az eredmény kijelzésére, vagy a magas bájt és az alacsony bájt elkülönítésére, és egymás után jelenítse meg őket egy kis fékkel.

6. lépés: Ellenőrizze

A kijelző teszteléséhez ideálisnak tűnik az ebben a tájékoztatóban közzétett, az attiny2313 kenyértábla-adapter használatával:

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

A beágyazott videó programja csak 0-ról 0xFF-re és vissza.

A videó: