1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include<avr/io.h> #include<util/delay.h> int main(){ char i; // 1) unsigned char LED_Data=0x00; // 2) DDRE = 0xFF; // 3) while(1){ PORTE = LED_Data; LED_Data++; for(i=0;i<100;i++) _delay_ms(10); //ms단위의 딜레이함수 } return 0; } | cs |
1) LED값을 저장하는 변수
2) E포트 모두를 출력으로 설정 (E포트와 LED를 연결해놓아야함)
3) 무한반복을 통해 PORTE에 LED_Data값을 넣고 LED_Data를 하나 증가시킨뒤 _delay_ms를 통해 딜레이를 준다.
_delay_ms의 매개변수는 35까지밖에 지원하지 않아 for문을 통해 딜레이를 늘리는 방법을 써야한다.
'프로그래밍 > ATMega128' 카테고리의 다른 글
(ATmega128) 타이머로 LED 켜기 (0) | 2016.07.10 |
---|---|
(ATMega128) PWM 사용하기 (0) | 2016.07.10 |
(ATMega128) 인터럽트를 이용한 LED동작 멈춤/재생 (0) | 2016.07.10 |
(ATMega128) FND값 올리기 (0) | 2016.07.10 |
(ATMega128) Switch 누른데로 LED켜기 (0) | 2016.07.10 |