본문 바로가기

AVR 기초/LED 제어하기

[AVR 기초]LED로 X-MAS 트리 만들기

*키트는 Atmega128A를 사용하였습니다*

 

#include <avr/io.h>								//avr 사용
#include <util/delay.h>							//util 안에있는 delay 헤더파일 사용
#include <stdlib.h>								//srand와 rand 함수 사용을 위해 stdlib 선언 
#include <time.h>								//time 함수 > 시간값을 받기 위해서 time 헤더파일 선언

void del(int sec){								//del 함수(딜레이)
	volatile int j,k,l;
	for(j = 0; j< sec ; j++){
		for(k = 0; k< 1000 ; k++){
			for (l = 0; l<500;l++){
			}
		}
	}
}
int main(void)									//main 함수
{
	DDRA = 0xff;								//포트 A를 8개 전부 사용
	srand(time(NULL));							//인자값으로 NULL을 넘기면 현재까지 흐른 초 수를 리턴 -> rand의 값이 계속 초기화됨
	while (1)									//무한반복
	{
		PORTA = rand()%256;						//PORTA에 0~255까지의 수를 랜덤으로 넣음
		del(rand()%3);							//del 함수를 이용한 딜레이(sec값에 0~3까지의 수를 랜덤으로 넣음)
	}
	return 0;									//종료시 0 리턴
}