練習プログラム6

「練習プログラム6」の編集履歴(バックアップ)一覧はこちら

練習プログラム6」(2011/05/19 (木) 16:25:27) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

今回はLEDが徐々に点灯する関数です。 これは人間と機械のギャップが少しわかるプログラムだと、 個人的には思ったりします。 ***参考プログラム⑥LEDが徐々に点灯する関数 #include <3694.h> // H8 Tinyの内部I/O定義をする(ヘッダーファイルの取り込み) /*===================================================*/ /*       サブ関数 */ /*===================================================*/ /*------ ウェイト関数(無駄ループバージョン)---- */ void wait(long loop){ //無駄ループさせて時間をかせぐ関数 while(loop--); } /*---------LEDが徐々に点灯する関数--------------*/ void LED_slow(){ int i; for(i=1;i<1400;i++){ IO.PDR8.BYTE=0x00; wait(100+i); IO.PDR8.BYTE=0xff; wait(1500-i); } } /*===================================================*/ /*       メイン関数 */ /*===================================================*/ int main(void){ //メイン関数(名前の通り、ココの中身通りにプログラムが動く。) IO.PCR8 = 0xff; //ポート8を全て出力に設定(IOの設定 0なら入力 1なら出力) while(1){ //無限ループ. LED_slow(); wait(20000); } return 0; } ***余談 この課題のみそは「LEDが徐々に点灯する関数」 におけるwaitだと思われます。 LEDはIO.PDR8.BYTE=~~~によって点灯しますが、 waitを入れるとその間は、LEDは点滅しません。 でもwaitをいれている時間というのは、 人間にとってはとてもとても短いものなので、 LEDが「消えている」とはっきり認識することはできません。 そして、人間は「すこし暗く点灯している」と感じます。 課題プログラム⑥『LEDを徐々に明→暗→明→暗を繰り返して点滅させよ』
今回はLEDが徐々に点灯する関数です。 これは人間と機械のギャップが少しわかるプログラムだと、 個人的には思ったりします。 ***参考プログラム⑥LEDが徐々に点灯する関数 #include <3694.h> // H8 Tinyの内部I/O定義をする(ヘッダーファイルの取り込み) /*===================================================*/ /*       サブ関数 */ /*===================================================*/ /*------ ウェイト関数(無駄ループバージョン)---- */ void wait(long loop){ //無駄ループさせて時間をかせぐ関数 while(loop--); } /*---------LEDが徐々に点灯する関数--------------*/ void LED_slow(){ int i; for(i=1;i<1400;i++){ IO.PDR5.BYTE=0x00; wait(100+i); IO.PDR5.BYTE=0xff; wait(1500-i); } } /*===================================================*/ /*       メイン関数 */ /*===================================================*/ int main(void){ //メイン関数(名前の通り、ココの中身通りにプログラムが動く。) IO.PCR5 = 0xff; //ポート5を全て出力に設定(IOの設定 0なら入力 1なら出力) while(1){ //無限ループ. LED_slow(); wait(20000); } return 0; } ***余談 この課題のみそは「LEDが徐々に点灯する関数」 におけるwaitだと思われます。 LEDはIO.PDR5.BYTE=~~~によって点灯しますが、 waitを入れるとその間は、LEDは点滅しません。 でもwaitをいれている時間というのは、 人間にとってはとてもとても短いものなので、 LEDが「消えている」とはっきり認識することはできません。 そして、人間は「すこし暗く点灯している」と感じます。 課題プログラム⑥『LEDを徐々に明→暗→明→暗を繰り返して点滅させよ』

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。