Innehållsförteckning:

Digital klocka med kristalloscillator och flip -flops: 3 steg
Digital klocka med kristalloscillator och flip -flops: 3 steg

Video: Digital klocka med kristalloscillator och flip -flops: 3 steg

Video: Digital klocka med kristalloscillator och flip -flops: 3 steg
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
Digital klocka med kristalloscillator och flip -flops
Digital klocka med kristalloscillator och flip -flops

Klockor finns i nästan alla typer av elektronik, de är hjärtslaget för vilken dator som helst. De används för att synkronisera alla sekventiella kretsar. de används också som räknare för att hålla reda på tid och datum. I den här instruktionsboken lär du dig hur datorer räknas och i huvudsak hur en digital klocka fungerar med flip -flops och kombinationslogik. Projektet är uppdelat i flera moduler som var och en utför en specifik funktion.

Tillbehör

För detta instruerbara behöver du några förkunskaper i:

  • Digitala logikbegrepp
  • Multisim -simulator (tillval)
  • Förståelse för elektriska kretsar

Steg 1: Skapa tidsbasmodulen

Bygga tidsbasmodulen
Bygga tidsbasmodulen

Konceptet bakom en digital klocka är att vi i huvudsak räknar upp klockcykler. en 1 Hz klocka genererar en puls varje sekund. i nästa steg kommer vi att se hur vi kan räkna dessa cykler för att utgöra sekunder, minuter och timmar på vår klocka. Ett sätt vi kan generera en 1 Hz -signal är genom att använda en kristalloscillatorkrets som genererar en 32.768 kHz signal (som den jag konstruerade ovan som kallas en pierce -oscillator), som vi sedan kan dela med en kedja av flip -flops. Anledningen till att 32.768 kHz används är att den är högre än vår maximala hörselfrekvens som är 20 kHz och är lika med 2^15. Anledningen som är viktig är att en J-K flip-flop-utgång växlar vid ingångssignalens positiva eller negativa kant (beror på FF), därför är utgången effektivt vid en frekvens som är hälften av den ursprungliga ingången. På samma sätt om vi kedjar 15 flip -flops kan vi dela insignalens frekvens för att få vår 1 Hz -signal. Jag använde precis en 1 Hz pulsgenerator för att påskynda simuleringstiden i Multisim. Men på en brödbräda kan du bygga kretsen jag har ovan eller använda en DS1307 -modul.

Steg 2: Skapa Seconds Counter

Bygga Seconds Counter
Bygga Seconds Counter

Denna modul är uppdelad i två delar. Den första delen är en 4-bitars uppräknare som räknas upp till 9 som utgör 1: a plats för sekunder. Den andra delen är en 3-bitars uppräknare som räknas upp till 6 vilket utgör 10: ornas sekund.

Det finns 2 typer av räknare, en synkron räknare (där klockan är ansluten till alla FF) och en asynkron räknare där klockan matas till den första FF och utgången fungerar som klockan för nästa FF. Jag använder en asynkron räknare (kallas även en krusningsräknare). Tanken är att om vi skickar en hög signal till 'J' och 'K' ingångarna i FF, kommer FF att växla dess tillstånd vid varje cykel av ingångsklockan. Detta är viktigt eftersom för varje 2 växlar i den första FF produceras en växling i den på varandra följande FF och så vidare tills den sista. Därför producerar vi ett binärt tal som motsvarar antalet cykler för ingångsklocksignalen.

Som visas ovan, till vänster är min krets som gör 4-bitars uppräknaren för 1: ns plats. Under den har jag implementerat en återställningskrets, det är i grunden en OCH -grind som skickar en hög signal till återställningstappen på flip -flops om utgången från räknaren är en 1010 eller en 10 i decimal. Därför är utsignalen från den OCH -grinden 1 puls per 10 sekunder -signal som vi kommer att använda som ingångsklocka för vår tiotals platsräknare.

Steg 3: Sätta ihop allt

Av samma logik kan vi fortsätta att stapla räknare för att göra upp minuter och timmar. Vi kan till och med gå längre och räkna dagar, veckor och till och med år. du kan skapa detta på en brödbräda, helst skulle du dock använda en RTC -modul (realtidsklocka) bara för bekvämlighetens skull. Men om du känner dig inspirerad skulle du i huvudsak behöva:

19 J-K flip-flops (eller 10 dubbla J-K IC: er som SN74LS73AN)

  • en ingångskälla på 1 Hz (du kan använda en DS1307 -modul, den genererar en kvadratvåg på 1 Hz)
  • 6 Binära till 7-segments avkodare (t.ex. 74LS47D)
  • 23 Omformare, 7 3-ingång OCH grindar, 10 2-ingång OCH grindar, 3 4-ingång OCH grindar, 5 ELLER grindar
  • Sex 7-segment hexdisplayer

Jag hoppas att du har lärt dig hur en digital klocka fungerar från denna instruerbara, tveka inte att ställa några frågor!

Rekommenderad: