アセンブラを勉強しよう
■ このスレッドは過去ログ倉庫に格納されています
0466デフォルトの名無しさん
2008/11/13(木) 03:51:44TIMER1を減算、0になったらまた100を入れる。(MAINの初期化時に100にしておくべき)
0になったときが「1秒ごと」だから、その時に
秒を加算、59を越えたら、0に戻し、
分を加算、59を越えたら、0に戻し、
時を加算、23を越えたら、0に戻す(日付までやるとえらいことになるぞ。)
時分秒を(表示器があれば)表示器に表示。
(これは割り込み中にやらずに、メインループに対しフラグで通知して、メインループで
表示してもらう手法が一般的だ。こういう情報(割り込みからメインループに伝える情報)
が「イベント」という概念で教えられているものだ。
時刻そのものではなく、「表示が必要だよ」という情報ね。
割り込み処理では時刻を変更する、メインではそれを読みとるのみで変更はしない。)
音が鳴っている状態であれば、音用のポートのON/OFFを切り換える
(これで、警報音の断続が制御できる)
段付け毎にcのif文=ASMならCPI 、JCかJZかJNZで分岐が必要なのは判るよね。
時分秒は00:00:00〜23:59:59だから、SW入力は8bitのDIPSWか何かが3器つながる必要がある。
その辺は455の環境に合わせてI/Oの番地を書いてね。
プログラムの基本構成はこれで伝わったとおもう。全部書いてあげるのじゃカンニングみたいだし、
そろそろ朝飯食って出勤なので、ここまでにしたい。
■ このスレッドは過去ログ倉庫に格納されています