INHOUDSOPGAWE:
- Stap 1: Vereiste dinge
- Stap 2: Kode logika en vertoning
- Stap 3: Bestuurskerm met mikrobeheerder
- Stap 4: Waarom Multiplexing?
- Stap 5: Hoe om dit te bereik?
- Stap 6: Multipleksalgoritme
Video: Stophorlosie met behulp van Pic18f4520 in Proteus met 7 segmente: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
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
'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
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
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:
Beheer van sewe segmente met behulp van Arduino en 74HC595 Shift Register: 6 stappe
Beheer van sewe segmente met behulp van Arduino en 74HC595 Shift Register: Hey, hoe gaan dit, ouens! Akarsh hier van CETech. Sewe segmentskerms is goed om na te kyk en is altyd 'n handige hulpmiddel om data in die vorm van syfers te vertoon, maar daar is 'n nadeel daarin dat wanneer ons 'n sewe segment -vertoning in werklikheid beheer
Hoe om 'n stophorlosie te maak met behulp van Arduino: 8 stappe (met foto's)
Hoe om 'n stophorlosie te maak met behulp van Arduino: dit is 'n baie eenvoudige Arduino 16*2 LCD -stophorlosie ……….. As u van hierdie instruksies hou, teken dan in op my kanaal https://www.youtube.com /ZenoModiff
Stophorlosie met 4 syfers van 7 segmente: 3 stappe
Stophorlosie met 4 syfers van 7 segmente: hierdie instruksies sal u wys hoe u 'n volledig funksionele intydse stophorlosie kan maak uit 'n vier-syfer-sewe-segment-skerm
Basiese stophorlosie met behulp van VHDL en Basys3 Board: 9 stappe
Basiese stophorlosie met behulp van VHDL en Basys3 Board: Welkom by die instruksies oor hoe om 'n stophorlosie te bou met basiese VHDL en Basys 3 bord. Ons is opgewonde om ons projek met u te deel! Dit was 'n finale projek vir die kursus CPE 133 (Digital Design) by Cal Poly, SLO in die herfs van 2016. Die projek wat ons bou
Hoe om 'n digitale stophorlosie te maak met behulp van 555: 3 stappe
Hoe om 'n digitale stophorlosie te maak met behulp van 555: ek het 'n eenvoudige stophorlosie gemaak met drie sewe segmente LED -skerms, waarvan ek u eerste vir die 10de deel van die sekondes weer 'n ander vir die tweede en die derde vir 'n veelvoud van 10 inn sekondes gemaak het. wat sein per 1 sekonde gee aan