AVR マイコン " ATMEGA88-20PU " を使った電子工作の2回目です。 前回作った8個の LED の回路はそのまま使ってプログラムだけを変更します。 今回は8個の LED が順送りで点灯する回路です。 |
// ATMEGA88-20PU 使用
// 8個のLEDを順送りで点灯させるプログラム
#include<avr/io.h>
#include<util/delay.h>
int main(void){
DDRD = 0b11111111; // ポートDを出力
PORTD = 0b00000000; // ポートD初期化
while(1){ // 無限ループ
PORTD = 0b00000001; //PD0点灯
_delay_ms(200); //200ms待機
PORTD = 0b00000010; //PD1点灯
_delay_ms(200); //200ms待機
PORTD = 0b00000100; //PD2点灯
_delay_ms(200); //200ms待機
PORTD = 0b00001000; //PD3点灯
_delay_ms(200); //200ms待機
PORTD = 0b00010000; //PD4点灯
_delay_ms(200); //200ms待機
PORTD = 0b00100000; //PD5点灯
_delay_ms(200); //200ms待機
PORTD = 0b01000000; //PD6点灯
_delay_ms(200); //200ms待機
PORTD = 0b10000000; //PD7点灯
_delay_ms(200); //200ms待機
PORTD = 0b01000000; //PD6点灯
_delay_ms(200); //200ms待機
PORTD = 0b00100000; //PD5点灯
_delay_ms(200); //200ms待機
PORTD = 0b00010000; //PD4点灯
_delay_ms(200); //200ms待機
PORTD = 0b00001000; //PD3点灯
_delay_ms(200); //200ms待機
PORTD = 0b00000100; //PD2点灯
_delay_ms(200); //200ms待機
PORTD = 0b00000010; //PD1点灯
_delay_ms(200); //200ms待機
}
return 0;
}
8個の LED が順送りで点灯する様子は動画でご覧ください
いわゆるナイトライダーという点灯スタイルですかね。
※コメント投稿者のブログIDはブログ作成者のみに通知されます