임베디드/avr study

AVR-STUDY 2일차 (LED ON/OFF )

박재완 2019. 12. 8. 17:40
728x90
반응형

2019-12-08

ATMEL STUDIO7 설치 이후 이제 디버깅을 해보자

이전에 F7을 눌러주거나 빌드를 이용해서 .HEX .ELF 파일이 생성된것을 확인 하였다.

ATMEGA328P에 이를 올려주기 위한 파일 준비는 모두 완료 되었다.

이제 간단하게 회로를 구성하고 LED에 대해서 간단하게 살펴보고 나서 업로드를 해보자

우선 LED에대한 설명이 필요하다 LED는 극성이 있는 부품으로 이 극성을 볼줄 알아야 한다.

일반적으로 LED 다리가 긴쪽이 +(Anode)이다. 라는 말이 있지만 생각보다 이것만 알고 있다가 다리 니퍼로 자르고 난다음에 이를 구분을 못해서 진땀뺸적이 있는데 그럴때는 간단하게 led의 머리를 보면 작은 쇠판이 보인다. 여기서 큰 녀석이 -(cathode) 작은 녀석이 +(anode) 이다. (생각보다 이 led에서는 유용하다)

그리고 anode cathode라는 단어도 외워 두면 좋은것이 fnd 녀석 때문이다. 이 세븐 세그먼트 fnd는 크게 2가지 종류로 나오는데, 이 2가지 의 경우가 common-anode, common-cathode 라는 타입이다.

이 타입에 따라 vcc gnd 배선이 바뀔뿐만 아니라 코드의 내용까지 바뀌게 된다. (여기서는 anode타입을 가지고 해볼 예정이다.)

 

우선 led 배선도 이다.

배선도는 어제자에서 적은 코드를 기준으로 제작했다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define F_CPU 16000000L
#include <avr/io.h>
#include <util/delay.h>
 
 
int main(void)
{
    while(1){
        DDRB = 0X20;
        
        PORTB = 0X20;
        _delay_ms(100);
        PORTB = 0X00;
        _delay_ms(100);
    }
    
}

 

이제 배선과 극성 모두 잘 연결 되었다면

업로드를 진행하면 된다.

arduino 와 atmel studio에서 연결 하려면 도구가 필요한데

isp라는 도구가 필요하다.

avrisp

 

디바이스 마트에서 약 3만원 정도에 팔고 있다. g-camp에서 대여해줘서 다행이다....(거지라.. 살돈이 없다)

해당 도구를  아래 사진과 같이 연결 해주면 된다

합체!

 

Tools - Device Programming 을 선택

 

해당 창이 나오면 Apply ,Read 를 눌러서 avrisp가 제대로 연결 되었는지 확인할 수 있다.

정상적으로 작동되었다면 이렇게 화면에 정보가 표시될것이다.

 

따로 건든것은 없으며 바로 Memories로 넘어가서 Falsh 탭에서 폴더를 열어보자

우리는 여기서 hex 파일만 사용한다.

모든 준비가 되었고 Program 버튼을 눌러주면 정상적으로 선택한 hex 파일을 chip에 업로드 해줄 것이다.

 

위의 코드를 사용하였다면 led가 점멸하는 것을 볼 수 있다.

 

이제 항상 업로드 할때마다 저 과정을 진행하기가 귀찮다면 해당 버튼을 눌러주자

그렇다면 해당 화면이 나오고 위에서 했던것과 같게 설정을 해주면 연결한 동안은 F7 -> F5 이 두개 키를 누르는 순서로 바로 바로 업로드가 가능하다.

 

다음에는 DDR , PORT 등의 설명과 FND를 가지고 여러 포트를 제어해보는것을 해보자

728x90
반응형