Obsah:

Stopky pomocí Pic18f4520 v Proteusu se 7 segmenty: 6 kroků
Stopky pomocí Pic18f4520 v Proteusu se 7 segmenty: 6 kroků

Video: Stopky pomocí Pic18f4520 v Proteusu se 7 segmenty: 6 kroků

Video: Stopky pomocí Pic18f4520 v Proteusu se 7 segmenty: 6 kroků
Video: mistrovská třída "Jak vyvážit 7 emocí, které ničí páteř" 2024, Listopad
Anonim
Stopky používající Pic18f4520 v Proteusu se 7 segmenty
Stopky používající Pic18f4520 v Proteusu se 7 segmenty

Právě jsem začal pracovat s ovladačem obrazu, jeden můj přítel mě požádal, abych z něj vytvořil stopky. Nemám tedy žádný hardwarový obrázek, který bych mohl sdílet, napsal jsem kód a simuloval jej v softwaru Proteus.

zde jsem sdílel schéma pro totéž.

jsou definovány tři proměnné milisekundy, sekundy, minuty

zde jsme použili přerušení časovače na 10 ms, na každých 1000 milisekund se proměnná sekund zvýší, každých 60 sekund se proměnná minuty zvýší.

Krok 1: Požadované věci

1 ovladač pic18f4520

2 sedm segmentových displejů

3 bc547 tranzistory

4 spínače pro start/stop/reset

5 rezistorů 330E, 10K, 1K

6 Stáhněte si mikroC pro obrázek

7 stáhnout proteus

Krok 2: Logika kódu a zobrazení

Logika kódu a displej
Logika kódu a displej
Logika kódu a displej
Logika kódu a displej

Co je sedmisegmentový displej? Sedmi segmentový displej (SSD) je jedním z nejběžnějších, levných a snadno použitelných displejů. Vypadá to jako výše.

zde musíme použít běžný katodový typ 7segmentového displeje - U běžného katodového typu SSD je svorka –ve všech LED běžně připojena ke kolíku „COM“. Segment lze rozsvítit, když je příslušnému segmentu LED dáno „1“a uzemnění je připojeno ke společnému. Vnitřní součásti jsou uvedeny na obrázku 2.

Krok 3: Řídicí displej s mikrokontrolérem

Řidičský displej s mikrokontrolérem
Řidičský displej s mikrokontrolérem

Ve svém obvodu jsem použil tranzistor NPN BC547.

Pro jednoduché použití BJT jako přepínače se spoje emitor-kolektor zkratují, když je na základnové svorce vstupní signál, jinak zůstane odpojen. Vstup by měl být veden přes vhodný odpor.

Krok 4: Proč multiplexování?

Často musíme použít dva, tři nebo více SSD a to také pomocí jediného MCU, ale jedním problémem, kterému čelíme, je nedostatek I/O pinů v MCU, protože jeden SSD by vzal 8 pinů, a tak tři SSD zabere 24 pinů. Na obrázku 18 máme pouze 48 I/O pinů. Jaké je tedy řešení?

Jednou z možností je, že použijeme větší MCU s více I/O piny. Ale pak jsme stále omezeni pouze na maximálně 3 SSD, které lze použít. Dalším mnohem lepším a doporučeným řešením tohoto problému je multiplexovat sedm segmentových displejů.

Wikipedie říká: „V telekomunikačních a počítačových sítích je multiplexování (také známé jako muxing) metoda, pomocí níž je více signálů analogových zpráv nebo digitálních datových toků spojeno do jednoho signálu na sdíleném médiu. Cílem je podělit se o drahý zdroj. ‘Multiplexováním sedmisegmentového displeje máme na mysli to, že budeme používat pouze 7 výstupních portů k zobrazení na všech SSD.

Krok 5: Jak toho dosáhnout?

Zde použijeme „Persistence of Vision“. Nyní musíte tento termín splnit již dříve. Ano, je to stejná technika, jaká se používá v kinematografii (zobrazení snímků tak rychle, že náš mozek nedokáže rozlišit žádné zpoždění mezi dvěma po sobě následujícími obrazy). Podobně, když muxujeme více než jeden SSD, zobrazujeme pouze jeden SSD najednou a přepínáme mezi nimi tak rychle, že je náš mozek nedokáže rozlišit.

Řekněme, že každý displej je aktivní pouze 5 milisekund najednou, tj. Rozsvítí se 1/0,0045krát za sekundu, což je zhruba 222krát/sekundu. Naše oči nemohou cítit změnu tak rychle, a proto vidíme, že všechny displeje fungují současně. Co se ve skutečnosti děje v hardwaru, je to, že MCU dává „1“kolíku (pamatujete, že „1“základně BJT zkratuje přechod mezi kolektorem a emitorem?), Který je připojen k základně tranzistoru příslušný displej, ponechá port „ZAPNUTÝ“po dobu 5 milisekund a poté jej znovu vypne. Tento postup je vložen do nekonečné smyčky, takže vidíme displej nepřetržitě.

Krok 6: Algoritmus multiplexování

Algoritmus multiplexování
Algoritmus multiplexování

Definujte dva porty v kódu, jeden pro segment datových portů a port pro ovládání segmentů.

trik zde je, že zobrazujete data ze všech 7 segmentů. a aktivujte jeden ovládací kolík, na kterém musíte tato data zobrazit. změňte data a ovládací kolík řazení.

zde v tomto instruktu jsme použili 6místný multiplexování, stačí projít připojený soubor c a vymaže ho.

Doporučuje: