[AVR]/Mega162007. 2. 11. 23:16

[ATmega16x EVM] 그래픽 LCD제어 예제

[Mega16 EVM]Glcd 테스트 예제

사용자 삽입 이미지

AVR Atmega16과 초소형 그래픽 LCD모듈을 이용한 테스트 예제를 작성해 보았다.

전체 예제는 하드웨어부분을 철저히 분리한 계층구조로 되어 있어 예파일을 mega163_evm폴더에 적당한 디렉토리(ex03_glcd)에풀고 mega16_glcd.asp프로젝트 파일을 열면 된다.

[Mega16 EVM]보드의 핀맵은 [00_hal]폴더의 glcd_hal1815.h파일에 정의 되어 있다.

glcd sed1815 관련 드라이버파일은 [01_drv/glcd_1815]폴더에 있다.

전체 드라이버소스 -> http://cafe.naver.com/elab/776 



GLCD테스트 화면


소스코드

//=============================================================================

// [Mega16 EVM] Test Program

//

// by http://nexp.tistory.com

//=============================================================================

/*

 - Glcd 1815 Test Program

*/

#include "..\00_hal\system.h"

#include "..\01_drv\glcd_1815\glcd.h"

#include "..\01_drv\glcd_1815\glcd_dsp5x7font.h"

void main(void)

{

        //Initialize CPU

        SystemInit();

        Led1Init();

        GlcdInit();

    GlcdSetAddress(0,0);

        GlcdPutStr("GLCD 1815 Test");   

    GlcdSetAddress(0,2);

        GlcdPutStr("Mega16 EVM Board");

   

    GlcdSetAddress(0,4);

        GlcdPutStr("cafe.naver.com/elab");

   

        while (1)

        {

                Led1Toggle();

                Delay(700);

        }

}


Posted by nexp
TAG atmega16, GLCD

댓글을 달아 주세요

[AVR]/Mega162007. 2. 10. 22:15

[ATmega16x EVM] LED제어 예제

[ATmega16x EVM] LED제어 예제

사용자 삽입 이미지


AVR의 개발환경은 GCC (AVR Studio 4)를 이용했고 최대한 간단하게 작성하려고 노력했다.

AVR Studio에서 프로젝트를 하나 생성하고 옵션을 아래와 같이 설정한다.


[Mega16 EVM]보드에는 2개의 LED가 PB3, PC7포트에 각각 연결되어 있고 디버깅용으로 테스트 해 볼 수 있다.



LED제어를 위한 드라이버는 속도를 위해 간단히 define문으로  /00_hal/폴더에 [board.h]에 저장되어 있다.

Led1Init()함수로 초기화 해 주고 Led1On(), Led1Off()로 간단히 제어할 수 있다.

/*
//-----------------------------------------------------------------------------
// LED Driver
#define LED1_BIT       BIT3
#define LED1_PORT   PORTB
#define Led1Init()       Sbi(DDRB, LED1_BIT)
#define Led1On()       Cbi(LED1_PORT, LED1_BIT)
#define Led1Off()       Sbi(LED1_PORT, LED1_BIT)
#define Led1Toggle()  Tbi(LED1_PORT, LED1_BIT)


#define LED2_BIT       BIT7
#define LED2_PORT   PORTC
#define Led2Init()       Sbi(DDRC, LED2_BIT)
#define Led2On()       Cbi(LED2_PORT, LED2_BIT)
#define Led2Off()       Sbi(LED2_PORT, LED2_BIT)
#define Led2Toggle()  Tbi(LED2_PORT, LED2_BIT)
//-----------------------------------------------------------------------------
*/



예제 소스코드 자체는 상당히 간단하다. 일정간격으로 LED를 점등하는 예제 이다.



//-----------------------------------------------------------------------------
// Main Routine
//-----------------------------------------------------------------------------
int main(void)
{
     SystemInit();


     Led1Init();
     Led2Init();

     Led2On();
     Led1Off();


     while(1)
     {
          Led1On();
          Led2Off();
          Delay(300);


          Led1Off();
          Led2On();
          Delay(300);
     }

}
//-----------------------------------------------------------------------------
























 









USB포트로 파워를 받고 LED점등 테스트 동영상

Posted by nexp
TAG atmega16

댓글을 달아 주세요

[AVR]/Mega162007. 2. 6. 21:13

[ATmega16x EVM] 관련 자료

[ATmega16x EVM] 관련 자료

사용자 삽입 이미지



Atmega16, Atmega163, Atmgea16x를 테스트 해 볼 수 있는 작은 테스트 보드를 제작했다.

특별한 목적에 의해 제작되어져 약간은 어색한 부분이 있는데.... 대부분의 포트가 빠져 있으므로 테스트 보드로 사용하여도 그리 큰 무리는 없을듯 하다.

그리고 USB2Serial(CP2101), 소형 128x64그래픽 LCD를 장착할 수 있어 여러가지 어플리케이션에 적용해 볼 수 있다.

기존 MSP430F157 EVM과 크기및 핀맵이 동일하며 교체 테스트가 가능하다.



어플리케이션 보드




회로도










Posted by nexp
TAG atmega16

댓글을 달아 주세요

[AVR]/Mega162007. 2. 4. 10:45

[ATmega16x EVM] 소형 모듈 보드 제작

[ATmega16x EVM] 소형 모듈 보드 제작

사용자 삽입 이미지


소형의 AtMega16x 모듈을 만들어 보았다.
프로그램을 USB to Seial 칩을 이용하여 다운로드 할수 있도록 하였다.
RS232컨버터도 있어 시리얼 통신 가능


128x64 그래픽 LCD모듈을 장착 할 수 있도록 구성

PWM(GPIO)확인 할 수 있는 LED

Posted by nexp
TAG atmega16

댓글을 달아 주세요

[INTERFACE]/USB2004. 7. 13. 12:16

[Mega16 EVM] Atmega16 + PDIUSB 개발 보드 제작

[Mega16 EVM] Atmega16 + PDIUSB 개발 보드 제작

사용자 삽입 이미지

8채널 초음파 센서 보드를 이용하여 ATmega16과 PDIUSBD12를 테스트 할 수 있는 보드로 제작 해보았다.


MCU는 ATmega16을 이용하였다.



간단한 예로 스위치로 입력 받은 값을 USB로 전송하는 예제작성 할 예정이다.







 





Posted by nexp

댓글을 달아 주세요