Indholdsfortegnelse:

Stopur Brug Pic18f4520 i Proteus med 7 segmenter: 6 trin
Stopur Brug Pic18f4520 i Proteus med 7 segmenter: 6 trin

Video: Stopur Brug Pic18f4520 i Proteus med 7 segmenter: 6 trin

Video: Stopur Brug Pic18f4520 i Proteus med 7 segmenter: 6 trin
Video: Прогрев южного моста материнской платы 2024, November
Anonim
Stopur Brug Pic18f4520 i Proteus med 7 segmenter
Stopur Brug Pic18f4520 i Proteus med 7 segmenter

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

Kodelogik og visning
Kodelogik og visning
Kodelogik og visning
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

Køreskærm med mikrokontroller
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

Multiplexing algoritme
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: