*키트는 Atmega128A를 사용하였습니다*
X-MAS 트리 만들기 2번째 입니다.
전의 코드와 다른점은 점멸할 때 PORTA에 들어있는 값에 따라 delay를 다르게 해줍니다.
#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>
#include <stdlib.h>
#include <time.h>
void del(int sec){
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)
{
/* Replace with your application code */
DDRA = 0xff;
srand(time(NULL));
while (1)
{
PORTA = rand(); //PORTA에 랜덤한 값 넣기(0~255)
//_delay_ms(1000);
//del(rand()%3+1);
if(PORTA < 86){ //조건문 if PORTA가 86 보다 작다면
_delay_ms(500); //딜레이 0.5초
}
else if(PORTA < 170){ //PORTA가 85보다 크고 170보다 작다면
_delay_ms(1000); //딜레이 1초
}
else
_delay_ms(1500); //둘다 아니라면 1.5초 딜레이
}
return 0;
}
'AVR 기초 > LED 제어하기' 카테고리의 다른 글
[AVR 기초] 스위치를 눌렀을때 LED 점등하기 (0) | 2020.07.12 |
---|---|
[AVR 기초] LED로 1~255 표현하기 (0) | 2020.07.12 |
[AVR 기초]LED로 X-MAS 트리 만들기 (0) | 2020.07.12 |
[AVR 기초]LED를 다양하게 켜보기 (0) | 2020.07.12 |
[AVR 기초]delay 헤더파일 간단히 만들어보기 (0) | 2020.07.12 |