'AVRStudio'에 해당되는 글 4건

  1. 2019.01.21 AtmelStudio7 (AVRStudio7) 프로그램 다운로딩
  2. 2013.05.30 OUTPUT 실험, WAT-AVR128
  3. 2013.04.08 WAT-LED
  4. 2011.10.01 AVRStudio 4.17로 컴파일 환경 구축


AtmelStudio7 (AVRStudio7) 프로그램 다운로딩

앞에서 AtmelStudio7을 이용하여 컴파일 하는 방법을 포스팅 하였습니다. 이제 AVR 보드에 프로그램을 다운로딩하는 방법을 알아보겠습니다.
(요즘은 보드에 프로그램 넣는 것을 ‘업로딩’이라고도 합니다.)

 

프로그래밍 설정

[Tools] => [Device Programming]를 실행합니다.

[WAT-ISP29] AVR ISP 가 연결된 포트를 선택합니다.

 

Device 를 선택합니다.

 

[Apply]를 클릭하면 더 자세한 설정창이 표시됩니다.

 

설정은 보드 환경에 맞게 해주시고, 잘 모르면 Close로 닫아도 됩니다.

 

[Start Without Debugging]으로 다운로드 후 실행을 합니다.

 

PORTB에 연결된 LED 가 약 1초 간격으로 ON/OFF 를 반복합니다.

 

아래와 같이 ‘ISP on STK500’ 상태에서 프로그래밍 다운로딩이 가능합니다.
만약 ‘Simulator’ 상태라면 클릭하여 변경할 수 있습니다.

 

이 예제는 아래의 코드를 사용하였습니다.

 

AVR ISP 자료들

AVR Studio4
AVR Studio7

 

 

AVR ISP 프로그램 케이블 제품구매

WAT-AVR ISP (10핀 플랫케이블) 는 http://kit128.com/goods/view?no=10 에서
WAT-AVR ISP (6핀 케이블) 는 http://kit128.com/goods/view?no=4 에서

WAT-ISP79 AVR ISP(표준10핀) 케이스 포함은 http://kit128.com/goods/view?no=79 에서
WAT-ISP79 AVR ISP(표준10핀) (케이스 미포함)은 http://kit128.com/goods/view?no=113 에서

[WAT-ISP29] USB AVR ISP 프로그램 케이블 (표준10핀)는 http://kit128.com/goods/view?no=29 에서 구매하실수 있습니다.

 


Posted by WhiteAT

댓글을 달아 주세요

 

준비

 

- 프로그램 설치: http://whiteat.com/260

(WinAVR, AVRStudio 가 설치되어 있어야 ATMEGA128에 프로그램을 할 수 있습니다.)

 

- 프로그램 라이팅 방법: 다운로드

(직접 작성한 프로그램을 ATMEGA128 에 라이팅 하는 방법입니다.)

 

