Prev: Intel chimes
Next: How to protect Sensitive Op-Amp circuit from huge over voltageswhile turned off?
From: JosephKK on 16 Jan 2010 00:52 On Thu, 14 Jan 2010 10:15:50 +0200, "Gerhard" <gvdberg(a)risccsir.co.za> wrote: >"John Larkin" <jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote in message >news:klsrk55bq84affa8n0frskn3hmucvkttnr(a)4ax.com... >> 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? >> >> One caution: it's tempting, when using discrete logic, to build >> klugey, asynchronous hairballs. That tends to be most efficient when >> wiring up 7400-series logic, but it doesn't scale. Do that some, but >> note that most "modern" logic is done in CPLDs and FPGAs and ASICs >> with zillions of fast gates and flops available, and is usually fully >> synchronous. I'd suggest you follow up this project with an identical >> function, but implemented fully synchronously in a small FPGA. Dev >> kits aren't expensive. >> >> There is a place for asynchronous hairball logic, so it's good to be >> comfortable with both. >> >> John > >I would second the above ideas and suggest that you also try to do a >clock that employ synchronous counters with a pre-load function >such as 74LS160, 74LS161 ....(there are counters with pre-load). >Please do not stop to live your dream of designing and building a TTL clock. > >I would suggest that you also try to design the clock using one of the >inexpensive CPLD or FPGA kits. >Having attained the skill to do that would serve you well in future. > >The Xilinx SK-CRIIL-G Coolrunnner Development Kit includes a >2X16 LCD display at a very reasonable cost. +-$50 >See >http://www.xilinx.com/products/boards/CR-II-SK/CR2-SK-SS.pdf >http://dkc3.digikey.com/PDF/T091/p0587.pdf 3rd in list of develoment kits. > >Gerhard van den Berg >Meraka CSIR > > That may be later in Bitrex' self learning course. Personally, i think 'e is on the right path for now. BTW thanks for the link, i think is may get one on those to have fun with.
From: Glenn Gundlach on 16 Jan 2010 04:34 On Jan 14, 9:26 pm, Andy <1...(a)2.3> wrote: > On Wed, 13 Jan 2010 07:08:27 -0500, Bitrex > > <bit...(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? > > Here are the schematics of a clock I built in the '70s:http://tinypic.com/r/1zb5f1i/6http://tinypic.com/r/2lm78xv/6 > The clock has been running for over 35 years. Put a PROM on the hours counter to transcode between 12 and 24 hour and let the counter run always 24 hr mode. If you want to learn logic you also need to know look up tables. My digital clock performs exactly those functions in a Freescale 68HC908JK8 processor. Assembly programming and logic design are very similar. G²
From: wicore on 16 Jan 2010 06:05 On 13 Jan, 13:08, Bitrex <bit...(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? If I understand you correct you want the following sequnce: 01 02 03 04 05 06 07 08 09 10 11 12 01 ... I would recommend to use two synchronous counters with a parallel load (eg 74x160/2). Decode the state '12' to generate PE (parallel load enable) and set the parallel load value to '01' - done. Note that PE must also be a synchronous input. /ww
From: krw on 16 Jan 2010 12:28 On Sat, 16 Jan 2010 03:05:11 -0800 (PST), wicore <williwie(a)hotmail.com> wrote: >On 13 Jan, 13:08, Bitrex <bit...(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? > >If I understand you correct you want the following sequnce: >01 02 03 04 05 06 07 08 09 10 11 12 01 ... >I would recommend to use two synchronous counters with a parallel load >(eg 74x160/2). >Decode the state '12' to generate PE (parallel load enable) and set >the parallel >load value to '01' - done. Note that PE must also be a synchronous >input. Or decode '13' if the PE is asynchronous. It's really ugly (introduces a race and a lot of glitches), but it'll usually work for a clock.
From: Bitrex on 16 Jan 2010 19:59
Andy wrote: > 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? > > Here are the schematics of a clock I built in the '70s: > http://tinypic.com/r/1zb5f1i/6 > http://tinypic.com/r/2lm78xv/6 > The clock has been running for over 35 years. I see what you did there. It looks like the SN74121 is used to give the counter an extra pulse so that when the clock is in 12 hour mode it rolls over to 1 instead of 0. That's the thing that was giving me headaches trying to figure out. I've decided to go with the synchronous counters as suggested by others in my design, which have parallel load so I can duck that issue... :) I like the time-set circuitry, I wonder if I can adapt that to a synchronous design. I imagine I will have to find a way to substitute the 1 Hz clock with a sped up clock so the changes will happen more quickly. |