본문 바로가기
AVR

[AVR] LED 실습 1. LED 출력 포트 설정하고 다 켜놓기

by hseoy 2020. 6. 3.
반응형

[LED 실습 1. LED 출력 포트 설정하고 다 켜놓기 ]

이 글에서는 AVR(Atmega128A)에서 LED제어하는 것을 실습한 내용을 다루려고 한다. 이 글은 지식을 나누고자 하는 목적이 아닌 개인 기록의 목적으로 작성했다는 점을 기억하기를 바란다.

# 실습 1. LED 출력 포트 설정하고 다 켜놓기

이 문제에서 알아야 할 것은 AVR  포트를 출력으로 설정하는 것과 포트의 출력값을 변경하는 것이다. 이것을 위해서는 각각 DDRn 레지스터와 PORTn 레지스터를 다뤄야 한다.(여기서 n은 포트 A,B,C,D ...를 의미한다. 포트의 m핀을 입력으로 설정하고자 한다면 DDRn레지스터의 m번째 비트를 0으로, 출력으로 설정하고 싶다면 DDRn레지스터의 m번째 비트를 1로 설정하면 된다. 포트의 m핀의 값을 LOW로 설정하고 싶다면 PORTn레지스터의 m번째 비트를 0으로, HIGH로 설정하고 싶다면 PORTn레지스터의 m번째 비트를 1로 설정하면 된다.

내가 작성한 회로는 아래와 같다. 

포트C의 0에서 7까지의 핀에 220옴의 저항과 함께 LED를 각각 연결했다. LED의 anode 단에 포트를 연결하고 cathod단에 GND를 연결함으로써 PC0~PC7까지의 값이 0이면 LED가 꺼지고 1이면 LED가 켜지도록 회로를 구성했다.

아래는 내가 작성한 코드이다.

#include <avr/io.h>

int main(void)
{
    DDRC = 0xFF;
    PORTC = 0xFF;
	
    while (1) 
    {
    }
}

아래는 위 코드를 AVR에 업로드하여 실행한 영상이다.

 

반응형

댓글