このブログは@knight@のロボット・電子工作方面の活動を書いてるサイトです。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
というわけで
「左右に伸びたLED8個に対しスイッチ信号で右から左へ流れながら積んでいく」
プログラムを考える
使う割り込みはタイマ0、INTピン割り込み
LEDはPORTD(0~7)に接続されているものとする
付属のスイッチはRB0に接続されておりスイッチが通電することでRB0へは電流は流れない
主なプログラム実行手順は以下の通り
1、初期設定
2、スイッチ待機(無限ループ)、実行で3へ
3、発光、2へ戻る
3の詳細は以下の通り
①、PORTD、Xビット発光
ただし、0ビット目がすでに発光している場合はPORTDをゼロクリアする
②、待機
③、Xビット消灯、X(=X+1)ビットを点灯
ただし、すでに点灯している場合は↑を実行せずに処理を(終了)する
④、待機
⑤、③へ戻る
(終了)、このプログラムの実行条件をクリアして無限ループへ
と言った感じです
さらに特殊(点灯処理中にさらに点灯処理を実行)な処理は高度なものになりますがこの場合でしたらこれで十分だと思います
またこの処理実行中は割り込みではなく通常の処理で実行します
とまあこんな感じです
プログラムは来週の月曜までには完成させる予定ですが大須のロボ・ベースの大会もあるので時間が掛かると思います
「左右に伸びたLED8個に対しスイッチ信号で右から左へ流れながら積んでいく」
プログラムを考える
使う割り込みはタイマ0、INTピン割り込み
LEDはPORTD(0~7)に接続されているものとする
付属のスイッチはRB0に接続されておりスイッチが通電することでRB0へは電流は流れない
主なプログラム実行手順は以下の通り
1、初期設定
2、スイッチ待機(無限ループ)、実行で3へ
3、発光、2へ戻る
3の詳細は以下の通り
①、PORTD、Xビット発光
ただし、0ビット目がすでに発光している場合はPORTDをゼロクリアする
②、待機
③、Xビット消灯、X(=X+1)ビットを点灯
ただし、すでに点灯している場合は↑を実行せずに処理を(終了)する
④、待機
⑤、③へ戻る
(終了)、このプログラムの実行条件をクリアして無限ループへ
と言った感じです
さらに特殊(点灯処理中にさらに点灯処理を実行)な処理は高度なものになりますがこの場合でしたらこれで十分だと思います
またこの処理実行中は割り込みではなく通常の処理で実行します
とまあこんな感じです
プログラムは来週の月曜までには完成させる予定ですが大須のロボ・ベースの大会もあるので時間が掛かると思います
PR
この記事にコメントする