- ATMEGA128 초급 키트 (http://kit128.com/goods/view.php?seq=57 )

 

 

 

 

 

 

LED 회전 ON/OFF

 

PORTE에 연결된 8개의 LED 가 ON/OFF 하면서 시계방향으로 회전하는 예제입니다.

이 예제는 EX_01_01과 동일합니다. (http://whiteat.com/57204 참조)

 

/*

EX_01_01.c

 

PORTE에연결된LED 순차적으로ON 하기

 

AVRStudio 4.18

2012-01-08

 

홈페이지: http://whiteat.com

MCU자료실: http://avr128.com

쇼핑몰: http://kit128.com

 

*/

 

#include <avr/io.h>

 

// 일정시간딜레이(약1초)

void Delay()

{

    register unsigned long i;

    for(i = 0; i < 300000; i++)

    {

        asm volatile(" PUSH R0 ");

        asm volatile(" POP R0 ");

        asm volatile(" PUSH R0 ");

        asm volatile(" POP R0 ");

        asm volatile(" PUSH R0 ");

        asm volatile(" POP R0 ");

        asm volatile(" PUSH R0 ");

        asm volatile(" POP R0 ");

        asm volatile(" PUSH R0 ");

        asm volatile(" POP R0 ");    

    }

}

 

int main()

{

    DDRE = 0xFF; // ALL OUTPUT

    PORTE = 0xFE;    // PORTE.0 LED ON

 

    while(1)

    {

        Delay();

 

        if(PORTE == 0x7F)    // 마지막LED 가ON 되었다면.

        {

            // 처음LED ON 되게

            PORTE = 0xFE;    // PORTE.0 LED ON

        }

        else                // 그렇지않다면

        {

            PORTE <<= 1;    // 한칸이동(PORTE = PORTE<<1; 와동일)

            PORTE |= 1;     // 마지막LED 는OFF (PORTE = PORTE | 0x01; 와동일)

        }

    }

}

 

 

 

 


 

 

 

 

 

 

 

 

 

LED 반복 ON/OFF

 

PORTA에 연결된 8개의 LED 를 교대로 ON/OFF 하는 예제입니다.

 

#include <avr/io.h>

 

// 일정시간딜레이(약초)

void Delay()

{

    register unsigned long i;

    for(i = 0; i < 300000; i++)

    {

        asm volatile(" PUSH R0 ");

        asm volatile(" POP R0 ");

        asm volatile(" PUSH R0 ");

        asm volatile(" POP R0 ");

        asm volatile(" PUSH R0 ");

        asm volatile(" POP R0 ");

        asm volatile(" PUSH R0 ");

        asm volatile(" POP R0 ");

        asm volatile(" PUSH R0 ");

     asm volatile(" POP R0 ");    

    }

}

 

int main()

{

    DDRA = 0xFF;

    PORTA = 0x55; // 0, 2, 4, 6 bit LED OFF

 

 

    while(1)

    {

        PORTA = 0x55; // 0, 2, 4, 6 bit LED OFF

         Delay();

 

        PORTA = 0xAA; // 1, 3, 5, 7 bit LED OFF

        Delay();

 

    }

}

 

 

 

 

 

 




 

ATMEGA128 로 LED 를 ON/OFF 하는 예제를 다루어 보았습니다.

 

감사합니다.

 

'AVR 예제' 카테고리의 다른 글

OUTPUT 실험, WAT-AVR128  (0) 2013.05.30
Posted by WhiteAT

댓글을 달아 주세요

WAT-LED

전자 키트 2013. 4. 8. 16:15
 


WAT-AVR128 모듈과 연결하여 LED ON/OFF 실험을 할수 있는 모듈입니다.

 

 

 



 

 

LED 를 타원 형태로 배치하여 LED 회전(정방향, 역방향), 이동 등의 다양한 실험을 할 수 있습니다.

 

 

 

 

/*

  EX_01_01.c

 

  PORTE에연결된LED 무한히 회전하기

 

  Main Clock : 11.0592Mhz 

 

  AVRStudio  4.18

  2012-01-08

 

  홈페이지:  http://whiteat.com

  쇼핑몰:    http://kit128.com

 

*/

 

#include <avr/io.h>

 

// 일정시간딜레이

void Delay()

{

         register unsigned long i;

         for(i = 0; i < 300000; i++)

         {

                  asm volatile(" PUSH  R0 ");

                  asm volatile(" POP   R0 ");

                  asm volatile(" PUSH  R0 ");

                  asm volatile(" POP   R0 ");

                  asm volatile(" PUSH  R0 ");

                  asm volatile(" POP   R0 ");

                 asm volatile(" PUSH  R0 ");

                 asm volatile(" POP   R0 ");

                 asm volatile(" PUSH  R0 ");

    asm volatile(" POP   R0 ");     

         }

}

 

int main()

{

         DDRE = 0xFF; // ALL OUTPUT

         PORTE = 0xFE;         // PORTE.0    LED ON

 

         while(1)

         {

                  Delay();

 

                  if(PORTE == 0x7F)    // 마지막LED ON 되었다면.

                  {

                           // 처음LED ON 되게

                           PORTE = 0xFE;         // PORTA.0    LED ON

                  }

                  else                               // 그렇지않다면

                  {

                           PORTE <<= 1;         // 한칸이동한후

                           PORTE |= 1;            // 마지막LED OFF 되게

                  }

         }

}

 

 


Posted by WhiteAT

댓글을 달아 주세요

 

 

ATMEGA128 컨트롤러의 컴파일툴은 AVRStudio, Codevision, IAR 등이 있습니다. 이러한 컴파일툴의 대부분 유료이며 잘 알려진 무료 컴파일툴은 AVR Studio입니다. Codevision 은 유료이나 코드위저드가 있어 초기에 코드 생성할 때 편리합니다. IAR 은 주로 업체에서 사용되는 컴파일툴입니다.

 

 

소스 컴파일툴

 

 

AVRStudio 와 WinAVR 로 컴파일 할 수 있습니다. AVRStudio 는 코딩하는데 편리한 환경을 제공하고 WinAVR 은 컴파일러를 제공합니다.

 

 

프로그램 다운로드

http://www.atmel.com 에 가입 후 AVRStudio 프로그램을 다운받을 수 있습니다.

http://winavr.sourceforge.net/ 에서 가입 없이 WinAVR을 다운받을 수 있습니다.

 

 

 

프로그램 설치

먼저 WinAVR을 설치한 후 AVRStudio를 설치합니다.

 

AVRStudio 는 컴파일을 쉽게 도와주는 툴을 제공하고

WinAVR 은 여러 헤더파일과 라이브러리와 컴파일러(AVR-gcc)를 제공합니다.

 

 

 

 

 

 

먼저 새로운 프로젝트를 생성한다.

 

 

 

 

 

 

다음으로 프로젝트명을 결정 한다

 

 

 

 

 

 

 

 

Finish를 눌러 종료하면, 이제 소스를 편집할 수 있는 창이 열린다.

이제 코딩하면 된다.

 

 

 

 

 

 

간단하게 소스를 편집하고,

#include <avr/io.h>

 

int main(){

DDRB = 0xFF; // output

PORTB = 0xFF; // LED ON

return 0;

 

}

 

 

 

 

 

 

Build and Run 를 실행하여 test1.hex 파일이 생성되었는지 확인합니다.

라이팅 하는 방법은 http://whiteat.com/56165 에 있습니다.

 

출처: http://whiteat.com/260 

 

 

 

Posted by WhiteAT

댓글을 달아 주세요