AVR을 이용한 C-LCD출력(GDM2004D-NSW-FBW).

.

(http://devicemart.co.kr/goods/view.php?seq=1089561#detail)

한 줄에 최대 20개 문자 표현.


clcd.zip

먼저 코드는 위와 같다. URL을 클릭하여 CLCD 제품을 보면, 분명히 소스코드 공개라고 되어있는데 그렇게 쓸만한 소스를 공개한게 아니고 정말 기초적인 것만 공개했다.

먼저 사용할 핀은 아래 사진과 같다.


위에건 백라이트를 위한 블록다이어그램.







기존의 코드를 내가 주로 쓰는 코드에 맞게 변경하기 위해,

위 URL에 공개된 소스코드의 함수를 아래와 같이 변경했다.

void Control ->             LCD_cmd_write ()

void LCD_init->            void CLCD_init(void)

void Data  ->               void LCD_data_write(char *data)

void LCD_string ->       void LCD_printf(char d_line, char * msg,...)


기본적으로 PORTD 하나만을 가지고 제어하기 때문에 좀 더 간결한 배선으로 이용할 수 있다.


소스코드의 함수를 clcd.c에 변경된 함수에 적용시키면 된다. 직접 참조.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <string.h>
#include "board.h"
#include "clcd.h"
#include <util/delay.h>
 
int main(void)
{
    unsigned char i;
    
//=====CLCD PORT init====//
    DDRD=0xff;                //1. CLCD PORT 제어를 먼저 해주고
    PORTD=0xff;
//========initial========//
 
    CLCD_init();            //2. CLCD initialize를 해준다.
    LCD_printf(LINE1, "Hello1abcdefghijklmnop");
    LCD_printf(LINE2, "Hello2");
    LCD_printf(LINE3, "Hello3");
    LCD_printf(LINE4, "Hello4");
    
    
    while(1)
    {
    
    }
}











설정

트랙백

댓글