Lärande sekventiella logik Design för en Digital klocka (1 / 14 steg)
Steg 1: Logiken av klockan
Som sagt tidigare, är vår klocka en 12 timmars klocka. Så klockan vi vill ha är något som denna HH: MM: SS A/P. Nu SS kan också benämnas S1 S0 och detsamma gäller MM.
S0 räknar från 0 till 9 och S1 blir då 1 och S0 räknar igen. Våra sekunder räkna är från 0 - 59. Så har våra S1 counter att räkna endast från 0-5. S0 räknar 0-9. Således 0 - 59 kommer att erhållas. Nu när sekunder blir 60, är det en minut. Så varje gång SS når 60, M0 (minuter) bör öka med 1.
M1 och M0 i huvudsak räkna på samma sätt som sekunder. Så, en 1 andra puls till S0 gör det räknas från 0 - 9. S0 når 10, en puls (digital språkbruk - klocksignal) måste skapas för att göra S0 noll igen (digital språkbruk - reset) och S1 en och processen upprepas för att göra S1 två och så vidare. Således S1 S0 räknas från 0 - 59. Varje gång SS når 60 en puls måste skapas för att göra M0 en och SS 00. För varje 60 sekunder, kommer att SS gå till 59 och tillbaka till 0, medan MM ökas. MM räkna liknar SS men får MM sin klocka (utlöser puls) från SS.
Kom ihåg MM är också 0 - 59. Så lik hur när SS ökas MM när det vände 0 efter 59 (det inte blir 60), MM också bör bli 00 öka HH med 1. HH är ett 1-12 counter. Så när HH blir 12, ändras A (AM) till P (PM) och vice versa. Så låt oss säga tiden är från början 11:59: 59 A. Nästa sekund kommer det att bli, 12:00:00 P. Dagen går och tiden är nu 11:59:59 s. Nästa sekund kommer det att bli 12:00:00 A. Detta upprepas för så länge som går klockan.
Detta är logiken i kretsen. Så, vi måste utforma en 0-9 counter för S0 & M0, 0-5 mot för S1 & M1 och 1-12 räknaren för HH. A / P inte behöver en räknare, det behöver bara att växla mellan dessa två stater.
Larmet är gjort med en magnitud komparator. En 8-pin dip switch används för att ange 8 databitar. Obs HH (1-12) är 4 bitar och M1 (0 - 5) är 3 bitar. A / P är 1 bit. Så om ABCDEFGH 8 stift från vänster till höger, ABCD är angiven för timmar, EFG är i minuter och H är för A / P (M).
För att ställa in ett alarm för 06.30, man behöver ange det binära värdet av 6 i ABCD kan (0110), 3 i EFG (011) och 1 (A) i H. Observera våra larm bara anges för 6:30 eller 6:40 inte något värde i mellan. Jag tror jag kan anta alla som har tillräckliga tekniska kunskaper att bygga klockan kommer att kunna ange den binära motsvarigheten till decimaler som visas ovan.
När klockan data är lika med 8 pin dip-switch data, blir den motsvarigheten A = B sanning värderar logic hög, som används för att utlösa ett larm med en annan flip-flop. Återställning av flip-flop gör det möjligt att tysta larmet. Jag antar att det är så långt som logiken i kretsen går till. Från och med nu det är design och genomförande.