Atmega48マイクロコントローラーのアラーム付きのカチカチ時計

説明



この目覚まし時計はリアルタイムクロックチップに基づいており、プライマリクロックチップがない場合でもバックアップ電源から動作できます。 設定されたアラーム時間と動作モードは、マイクロコントローラーの不揮発性メモリーに保存されます。 表示モードは24時間です。 時間と動作モードの表示は、LEDインジケータによって実行されます。



動作原理



この時計の基盤はDS1307チップです。これは、I2Cインターフェースを介して制御コントローラーと情報を交換するリアルタイムクロックです。 時間の表示は、ダイナミックモードで動作する4つの7セグメントインジケーターによって実行されます。 時間の入力と調整は、「+分」、「+時間」、「設定」、「アラーム」、「リセット」の5つのボタンで実行されます。 目覚まし時計の音声信号は、標準のピエゾエミッターを介して出力され、1 kHzの周波数で2番目の休止がある信号です。



Atmega48が制御用マイクロコントローラーとして選択された理由は、その可用性と、ボード上の必要な周辺機器の可用性(豊富であっても)のためです。 DS1307リアルタイムクロックは、制御マイクロコントローラのI2Cハードウェア出力に接続されています。 DS1307をスタンドアロンモードで動作させるには(メインコントローラーの電源障害が発生した場合)、3Vリチウムバックアップバッテリーを使用します。これは、チップの低消費電力により数年間持続します。



制御プログラムをより詳細に検討してください。



このプログラムは、フラグタイマーマシンの原理で動作します。すべての状態とイベントは、対応するタイマー1s、1ms、および263.17msの割り込みで実行される対応するフラグの形式で表示されます。 プログラムは2つのハードウェアタイマーを使用します。



クロックマイクロ回路がポーリングされ、ボタンが263.17msの間隔で押されます。 1msの間隔は、通話の音声信号を生成するのに役立ち、1sはそれを変調するのに役立ちます。 2番目の間隔は、インジケーターの2番目のカテゴリーのポイントの点滅も制御します。これは、時間と分を分離し、「目盛り」の形成としても機能します。

時計の回路図を考えてみましょう。



画像



指定および名称:

S4-時間を増やす

S3-分を増やす

S2-インストール

S1-アラームをオンにします

S5-リセット



R6-R10-10k

R1-R5-510ohm



電源電圧-5ボルト。



セットアップと使用



正しく組み立てられた時計は、追加の調整を必要としません。 現在の時刻とアラームを設定するだけです。

現在の時刻の設定は次のとおりです。

1)S1とS2を使用して現在の時刻を設定します(数字の間の点は点滅しません)

2)S3ボタンで時計を起動します

アラームの設定:

1)S3を押して、1番目のカテゴリのドットが点灯することを確認します

2)ボタンS1およびS2で呼び出し時間を設定します

3)S4ボタンで通話をオンにする

追加機能:

ティックをオンにします-S4を押しながら、特徴的な音が現れるまでS2を押します。 同じ方法でオフになります。

分と秒の表示-S4を押しながらS1を押します。 その後S3を押すと、00で秒がリセットされます。リターン-同じ組み合わせ。



付録: ソースコード(アセンブラー内)+ atmega48マイクロコントローラーの16進数+ Proteusのモデル



写真とビデオの時間



時計は、機能しない「電子機器」の下からケースに組み立てられています。



画像画像






All Articles