so I have been tasked with making a counter that counts from 0-9 continuously and pauses when the input is 0. Of course this has to be done with T flip flops, but for the life of me I cannot figure out how to do it. We had no previous lectures or homework that can help us with this, and they expect us to do it somehow. Can someone help me please?
1 Answer
You need four T flip flops. Also, provide clock input to all of them. (synchronous type) Now,say we have got 4 outputs say Q1(LSB) ,Q2,Q3 and Q4.
Provide inputs to each flipflop as follows,
T1 =1 ,T2 =Q1 ,T3 =Q2.Q1 and T4 = Q3.Q2.Q1
This will actually work as MOD-16 ( counts 0 TO 15 ) counter.
To make is a MOD-10 counter,
When the output is 1010 (count 10) you need to reset the counters,
SO take outputs Q4 and Q2 connect it to to a NAND gate so that when both are high ,the counters are reset to zero.
-
\$\begingroup\$ Note that this may not work reliably, depending on the propagation delay of the reset gate and the behavior of the flip-flops when reset. \$\endgroup\$ Commented Nov 30, 2015 at 16:04
-
\$\begingroup\$ How come you use a nand gate? Would an AND gate work for this? \$\endgroup\$– SamCommented Nov 30, 2015 at 16:34
-
\$\begingroup\$ Also is this the correct way to do it? mshieh.com/Hardware/Tutorials/Modulo_Counter_SC/Images/… \$\endgroup\$– SamCommented Nov 30, 2015 at 17:09