6. lecke 1

Tegyük fel, hogy olyan programot ír ki, amelynek kimenő számokat kell kibocsátania. Például: óra, stopperóra, hőmérő stb. Az LCD kijelző segítségével megjelenítheti az információkat, de számos okból kifolyólag nem mindig lehet kényelmes, szép vagy drága. Ezért egy hét szegmens jelzőt használnak, amely 7 LED-es készlet.

Például vegye figyelembe az SA56 jelzőt, minden egyes vonal a LED. Ezenkívül különböző módon kombinálhatók. Ebben az esetben figyeljen a közös anódra, azaz "+" Ha a 7, 6, 4 lábak a talajt táplálják, akkor a, a, b, c illeszkednek a megfelelő szegmensekhez ...

6. lecke 1

Most pedig kitaláljuk, hogyan csavarja meg ezt az egészet a mikrokontrollerhez.

6. lecke 1

Saját kényelmét tekintve minden LED-et 0-tól 6-ig jegyezünk be. Csatlakoztassuk őket számuknak megfelelően, például a B porthoz.

6. lecke 1

Mivel egy közös anóddal rendelkező variánsot vizsgálunk, a firmware is erre a változatra fog irányulni. A szegmens meggyújtásához logikus zérust kell adnunk a porthoz annak érdekében, hogy kikapcsoljuk a logikai egység elküldésének szükségességét. Ha a firmware-t egy közös katódra szeretné konvertálni, be kell fordítania a port kimeneti állapotát.

Így a kezdeti adatok: 7 szegmens egy közös anóddal (közös "+"), akkor minden számot egy sorban kell megjeleníteni 0-tól 9-ig, ilyen számlálót

Kezdjük a 0. Megnézzük a képet a kijelölt LED-ek számával, kiderül, hogy a 0 világításhoz minden 6-os LED-et meg kell világítani, kivéve a 6-ot.

6. lecke 1

Mivel a LED számok megfelelnek a portszámoknak, a lábakat 0 és 5 között kell bevinni. Ezek engedélyezéséhez csak a PORTB = 0b00111111 értéket kell megjelenítenie;

Úgy tűnik, minden igaz, de ne felejtsük el, hogy van egy közös "+", hogy a LED világítson, ki kell adnunk 0 (föld) a porthoz. Fordítsd meg ezt a számot és kapd PORTB = 0b11000000;

Hasonlóképpen 1: az 1. és 2. LED, azaz Végül ki kell adnia a PORTB = 0b11111001-et;

Azt hiszem, tovább fogja megérteni önállóan. Azok számára, akik nem értik, hogy mi a rekord PORTB = 0b00111111; Javasoljuk, hogy olvassa el a portok konfigurációjáról szóló cikket

Most próbálja meg összegyűjteni az egy kupacban kapott információt, és írja le a firmware-t, amely 0-tól 9-ig számol, és megjeleníti a jelzőn kapott információkat.


A firmware-ben nincs semmi bonyolult, a kapcsoló operátort használják, attól függően, hogy a számváltozóban melyik szám jelzi a kívánt LED-eket.

Az áramkör szimulálására nincsenek ellenállások, az igazi áramkörben szükség van a LED áramának korlátozására, ezért egy ellenállást kell felakasztani minden egyes lábra.

Kényelmesebb volt a statikus jelzést eltolásregiszterekkel kezelni. Mivel a gyakorlatban az ilyen rendszert nem megfelelően használják ...

Kapcsolódó cikkek