Inhoudsopgave:
- Stap 1: Dingen die nodig zijn
- Stap 2: Codelogica en weergave
- Stap 3: Display rijden met microcontroller
- Stap 4: Waarom multiplexen?
- Stap 5: Hoe bereik je dit?
- Stap 6: Multiplex-algoritme
Video: Stopwatch met Pic18f4520 in Proteus met 7 segment - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Ik ben net begonnen met pic controller, een van mijn vrienden vroeg me om er een stopwatch van te bouwen. Dus ik heb geen hardware-afbeelding om te delen, ik heb code geschreven en gesimuleerd op Proteus-software.
hier heb ik het schema voor hetzelfde gedeeld.
drie variabele milliseconden, seconden, minuten zijn gedefinieerd
hier hebben we een timer-interrupt van 10 ms gebruikt, voor elke 1000 milliseconden zal de secondenvariabele toenemen, voor elke 60 seconden zal de minutenvariabele toenemen.
Stap 1: Dingen die nodig zijn
1 pic18f4520-controller
2 zevensegmentendisplays
3 bc547-transistors
4 schakelaars voor start/stop/reset
5 weerstanden 330E, 10K, 1K
6 download mikroC voor foto
7 download proteus
Stap 2: Codelogica en weergave
Wat is een Seven Segment Display? Een Seven Segment Display (SSD) is een van de meest voorkomende, goedkope en gebruiksvriendelijke displays. Het ziet eruit als hierboven.
hier moeten we een 7-segments display van het gemeenschappelijke kathodetype gebruiken - In het SSD-type met gemeenschappelijke kathode is de -ve-aansluiting van alle LED's gewoonlijk verbonden met de 'COM'-pin. Een segment kan worden verlicht wanneer '1' wordt gegeven aan het respectieve LED-segment en aarde is verbonden met de common. De binnenkant is weergegeven in figuur 2.
Stap 3: Display rijden met microcontroller
In mijn circuit heb ik de NPN BC547 Transistor gebruikt.
Voor het eenvoudige gebruik van een BJT als schakelaar, worden de emitter-collectorovergangen kortgesloten wanneer er een ingangssignaal is op de basisterminal, anders blijft het uitgeschakeld. De ingang moet worden gegeven via een geschikte weerstand.
Stap 4: Waarom multiplexen?
Vaak moeten we twee, drie of meer SSD's gebruiken en ook dat met slechts een enkele MCU, maar een probleem waarmee we worden geconfronteerd, is het ontbreken van I / O-pinnen in de MCU, omdat één SSD 8 pinnen zou kosten, en dus drie SSD's 24 pinnen zou kosten. Op foto 18 hebben we slechts 48 I/O-pinnen. Dus wat is de oplossing?
Een mogelijkheid is dat we een grotere MCU gebruiken met meer I/O-pinnen. Maar dan zijn we nog steeds beperkt tot maximaal 3 SSD's die kunnen worden gebruikt. Een andere veel betere en aanbevolen oplossing voor dit probleem is om de Seven Segment Displays te multiplexen.
Wikipedia zegt: 'In telecommunicatie- en computernetwerken is multiplexing (ook bekend als muxing) een methode waarbij meerdere analoge berichtsignalen of digitale gegevensstromen worden gecombineerd tot één signaal via een gedeeld medium. Het doel is om een dure bron te delen.' Wat we bedoelen met multiplexen van een zeven-segments display is dat we slechts 7 uitgangspoorten zullen gebruiken om de weergave op alle SSD's te geven.
Stap 5: Hoe bereik je dit?
Hier zullen we 'Persistence of Vision' gebruiken. Nu moet je deze term al eerder hebben gehad. Ja, dit is dezelfde techniek die wordt gebruikt in de cinematografie (beelden zo snel weergeven dat onze hersenen geen vertraging tussen twee opeenvolgende beelden kunnen onderscheiden). Evenzo, wanneer we meer dan één SSD combineren, geven we slechts één SSD tegelijk weer, en we schakelen er zo snel tussen dat ons brein er geen onderscheid tussen kan maken.
Laten we zeggen dat elk scherm slechts 5 milliseconden per keer actief is, d.w.z. het wordt 1/0,0045 keer per seconde verlicht, dat is ongeveer gelijk aan 222 keer per seconde. Onze ogen kunnen een verandering niet zo snel waarnemen, en daarom zien we dat alle displays tegelijkertijd werken. Wat er feitelijk in de hardware gebeurt, is dat de MCU '1' geeft aan de pin (onthoud dat als je '1' geeft aan de basis van een BJT, de Collector- en emitterovergang wordt kortgesloten?), Die is verbonden met de basis van de transistor van de respectievelijke displays, houdt de poort 5 milliseconden 'AAN' en schakelt deze vervolgens weer uit. Deze procedure wordt in een eindeloze lus gezet, zodat we de weergave continu zien.
Stap 6: Multiplex-algoritme
Definieer twee poorten in code, één voor segmentgegevenspoort en segmentcontrolepoort.
truc hier is dat je de gegevens op alle 7 segmenten weergeeft. en activeer de ene controlepin waarop u die gegevens moet weergeven. verander de data en shift control pin.
hier in deze instructable hebben we 6-cijferige multiplexing gebruikt, ga gewoon door het bijgevoegde c-bestand en je krijgt het gewist.
Aanbevolen:
Hoe maak je een stopwatch met Arduino 8 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe maak je een stopwatch met behulp van Arduino: dit is een zeer eenvoudige Arduino 16 * 2 lcd-scherm stopwatch ……….. Als je deze Instructable leuk vindt, abonneer je dan op mijn kanaal https://www.youtube.com /ZenoModiff
Arduino Stopwatch: 4 stappen (met afbeeldingen)
Arduino Stopwatch: deze Instructable laat je zien hoe je een stopwatch maakt van een Arduino
Hoe maak je een digitale stopwatch met behulp van 555: 3 stappen
Hoe maak je een digitale stopwatch met 555: Ik heb een eenvoudige stopwatch gemaakt met behulp van 3 zevensegmenten LED-displays waarvan je eerst voor het weergeven van het 10e deel van seconden een tweede en derde voor een veelvoud van 10 inn seconden. Ik gebruikte 555 timers in de stabiele modus die per 1 seconde signaal geeft aan
Stopwatch voor 30 M hardlopen (Arduino): 6 stappen (met afbeeldingen)
Stopwatch voor 30 M hardlopen (Arduino): Dit project is gemaakt voor een specifiek doel in Finse honkbalcoaching en het testen van de snelheid van juniorspelers in 30 m hardlopen. Dit arduino-project was ook een cursusproject in mijn studie. Het project had wat ups en downs, maar nu is het tenminste werki
VHDL-stopwatch: 8 stappen (met afbeeldingen)
VHDL-stopwatch: dit is een tutorial over het maken van een stopwatch met VHDL en een FPGA-printplaat, zoals een Basys3 Atrix-7-bord. De stopwatch kan tellen van 00.00 seconden tot 99,99 seconden. Het maakt gebruik van twee knoppen, één voor de start/stop-knop en een andere voor de