INHOUDSOPGAWE:

Stophorlosie met behulp van Pic18f4520 in Proteus met 7 segmente: 6 stappe
Stophorlosie met behulp van Pic18f4520 in Proteus met 7 segmente: 6 stappe

Video: Stophorlosie met behulp van Pic18f4520 in Proteus met 7 segmente: 6 stappe

Video: Stophorlosie met behulp van Pic18f4520 in Proteus met 7 segmente: 6 stappe
Video: как сделать Propeller LED Pendulum Clock, используя Arduino NANO, JLCPCB 2024, Julie
Anonim
Stophorlosie met behulp van Pic18f4520 in Proteus met 7 segmente
Stophorlosie met behulp van Pic18f4520 in Proteus met 7 segmente

Ek het pas begin werk met 'n foto -kontroleerder, een van my vriende het my versoek om 'n stophorlosie daarvan te bou. Ek het dus geen hardeware -beeld om te deel nie; ek het kode geskryf en dit op Proteus -sagteware gesimuleer.

hier het ek die skema vir dieselfde gedeel.

drie veranderlike millisekondes, sekondes, minute word gedefinieer

hier het ons 'n timer -onderbreking van 10 ms gebruik, vir elke 1000 millisekondes neem die sekondêre veranderlike toe, vir elke 60 sekondes minute neem die veranderlike toe.

Stap 1: Vereiste dinge

1 pic18f4520 kontroleerder

2 sewe segment vertoon

3 bc547 transistors

4 skakelaars vir begin/stop/herstel

5 weerstande 330E, 10K, 1K

6 laai mikroC af vir die foto

7 laai proteus af

Stap 2: Kode logika en vertoning

Kode logika en vertoning
Kode logika en vertoning
Kode logika en vertoning
Kode logika en vertoning

'N Sewe segment -skerm (SSD) is een van die algemeenste, goedkoopste en maklikste om te gebruik. Dit lyk soos hierbo.

hier moet ons 'n gewone katodetipe van 'n 7 -segment -skerm gebruik - In die gewone katode -tipe SSD word die –ve -aansluiting van al die LED's gewoonlik verbind met die 'COM' -pen. 'N Segment kan verlig word as' 1 'aan die onderskeie LED -segment gegee word en die aarde met die gewone verbind word. Die binnekant word in figuur 2 gegee.

Stap 3: Bestuurskerm met mikrobeheerder

Ryskerm met mikrobeheerder
Ryskerm met mikrobeheerder

In my kring het ek die NPN BC547 Transistor gebruik.

Vir die eenvoudige gebruik van 'n BJT as 'n skakelaar, word die emitter-kollektor-aansluitings kortgekeer as daar 'n insetsein by die basisterminal is, anders bly dit afsny. Die insette moet deur 'n geskikte weerstand gegee word.

Stap 4: Waarom Multiplexing?

Dikwels moet ons twee, drie of meer SSD's gebruik, en dit ook met slegs 'n enkele MCU, maar een probleem waarmee ons te kampe het, is die gebrek aan I/O -penne in die MCU, aangesien een SSD 8 penne sou neem, en dus drie SSD's sou 24 penne vat. Op pic18 het ons slegs 48 I/O -penne. So, wat is die oplossing?

Een moontlikheid is dat ons 'n groter MCU met meer I/O -penne gebruik. Maar dan is ons steeds beperk tot slegs 3 SSD's wat gebruik kan word. Nog 'n baie beter en aanbevole oplossing vir hierdie probleem is om die sewe segmentskerms te multiplex.

Wikipedia sê 'In telekommunikasie en rekenaarnetwerke is multiplexing (ook bekend as muxing) 'n metode waardeur verskeie analoog boodskapseine of digitale datastrome tot een sein oor 'n gedeelde medium gekombineer word. Die doel is om 'n duur hulpbron te deel. 'Wat ons bedoel met die multiplexering van sewesegmente, is dat ons slegs 7 uitvoerpoortjies sal gebruik om die skerm op al die SSD's te gee.

Stap 5: Hoe om dit te bereik?

Hier sal ons 'Persistence of Vision' gebruik. Nou moet u al voorheen hierdie term gehad het. Ja, dit is dieselfde tegniek wat in die kinematografie gebruik word (vertoon beelde so vinnig dat ons brein geen agterstand tussen twee opeenvolgende beelde kan onderskei nie). Net so, as ons meer as een SSD meng, vertoon ons slegs een SSD op 'n slag, en ons skakel so vinnig tussen hulle dat ons brein nie tussen hulle kan onderskei nie.

Kom ons sê dat elke skerm slegs 5 millisekondes op 'n slag aktief is, dit wil sê dat dit 1/0,0045 keer per sekonde verlig word, wat ongeveer gelyk is aan 222 keer/sekonde. Ons oë kan nie so vinnig 'n verandering aanvoel nie, en dus sien ons dat al die skerms gelyktydig werk. Wat eintlik in die hardeware gebeur, is dat die MCU '1' aan die pen gee (onthou '1' aan die basis van 'n BJT -kortbroek die Collector en emitter -aansluiting?), Wat verbind is met die basis van die transistor van die onderskeie skerms, hou die poort vir 5 millisekondes 'AAN' en skakel dit dan weer uit. Hierdie prosedure word in 'n eindelose lus geplaas, sodat ons die skerm voortdurend kan sien.

Stap 6: Multipleksalgoritme

Multiplexing algoritme
Multiplexing algoritme

Definieer twee poorte in kode, een vir segmentdatapoort en segmentbeheerpoort.

Die truuk hier is dat u die data op alle sewe segmente vertoon. en aktiveer die een bedieningspen waarop u die data moet vertoon. verander die data en skuif die bedieningspen.

hier in hierdie instruksies het ons 6 -syfer -multiplexing gebruik; gaan net deur die aangehegte c -lêer en u kry dit skoongemaak.

Aanbeveel: