Indholdsfortegnelse:
- Trin 1: Ting påkrævet
- Trin 2: Kodelogik og visning
- Trin 3: Køreskærm med mikrokontroller
- Trin 4: Hvorfor multiplexering?
- Trin 5: Hvordan opnås dette?
- Trin 6: Multiplexing algoritme
Video: Stopur Brug Pic18f4520 i Proteus med 7 segmenter: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Jeg begyndte lige at arbejde med pic controller, en af min ven bad mig om at bygge et stopur af det. Så jeg har ikke hardware -image at dele, jeg har skrevet kode og simuleret det på Proteus -software.
her har jeg delt skematikken for det samme.
tre variable millisekunder, sekunder, minutter defineres
her har vi brugt timerafbrydelse på 10 ms, for hver 1000 millisekunder vil sekunders variabel stige, for hver 60 sekunders minut vil variabel stige.
Trin 1: Ting påkrævet
1 pic18f4520 controller
2 syv segmentskærme
3 bc547 transistorer
4 kontakter til start/stop/reset
5 modstande 330E, 10K, 1K
6 download mikroC til pic
7 download proteus
Trin 2: Kodelogik og visning
En Seven Segment Display (SSD) er en af de mest almindelige, billige og brugervenlige skærme. Det ligner ovenstående.
her er vi nødt til at bruge fælles katodetype med 7 segment display - I den almindelige katodetype SSD er –ve terminalen for alle LED'er normalt forbundet til 'COM' pin. Et segment kan tændes, når '1' gives til det respektive LED -segment, og jorden er forbundet til fælles. De indvendige dele er vist i figur 2.
Trin 3: Køreskærm med mikrokontroller
I mit kredsløb har jeg brugt NPN BC547 Transistor.
Ved simpel brug af en BJT som switch bliver emitter-kollektorforbindelserne kortsluttet, når der er et indgangssignal på basesterminalen, ellers forbliver det afbrudt. Inputtet skal gives via en passende modstand.
Trin 4: Hvorfor multiplexering?
Ofte skal vi bruge to, tre eller flere SSD'er, og det også ved kun at bruge en enkelt MCU, men et problem, vi står over for, er manglen på I/O -ben i MCU'en, da en SSD ville tage 8 ben, og så tre SSD'er ville tage 24 pins. På pic18 har vi kun 48 I/O -ben. Så hvad er løsningen?
En mulighed er, at vi bruger en større MCU med flere I/O -ben. Men så er vi stadig begrænset til kun maksimalt 3 SSD'er, der kan bruges. En anden meget bedre og anbefalet løsning på dette problem er at multiplexere de syv segmentdisplays.
Wikipedia siger 'I telekommunikation og computernetværk er multiplexing (også kendt som muxing) en metode, hvorved flere analoge meddelelsessignaler eller digitale datastrømme kombineres til et signal over et delt medium. Målet er at dele en dyr ressource.’Hvad vi mener med multiplexering af syvsegments display er, at vi kun vil bruge 7 outputporte til at give displayet på alle SSD’erne.
Trin 5: Hvordan opnås dette?
Her vil vi bruge 'Persistence of Vision'. Nu skal du have på tværs af dette udtryk allerede før. Ja, det er den samme teknik, der bruges i kinematografi (vis billeder så hurtigt, at vores hjerne ikke kan skelne nogen forsinkelse mellem to på hinanden følgende billeder). På samme måde, når vi mux mere end en SSD, viser vi kun en SSD ad gangen, og vi skifter mellem dem så hurtigt, at vores hjerne ikke kan skelne mellem dem.
Lad os sige, at hver skærm kun er aktiv i 5 millisekunder ad gangen, dvs. den lyser 1/0,0045 gange i sekundet, hvilket er omtrent lig med 222 gange/sekund. Vores øjne kan ikke mærke en forandring så hurtigt, og det vi ser er derfor, at alle skærmene fungerer samtidigt. Hvad der rent faktisk sker i hardwaren er, at MCU'en giver '1' til stiften (husk at give '1' til bunden af en BJT -kort samleren og emitterforbindelsen?), Som er forbundet til bunden af transistoren på de respektive skærme, holder porten 'ON' i 5 millisekunder og slukker den derefter igen. Denne procedure sættes i en endeløs sløjfe, så vi ser displayet kontinuerligt.
Trin 6: Multiplexing algoritme
Definer to porte i kode, en for segmentdataport og segmentkontrolport.
trick her er, at du viser dataene på alle 7 segmenter. og aktiver den ene kontrolnål, som du skal vise disse data på. ændre data og skifte kontrolnål.
her i denne instruerbare har vi brugt 6 -cifret multiplexing, bare gå igennem den vedhæftede c -fil, og du får den ryddet.
Anbefalede:
Mekanisk ur med syv segmenter: 7 trin (med billeder)
Mekanisk ur med syv segmenter: For et par måneder siden byggede jeg et tocifret mekanisk 7 -segment display, som jeg forvandlede til en nedtællingstimer. Det kom ganske godt ud, og et antal mennesker foreslog at fordoble sig på displayet for at lave et ur. Problemet var, at jeg allerede var kørt
Brug af en display med 4 cifre og 7 segmenter, med Arduino: 7 trin
Brug af en 4 -cifret og 7 -segmenters skærm, med Arduino: I denne vejledning viser jeg dig, hvordan du bruger et 7 -segmenters display med 4 cifre ved hjælp af arduino. Nogle grundlæggende ting, jeg gerne vil påpege, er, at dette optager næsten alle de digitale stifter på arduino uno, leonardo, brædderne med 13 digi
I2C / IIC LCD -skærm - Brug et SPI LCD til I2C LCD Display Brug SPI til IIC modul med Arduino: 5 trin
I2C / IIC LCD -skærm | Brug en SPI LCD til I2C LCD -skærmen Brug af SPI til IIC -modulet med Arduino: Hej fyre, da en normal SPI LCD 1602 har for mange ledninger at tilslutte, så det er meget svært at grænseflade det med arduino, men der er et modul på markedet, som kan konverter SPI -skærm til IIC -skærm, så du skal kun tilslutte 4 ledninger
Adresserbare displays med 7 segmenter: 10 trin (med billeder)
Adresserbare 7-segmentskærme: En gang imellem klikker en idé i min hjerne, og jeg tænker, " hvordan er dette ikke blevet gjort før? &Quot; og størstedelen af tiden har det faktisk været det. I tilfælde af " Adresserbar 7-segmentskærm " - Jeg tror virkelig ikke, det er gjort
Tastaturgrænseflade med 8051 og visning af tastaturnumre i 7 segmenter: 4 trin (med billeder)
Tastaturgrænseflade med 8051 og visning af tastaturnumre i 7 segmenter: I denne vejledning vil jeg fortælle dig, hvordan vi kan grænseflade tastatur med 8051 og vise tastaturnumre i 7 segment display