Prev: Intel chimes
Next: How to protect Sensitive Op-Amp circuit from huge over voltageswhile turned off?
From: Bitrex on 13 Jan 2010 07:08 I'm playing around with some 7400 series logic, trying to teach myself the basics of digital design. I've been able to come up with a working circuit for a 24 hour digital clock easily, but I'm struggling trying to think of a way to make a 12 hour clock. Specifically my problem is the reset of the hours counter - when the tens digit of the hours section is 0 I need the units counter to count from 1 to 9 and roll over to 0 (for example 09 pm to 10 pm) but when the tens digit of the hours counter is a 1 I need the units counter to start counting at 1 (for example 12 pm - 1 am). I'm using 74LS93 series plain binary counters and assorted logic, and after working on it for a long while I can't think of a way to get it to work without using something like a presetable counter. Anyone have any ideas?
From: Raveninghorde on 13 Jan 2010 07:25 On Wed, 13 Jan 2010 07:08:27 -0500, Bitrex <bitrex(a)de.lete.earthlink.net> wrote: >I'm playing around with some 7400 series logic, trying to teach myself >the basics of digital design. I've been able to come up with a working >circuit for a 24 hour digital clock easily, but I'm struggling trying to >think of a way to make a 12 hour clock. Specifically my problem is the >reset of the hours counter - when the tens digit of the hours section is > 0 I need the units counter to count from 1 to 9 and roll over to 0 >(for example 09 pm to 10 pm) but when the tens digit of the hours >counter is a 1 I need the units counter to start counting at 1 (for >example 12 pm - 1 am). I'm using 74LS93 series plain binary counters >and assorted logic, and after working on it for a long while I can't >think of a way to get it to work without using something like a >presetable counter. Anyone have any ideas? What are you doing with the outputs from the LS93? Presumably you are decoding these with other gates to drive a display? If so I would decode a count of 0 as 1, 1 as 2 etc. Then when the LS93 hits 12 decode that to reset the counter so it runs 0 to 11.
From: Sylvia Else on 13 Jan 2010 07:28 Bitrex wrote: > I'm playing around with some 7400 series logic, trying to teach myself > the basics of digital design. I've been able to come up with a working > circuit for a 24 hour digital clock easily, but I'm struggling trying to > think of a way to make a 12 hour clock. Specifically my problem is the > reset of the hours counter - when the tens digit of the hours section is > 0 I need the units counter to count from 1 to 9 and roll over to 0 (for > example 09 pm to 10 pm) but when the tens digit of the hours counter is > a 1 I need the units counter to start counting at 1 (for example 12 pm - > 1 am). I'm using 74LS93 series plain binary counters and assorted > logic, and after working on it for a long while I can't think of a way > to get it to work without using something like a presetable counter. > Anyone have any ideas? Treat the sequence as 00 01 02 03 04 05 06 07 08 19 10 11 Increment left digit when right digit becomes 9. Clear both when both = becomes 12. Left digits are decoded as is. Right digits are decoded such that 0 is displayed as 1, 1 as 2,... 9 as 0. So the above sequence is displayed as 01 02 03 04 05 06 07 08 09 10 11 12 Sylvia
From: Bitrex on 13 Jan 2010 08:29 Sylvia Else wrote: > Bitrex wrote: >> I'm playing around with some 7400 series logic, trying to teach myself >> the basics of digital design. I've been able to come up with a >> working circuit for a 24 hour digital clock easily, but I'm struggling >> trying to think of a way to make a 12 hour clock. Specifically my >> problem is the reset of the hours counter - when the tens digit of the >> hours section is 0 I need the units counter to count from 1 to 9 and >> roll over to 0 (for example 09 pm to 10 pm) but when the tens digit of >> the hours counter is a 1 I need the units counter to start counting at >> 1 (for example 12 pm - 1 am). I'm using 74LS93 series plain binary >> counters and assorted logic, and after working on it for a long while >> I can't think of a way to get it to work without using something like >> a presetable counter. Anyone have any ideas? > > Treat the sequence as > > 00 01 02 03 04 05 06 07 08 19 10 11 > > Increment left digit when right digit becomes 9. Clear both when both = > becomes 12. > > Left digits are decoded as is. > > Right digits are decoded such that 0 is displayed as 1, 1 as 2,... 9 as 0. > > So the above sequence is displayed as > > 01 02 03 04 05 06 07 08 09 10 11 12 > > Sylvia > > Thanks for your reply. I forgot to mention that I was hoping to use BCD to 7 segment decoders for the output, and I think it's going to be hard to shift the output of the counter like that so the appropriate digits are applied to the input of the decoder. I guess I can decode the shifted outputs individually but it'll take a lot of logic.
From: Raveninghorde on 13 Jan 2010 09:07 On Wed, 13 Jan 2010 08:29:07 -0500, Bitrex <bitrex(a)de.lete.earthlink.net> wrote: >Sylvia Else wrote: >> Bitrex wrote: >>> I'm playing around with some 7400 series logic, trying to teach myself >>> the basics of digital design. I've been able to come up with a >>> working circuit for a 24 hour digital clock easily, but I'm struggling >>> trying to think of a way to make a 12 hour clock. Specifically my >>> problem is the reset of the hours counter - when the tens digit of the >>> hours section is 0 I need the units counter to count from 1 to 9 and >>> roll over to 0 (for example 09 pm to 10 pm) but when the tens digit of >>> the hours counter is a 1 I need the units counter to start counting at >>> 1 (for example 12 pm - 1 am). I'm using 74LS93 series plain binary >>> counters and assorted logic, and after working on it for a long while >>> I can't think of a way to get it to work without using something like >>> a presetable counter. Anyone have any ideas? >> >> Treat the sequence as >> >> 00 01 02 03 04 05 06 07 08 19 10 11 >> >> Increment left digit when right digit becomes 9. Clear both when both = >> becomes 12. >> >> Left digits are decoded as is. >> >> Right digits are decoded such that 0 is displayed as 1, 1 as 2,... 9 as 0. >> >> So the above sequence is displayed as >> >> 01 02 03 04 05 06 07 08 09 10 11 12 >> >> Sylvia >> >> > >Thanks for your reply. I forgot to mention that I was hoping to use BCD >to 7 segment decoders for the output, and I think it's going to be hard >to shift the output of the counter like that so the appropriate digits >are applied to the input of the decoder. I guess I can decode the >shifted outputs individually but it'll take a lot of logic. If you want to keep the LS93 rather than change counter then when the count gets to 13 you need to reset the counters and then provide an extra count pulse to the input of the counters to get the start count as 01. So decode the 13 state use this to reset the counters. Also feed the pulse through a capacitor to differentiate it with a resistor to ground to discharge the cap. Feed this into a gate along with the existing clock signal so that either can clock the LS93. Make sure it is the edge that is caused by 13 goint back to zero that is differentiated, you may need an extra inverter. That's the principle.
|
Next
|
Last
Pages: 1 2 3 4 5 6 7 Prev: Intel chimes Next: How to protect Sensitive Op-Amp circuit from huge over voltageswhile turned off? |