初歩の電子工作とデジカメの日記

電子工作備忘録とデジカメで撮影した写真のブログです。

AVRマイコン電子工作(2) 8led pass it on

2014-05-25 11:15:35 | AVR
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 が順送りで点灯する様子は動画でご覧ください
いわゆるナイトライダーという点灯スタイルですかね。




AVRマイコン電子工作(2) 8led pass it on