アプリ版:「スタンプのみでお礼する」機能のリリースについて

デジタル時計(60秒たつと0に戻り1秒から60秒までの繰り返し)のしくみはクロック入力とカウンタ-の数をどうからめていくのですか。クロック周波数は1Hzで1ビットでカウンタが60ですか。秒の一桁はクロック入力の1~9までQA出力で1~9カウントさせ9の次に0に戻しまた1~9をカウントするのですか。クロック入力とQA出力は写真の通りパルスはいっしょですか。秒の二桁はクロック入力10でQB出力が1カウント クロック入力20で2カウント写真のとおりで、クロック入力30で3カウント、クロック入力60で0にもどるのですか。

「デジタル時計」の質問画像

A 回答 (4件)

ディジタル時計、普通は出来合いの時計LSIを使いますが、あなたの質問からは、ご自分でロジックを組んで作ってみたいという意図とお見受けしましたので、そのつもりで話します。


ここではまず最下位の秒のカウンタについてです。

この回路は、60と言う数をカウントして、その間の表示用の情報と、桁上がりの信号を出します。
桁上がりの信号とは、60秒目になった時に出す信号です。
60秒目になるとは、59秒から0秒に戻る瞬間に出す信号です。

このような機能の実現する回路はいくつかの作り方があります。

代表的なのは、秒が二けたになるので、それぞれの桁にカウンタを設ける方法と、6ビットのカウンタだと最高63まで数えられるので、それを59までのカウンタに使うという方法です。

どちらの考え方も間違いではありませんし、それぞれに利点欠点はありますから、どちらがいいかはその利点欠点をあなたが評価し、あなたの目的に対して良いと思う方を選ぶことになります。

ここでは、回路が簡単になる6ビットのカウンタを使った場合を考えてみます。

この方式では、カウンタが59となった時、0に戻すという操作をします。

カウンタをゼロに戻す操作には『同期式』と『非同期式』と言う方法があります。

同期式の場合、次のクロックが来たときにゼロになります。
一方、非同期式だと、カウンタが59となった時、一旦は(一瞬は)59となりますが、その直後にゼロになります。
なので、この場合は次のクロックが来るとカウンタは1だけ進んで1となってしまい、ゼロの時間が無くなります。
そこで、60を検知したらゼロにするという策がとられます。
しかし、これだと、ありえない60と言う瞬間が発生してしまいます。
そういったことと回路の安定性などを考え、普通は『同期式』を使います。
    • good
    • 1

デジタル時計でも時刻を12:34:56のように7セグメントの数字で表示するものと、時分秒を3本の針で表示するものがありますが、どちらを言っているのでしょうかね?



掲げられた図からは7セグメント表示を指しているんでしょうかね。それならクロックを秒、分、時にカウンターで分周しています。
でも、秒は60進ですが、表示は上記のように56秒とする必要があり、いちばん下のケタは0から9まで数える10進ですし、下から2ケタめは0から5までの6進になります。分も同じですよね。

さらに言えば、表示を01:02:03のようにゼロを表示するか、こういうゼロは消すか、そのあたりも回路的な工夫がいります。

図は10進の分周回路です。
    • good
    • 0

出力が合いさえすればロジックはどうでも良いので決まった手法はありません。


一般的には32767Hzのクロックを分周して1Hzを作って秒のカウンタをインクリメントして60と比較して60ならばカウンタをリセットして分のカウンタをインクリメントします。
    • good
    • 0

なんか分かり難い非エンジニア的な文章なので私の意見を書きます、59の次のパルス入力でリセットする。

以上
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!