INHOUDSOPGAWE:

Digitale klok met kristal ossillator en flip -flops: 3 stappe
Digitale klok met kristal ossillator en flip -flops: 3 stappe

Video: Digitale klok met kristal ossillator en flip -flops: 3 stappe

Video: Digitale klok met kristal ossillator en flip -flops: 3 stappe
Video: Брайан Китинг и Ли Кронин: Жизнь во Вселенной 2024, Julie
Anonim
Digitale klok met kristal ossillator en slippers
Digitale klok met kristal ossillator en slippers

U kan horlosies in byna alle soorte elektronika vind, dit is die hartklop van enige rekenaar. Hulle word gebruik om alle opeenvolgende stroombane te sinchroniseer. hulle word ook gebruik as tellers om tyd en datum by te hou. In hierdie instruksies leer u hoe rekenaars tel en in wese hoe 'n digitale klok werk met flipflops en kombinasie -logika. Die projek is verdeel in verskeie modules wat elk 'n spesifieke funksie verrig.

Voorrade

Vir hierdie instruksies benodig u vooraf kennis in:

  • Digitale logika konsepte
  • Multisim -simulator (opsioneel)
  • Begrip van elektriese stroombane

Stap 1: Bou die tydsbasismodule

Bou die tydsbasismodule
Bou die tydsbasismodule

Die konsep agter 'n digitale klok is dat ons in wese kloksiklusse tel. 'n 1 Hz -klok genereer elke sekonde 'n pols. in die volgende stappe sal ons sien hoe ons die siklusse kan tel om die sekondes, minute en ure van ons horlosie uit te maak. Een manier waarop ons 'n 1 Hz -sein kan genereer, is deur 'n kristal ossillatorbaan te gebruik wat 'n 32.768 kHz sein genereer (soos die een wat ek hierbo ontwerp het, wat 'n steek ossillator genoem word), wat ons dan kan verdeel deur 'n ketting van flip -flops te gebruik. Die rede waarom 32.768 kHz gebruik word, is omdat dit hoër is as ons maksimum gehoorfrekwensie, wat 20 kHz is en dit is gelyk aan 2^15. Die belangrike rede is omdat 'n JK-flipflop-uitset aan die positiewe of negatiewe rand (hang af van die FF) van die insetsein wissel, daarom is die uitset effektief op 'n frekwensie wat die helfte van die oorspronklike inset is. Op dieselfde manier, as ons 15 flip -flops ketting, kan ons die insetsignaalfrekwensie verdeel om ons 1 Hz -sein te kry. Ek het pas 'n 1 Hz -pulsgenerator gebruik om die simulasietyd in Multisim te bespoedig. Maar op 'n broodbord, bou gerus die kring wat ek hierbo het, of gebruik 'n DS1307 -module.

Stap 2: Bou die sekondeteller

Die bou van die sekondeteller
Die bou van die sekondeteller

Hierdie module is in twee dele verdeel. Die eerste deel is 'n 4-bis teller wat tot 9 tel, wat die 1 se plek van die sekondes uitmaak. Die tweede deel is 'n 3-bis teller wat tot 6 tel, wat die 10's se plek van die sekondes uitmaak.

Daar is 2 soorte tellers, 'n sinchrone teller (waar die klok aan alle FF gekoppel is) en 'n asynchrone teller waar die horlosie na die eerste FF gevoer word en die uitset dien as die klok van die volgende FF. Ek gebruik 'n asynchrone teller (ook 'n rimpel teller genoem). Die idee is dat as ons 'n hoë sein na die 'J' en 'K' insette van die FF stuur, die FF sy toestand sal verander tydens elke siklus van die ingangsklok. Dit is belangrik, want vir elke 2 wissel van die eerste FF word 'n wissel in die opeenvolgende FF geproduseer, ensovoorts tot die laaste een. Daarom produseer ons 'n binêre getal gelykstaande aan die aantal siklusse van die ingangskloksein.

Soos hierbo getoon, is my stroombaan aan die linkerkant wat die 4-bis-toonbank maak vir die plek van die 1. Daaronder het ek 'n Reset -kring geïmplementeer, dit is basies 'n AND -hek wat 'n hoë sein na die reset -pen van die flip -flops stuur as die uitset van die toonbank 'n 1010 of 'n 10 in desimaal is. Vandaar dat die uitset van die EN -hek 1 puls per 10 sekondes sein is wat ons sal gebruik as die ingangsklok vir ons teller se plek.

Stap 3: Alles saamvoeg

Deur dieselfde logika kan ons voortgaan om tellers te stapel om die minute en ure uit te maak. Ons kan selfs verder gaan en dae, weke en selfs jare tel. U kan dit op 'n broodbord skep, maar verkieslik sou u 'n RTC -module (real time clock) gebruik. Maar as u geïnspireerd voel, benodig u in wese:

19 JK-flip-flops (of 10 dubbele JK-IC's soos die SN74LS73AN)

  • 'n 1 Hz invoerbron (u kan 'n DS1307 -module gebruik, dit genereer 'n 1 Hz vierkante golf)
  • 6 Binêre tot 7-segment-dekodeerders (soos die 74LS47D)
  • 23 Omsetters, 7 3-ingang EN hekke, 10 2-ingang EN hekke, 3 4-ingang EN hekke, 5 OF hekke
  • Ses 7-segment heksskerms

Ek hoop dat u van hierdie instruksies geleer het hoe 'n digitale horlosie werk; stel asseblief enige vrae!

Aanbeveel: