MEGA128_ CLCD (Color TFT-LCD 24 메뉴얼 ) CPUPLAZA wwwcpuplazacom
제품소개 MEGA128_CLCD 는 TEXT-LCD, Graphic-LCD( 흑백 ), Color TFT-LCD 를연결하여테스트할수있으며, 압전식터치컨틀롤러 (TSC2003) 가내장되어있어 LCD 모델에상관없이터치를별도헤더핀으로지원합니다 제품특징 - 전원 : 외부 DC 50V - TEXT LCD : 16*2 / 16*4 / 20*4 지원 -I/O 방식제어 - Graphic-LCD( 흑백 ) : 128*64 지원 -I/O 방식제어 - Color(64K) TFT-LCD 지원 : 320*240 지원 - 80-System 16Bit I/O 방식제어 - 압전식터치지원 TSC2003 Controller - Atmega128 CPU 모든 I/O 1열헤더지원 - RS232 2PORT 포트별도지원 - 완성형한글지원 ( 완성형 -> 조합형코드변환사용 ) - TEXT-LCD/Graphic-LCD/ Color TFT-LCD 라이브러리 ( 소스제공 ) * Color TFT-LCD 라이브러리함수 Clrscr( ) / Cleardevice( ) // 화면소거 Gotoxy( ) / Gotoxyt( ) // 커저좌표지정 Setcolor( ) / Setbkcolor( ) // 컬러지정 ScreenSet( ); // 화면 Windows 지정 Putch( ) / Putchxy( ) / Putchxyt( ) // 한문자표시 Puts( ) / Putsxy( ) / Putsxyt( ) // 문자열표시 Line( ) / Rectangle( ) / Rectanglefill( ) // 라인및박스그림 Circle( ) / Ellipse( ) // 원, 타원지원 Putpixelb( ) / PutImage( ) / Putpixel( ) // 픽셀및이미지지원 CLCD_GRAM_dread( ) // 픽셀정보취득 Han_Conv( ) // 완성형조합형변환 RGB_Disp( ) // RGB 패턴표시
제품사양 1 제품구성및명칭 MEGA128_CLCD CPU I/O PORT(1*32 254mm) CN1/CN2 LCD 모듈 하이퍼터미널 (19200,N,8,1) RS-232 COM1 RS-232 CN5 COM2 RS-232 CN6 Atmega128 (16M/5V) I/O PORT 33V Driver I/O PORT TFT-LCD 헤더 -29P (2mm) DC33V Graphic- LCD 헤더 -20P (254mm) DC5V J3 J2 DC5V DC5V-->3 >33V3V (500mA) I2C Touch Controller TSC2003 TEXT-LCD 헤더-16P (254mm) DC5V J1 Contrast TEXT-LCD Graphic-LCD CPU PORT Reset S/W JTAG ISP DC-5V Color TFT-LCD+Touch Graphic-LCD TEXT-LCD COM2(RS232) COM1(RS232) EXT-Touch CPU PORT Conv_Touch_A Conv_Touch_B GRAP-LCD 나 TEXT-LCD 에서 Touch 사용시
2 커넥터기능및사양 PCN1 : DC 전원입력 CN3 : ISP CN4 : JTAG J4 : 확장 Touch NUM NAME NUM NAME NUM NAME NUM NAME 1 DC5V 1 MISO(TXD) 1 TCK 1 X+ 2 GND 2 VCC 2 GND 2 X- 3 SCK 3 TDO 3 Y+ 4 MOSI(RXD) 4 VCC 4 Y- 5 RST 5 TMS 6 GND 6 RST 7 VCC 8 NC 9 TDI 10 GND J1 : TEXT-LCD NUM NAME PORT 1 GND GND 2 VCC +5V 3 VO 가변저항 4 RS PE5 5 R/W\ PG0 6 E PE4 7-14 DB0- PA0-PA7 DB7 15 LEDA +43V 16 LEDK GND J2 : Graphic-LCD NUM NAME PORT 1 GND GND 2 VCC +5V 3 VO 가변저항 4 RS PE5 5 R/W\ PG0 6 E PE4 7-14 DB0- PA0-PA7 DB7 15 CS1 PC0 16 CS2 PC1 17 RST\ PE6 18 VEE 19 LEDA +43 20 LEDK GND J3 : Color TFT-LCD(80-System) NUM NAME PORT 1 VLCD 33V 2 VLCD 33V 3 GND GND 4 GND GND 5 RST\ PE6 6 CS\ PG2 7 RS PE5 8 RD\ PG1 9 WR\ PG0 10-17 DB0- DB7 18-25 DB8- DB15 PA0-PA7 PC0-PC7 26 X+ Touch X+ 27 X- Touch X- 28 Y+ Touch Y+ 29 Y- Touch Y-
CN1 : CPU PORT CN2 : CPU PORT CN5 : COM1-RS232 CN6 : COM2-RS232 NUM NAME NUM NAME NUM NAME NUM NAME 1 RST\ 1 VCC(+5V) 1 GND 1 GND 2 PD0 3 PD1 2 VCC(+5V) 3 33V 2 ERXD0 3 ETXD0 2 ERXD1 3 ETXD1 4 PD2 4 33V 5 PD3 5 GND 6 PD4 6 GND 7 PD5 7 GND 8 PD6 8 GND 9 PD7 9 PF0 10 PB0 10 PF1 11 PB1 11 PF2 12 PB2 12 PF3 13 PB3 13 PF4 14 PB4 14 PF5 15 PB5 15 PF6 16 PB6 16 PF7 17 PB7 17 PA0 18 PE0 18 PA1 19 PE1 19 PA2 20 PE2 20 PA3 21 PE3 21 PA4 22 PE4 22 PA5 23 PE5 23 PA6 24 PE6 24 PA7 25 PE7 25 PC0 26 PG0 26 PC1 27 PG1 27 PC2 28 PG2 28 PC3 29 PG3 29 PC4 30 PG4 30 PC5 31 PEN\ 31 PC6 32 GND 32 PC7
3 LCD 설명 1 TFT-LCD 는화면의표시방법 ( 가로 / 세로방향 ) 을 Driver IC 의설정에따라변경할수있습니다 또한화면의모드에따라 Touch Data 취득방법도변경되어야합니다 - Screen_Set( ) : 그래픽지원라이브러리함수지원 -TFT-LCD x(320) 0,0 픽셀표시방향 TFT-LCD y(240) -Touch 0,0 x y Touch (12Bit A/D) 0,0 S/W 로변환 x Touch (12Bit A/D) y R16H : MV = 1 MX = 0 MY = 1 320,240 4095,4095 4095,4095 0,0 x(240) 픽셀표시방향 x 0,0 0,0 x TFT-LCD y(320) y Touch (12Bit A/D) S/W 로변환 Touch (12Bit A/D) y R16H : MV = 1 MX = 1 MY = 1 240,320 4095,4095 4095,4095 2 TFT-LCD 화면에데이터를표시할때 Driver IC 에 Windows 를설정하고설정된영역에설정한갯수만큼픽셀데이터 (16Bit RGB) 를전송하면됩니다 - TFT-LCD(10,10,20,30) 설정시 0,0 10,10 20,30 x(320) y(240) 320,240 R2 : Column Start Register 상위 R3 : Column Start Register 하위 R4 : Column End Register 상위 R5 : Column End Register 하위 R6 : Row Start Register 상위 R7 : Row Start Register 하위 R8 : Row End Register 상위 R9 : Row End Register 하위 표시할영역설정 (200Pixel 데이터표시 ) R2 : 0 R3 : 10 R4 : 0 R5 : 20 R6 : 0 R7 : 10 R8 : 0 R9 : 30 Driver IC 설정후 200Pixel 데이터를표시하면설정된영역에데이터가표시됨 3 TFT-LCD 화면에표시되는데이터픽셀의색상의아래와같습니다 D15 D11 D5 D0
4 LCD 문자표시 1 TFT-LCD 화면에영문자 A 를문자색적색바탕색흰색으로표현할경우예제입니다 영문 영문폰트테이블폰트이미지로드 (8*16 bit ) 화면에폰트이미지에색상을추가하여표시 문자색 / 바탕색 A 41H NUM DATA 0 00H 1 00H 2 00H 3 10H 4 28H 5 44H 6 82H 7 82H 8 feh 9 82H 10 82H 11 82H 00H 00H 00H 10H 28H 44H 82H 82H feh 82H 82H 82H 00H 00H 00h 00h D7 D0 폰트이미지 16Byte 12 00H R R R R R G G G G G G B B B B B 문자색 : RED(f800H) 13 00H R R R R R G G G G G G B B B B B 문자색 : WHITE(ffffH) 14 00H 15 00H
2 TFT-LCD 화면에한글 나 를문자색적색바탕색흰색으로표현할경우예제입니다 완성형한글 완성형-> 조합형컨버전후폰트화면에폰트이미지에테이블에서이미지색상을추가하여표시로드 (16*16 bit) 문자색 / 바탕색 완성형 나 B3AAH 조합형 나 9061H NUM DATA NUM DATA 0 00H 16 40H 1 00H 17 08H 2 00H 18 40H 3 08H 19 08H 4 40H 20 40H 5 08H 21 08H 6 40H 22 7fH 7 08H 23 08H 8 40H 24 00H 9 08H 25 08H 10 40H 26 00H D7 D0 D7 폰트이미지 32Byte 00H 00H 00H 08H 40H 08H 40H 08H 40H 08H 40H 08H 40H 0eH 40H 08H 40H 08H 40H 08H 40H 08H 7fH 08H 00H 08H 00H 08H 00H 00H 00H 00H D0 11 08H 27 08H 12 40H 28 00H 13 0eH 29 00H 14 40H 30 00H 문자색 : RED(f800H) R R R R R G G G G G G B B B B B 문자색 : WHITE(ffffH) R R R R R G G G G G G B B B B B 15 08H 31 00H
S/W 사양 1 프로그램구성 \TFT_240_320 TESTC CPUSETUPINC TFTLCDINC TOUCHINC 1 TESTC : 메인프로그램통신 (19200,N8,1) 으로 LCD 테스트프로그램관리 2 CPUSETUPINC : 인터럽트관리및 CPU 초기화루틴 3 TFTLCDINC : TFT-LCD 관리및그래픽라이브러리소스 3 TOUCHINC : TOUCH 라이브러리소스 * 완성형코드지원시 * 조합형코드지원시 완성형한글코드작성 완성형한글작성 문자표시라이브러리완성형 -> 조합형컨버전 화면표시 PC 의윈도우에서해당소스를조합형으로변환 문자표시라이브러리조합형한글표시 ** Windows Program ** HanConvexe 산 (DOS 용 ) * 소스코드명이달라야함 ( 당사제품 ) 화면표시
2 TFT-LCD 라이브러리구성 Clrscr( )/Cleardevice( ) 화면소거 Gotosy( )/Gotoxyt( ) 커저위치관리 Setcolor( )/Setbkcolor( ) 색상관리 Putchxy( ) 그래픽좌표에한문자출력 Putchxyt( ) 텍스트좌표에한문자출력 Putsxy( )/Putsxy_f( ) 그래픽좌표에한문자출력 Putsyt( )/Putsxyt_f( ) 텍스트좌표에한문자출력 Retangle( ) 박스를그림 Retanglefill( ) 채워진박스를그림 Linel( ) 선을그림 Circlel( ) 원을그림 Ellipse( ) 타원을그림 Putch( )/Putch_f 한문자출력 ( 영문 ) Puts( )/Puts_f 문자열 ( 한 / 영 ) 출력 Putpixel( ) 점을찍음 Putpixelb( ) 바이트단위표시 PutImage( ) 폰트이미지표시 CLCD_Command_Data( ) CLCD_Command( Command( ) CLCD_Cdata( Cdata( ) I/O PORT CLCD_Dread( Dread( ) Setscreen( ) 화면관리 (windows) Color LCD Driver(80 System 16Bit BUS) Touch Signal TSC2003(I2C) (Touch-Controller) I2C TSC2003_Write( ) I2C TSC2003_Word_Read( ) PENIRQ Touch_Data( ) 화면표시방법에따라좌표변환
3 PC 통신프로그램 1 하이퍼터미널을시작함니다 2 하이퍼터미널에서통신포트를설정함니다 3 하이터미널이실행되면보드를 Reset 후메뉴에따라키를눌러테스트합니다
LCD 라이브러리 (tftlcdinc) Clrscr LCD 화면을모두지움 함수 : void Clrscr(void) 인수 : 없음 반환 : 없음 설명 : 현재화면을모두지운다 #include cpusetupinc #include cude tftlcdinc ttcd c // TFT-LCD TEST Code Clrscr(); // TFT-LCD 화면소거 * 실행결과 (LCD 화면 )
Cleardevice LCD 화면을모두지움 함수 : void Cleardevice(void) 인수 : 없음 반환 : 없음 설명 : 현재화면을모두지운다 #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Cleardevice(); // TFT-LCD 화면소거 * 실행결과 (LCD 화면 )
Gotoxy 그래픽모드형태로커저좌표를지정 함수 : void Gotoxy(int x,int y) 인수 : int x // 커저의 x( 가로 ) 좌표 (0 319) int y // 커저의 y( 세로 ) 좌표 (0 239) 반환 : 없음 변수 : int _screen_curx // X좌표저장 int _screen_cury // y좌표저장 설명 : 그래픽모드형태로커저위치지정 문자를표현하는함수에서사용 * 320 * 240 그래픽 TFT-LCD 일때 x = 320-1 y = 240 1 관련함수 : Putch,Puts,Puts_f,Setcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Gotoxy(1,2); // TFT-LCD 커저위치지정
Gotoxyt 텍스트모드형태로커저좌표를지정 함수 : void Gotoxyt(int x,int y) 인수 : int x // 커저의 x( 가로 ) 좌표 (1 40) int y // 커저의 y( 세로 ) 좌표 (1 15) 반환 : 없음 변수 : int _screen_curx // X좌표저장변수 int _screen_cury // y좌표저장변수 설명 : 텍스트모드형태로커저위치지정 문자를표현하는함수에서사용 * 320 * 240 그래픽 TFT-LCD 일때 x : 320 / 8 = 40 y : 240 / 16 = 15 관련함수 : Putch,Puts,Puts_f,Setcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Gotoxyt(1,2); // TFT-LCD 커저위치지정
Setcolor 문자색을지정한다 함수 : void Setcolor(unsigned color) 인수 : unsigned color // 표시할문자색 _BLACK // 검정 _RED // 적색 _BLUE // 파랑 _GREEN // 녹색 _MAGENTA // 자주색 ( 붉은 ) _GRAY // 회색 _CYAN // 청녹색 _YELLOW // 노랑 * 사용자가지정후사용가능 반환 : 없음 설명 : TFT-LCD에표시되는문자색을지정한다 변수 : unsigned _screen_color // 컬러값저장변수관련함수 : Putch,Puchxy,Puchxyt,Puts,Putsxy,Putsxyt,Puts_f,Putsxy_f,Putsxyt_f Line,Rectangle,Retanglefill,Cicle,Ellipse #include cpusetupinc inc #include tftlcdinc // TFT-LCD TEST Code Setcolor(_WHITE); Putch( 1 ); // 흰색지정 // 화면에 1 표시 * 실행결과 (LCD 화면 ) 1
Setbcolor 바탕색을지정한다 함수 : void Setbcolor(unsigned color) 인수 : unsigned color // 표시할바탕색 _BLACK // 검정 _RED // 적색 _BLUE // 파랑 _GREEN // 녹색 _MAGENTA // 자주색 ( 붉은 ) _GRAY // 회색 _CYAN // 청녹색 _YELLOW // 노랑 * 사용자가지정후사용가능 반환 : 없음 설명 : TFT-LCD에표시되는바탕색을지정한다 변수 : unsigned _screen_bcolor // 바탕색저장변수관련함수 : Putch,Puchxy,Puchxyt,Puts,Putsxy,Putsxyt,Puts_f,Putsxy_f,Putsxyt_f Line,Rectangle,Retanglefill,Cicle,Ellipse #include cpusetupinc inc #include tftlcdinc // TFT-LCD TEST Code Setbcolor(_BLUE); Putch( 1 ); // 파랑색지정 // 화면에 1 표시 * 실행결과 (LCD 화면 ) 1
Setscreen 화면표시방법및 Window 를설정한다 함수 : void Setscreen(int mode,int x1,int y1,int x2,int y2) 인수 : int mode // 화면표시방법설정 _SCREEN_COLUMN_SET // 가로화면모드설정 (320 * 240) _SCREEN_ROW_SET // 세로화면모드설정 (240 * 320) int x1 // 시작점의 x좌표 : 가로면표시시 (0-319) / 세로면표시시 (0-239) int y1 // 시작점의 y좌표 : 가로면표시시 (0-239) / 세로면표시시 (0-319) int x2 // 끝점의 x좌표 : 가로면표시시 (0-319) / 세로면표시시 (0-239) int y2 // 끝점의 y 좌표 : 가로면표시시 (0-319) / 세로면표시시 (0-319) 설명 : TFT-LCD 화면모드및화면에표시될영역을설정한다 변수 : int _screen_mode // 화면설정모드값 int _screen_xmax // x축최대설정값 (x2) int _screen_ymax // y축최대설정값 (y2) 관련함수 : 전체그렉픽관련함수 #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code // _SCREEN_COLUMN_X 319,_SCREEN_COLUMN_Y 239 // _SCREEN_ROW_X 239,_SCREEN_ROW_Y 319 // 아래소스둘중하나만코딩 // 가로화면최대모드 (0,0,319,239) ScreenSet(_SCREEN_COLUMN_SET,0,0,_SCREEN_COLUMN_X,_SCREEN_COLUMN_Y); // 세로화면최대모드 (0,0,239,319) ScreenSet(_SCREEN_ROW_SET,0,0,_SCREEN_ROW_X,_SCREEN_ROW_Y) * 실행결과 (LCD 화면 ) 0,0 0,0 ` 319,239 239,319 가로화면최대표시 세로화면최대표시
Putch 현재커저위치에문자를표시한다 함수 : void Putch(unsigned c) 인수 : unsigned c 반환 : 없음 // 표시할문자 설명 : 현재커저위치에문자를표시한다 ( 한글코드제외 ) 관련함수 : Puchxy,Puchxyt,Setcolor,Setbcolor C기본헤더선언 #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Putch( 2 ); // 화면에 2 표시 * 실행결과 (LCD 화면 ) 2
Putchxy 지정한그래픽좌표에문자를표시한다 함수 : void Putchxy(int x, int y,unsigned c) 인수 : int x // 커저의 x( 가로 ) 좌표 (0 319 / 0-239) int y // 커저의 y( 세로 ) 좌표 (0 239 / 0-319) unsigned c // 표시할문자반환 : 없음 설명 : 지정한그래픽좌표에문자를표시한다 ( 한글코드제외 ) 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 관련함수 : Setcolor,Setbcolor,Gotoxy,Gotoxyt #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Putchxy(1,10, 2 ); // 화면의 1(x),10(y) 위치에 2 표시 * 실행결과 (LCD 화면 ) 2
Putchxyt 지정한텍스트좌표에문자를표시한다 함수 : void Putchxyt(int x, int y,unsigned c) 인수 : int x // 커저의 x( 가로 ) 좌표 (1 40 / 1-15) int y // 커저의 y( 세로 ) 좌표 (1 15 / 1 40) int unsigned c // 표시할문자반환 : 없음 설명 : 지정한텍스트좌표에문자를표시한다 ( 한글코드제외 ) 가로화면모드시 : 320 * 240 픽셀 - x : 320 / 8 = 40, y : 240 / 16 = 15 세로화면모드시 : 240 * 320 픽셀 - x : 320 / 8 = 40, y : 240 / 16 = 15 관련함수 : Setcolor,Setbcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Putchxyt(2,1, 2 ); // 화면의 2(x),1(y) 위치에 2 표시 * 실행결과 (LCD 화면 ) 2
Puts 현재커저위치에문자열을표시한다 함수 : void Puts(const char *str) 인수 : const char *str 반환 : 없음 // 표시할문자열 설명 : 현재커저위치에문자열을표시한다 ( 완성형한글코드포함 ) 관련함수 :,Putsxy,Putsxyt,Setcolor,Setbcolor,Gotoxy,Gotoxyt C기본헤더선언 #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Puts( 한글 TEST ); // 화면에한글 TEST 표시 * 실행결과 (LCD 화면 ) 한글 TEST
Putsxy 지정한그래픽좌표에문자열을표시한다 함수 : void Putsxy(int x, int y,const char *str) 인수 : int x // 커저의 x( 가로 ) 좌표 (0 319 / 0-239) int y // 커저의 y( 세로 ) 좌표 (0 239 / 0-319) const char *str // 표시할문자열반환 : 없음 설명 : 지정한그래픽좌표에문자열을표시한다 ( 완성형한글코드포함 ) 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 관련함수 : Setcolor,Setbcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Putsxy(1,10, 한글 TEST ); // 화면의 1(x),10(y) 위치에한글 TEST 표시 * 실행결과 (LCD 화면 ) 한글 TEST
Putsxyt 지정한텍스트좌표에문자열을표시한다 함수 : void Putsxyt(int x, int y,const char *str) 인수 : int x // 커저의 x( 가로 ) 좌표 (1 40 / 1-15) int y // 커저의 y( 세로 ) 좌표 (1 15 / 1 40) const char *str // 표시할문자반환 : 없음 설명 : 지정한텍스트좌표에문자열을표시한다 ( 완성형한글코드포함 ) 가로화면모드시 : 320 * 240 픽셀 - x : 320 / 8 = 40, y : 240 / 16 = 15 세로화면모드시 : 240 * 320 픽셀 - x : 320 / 8 = 40, y : 240 / 16 = 15 관련함수 : Setcolor,Setbcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Putsxyt(2,1, 한글 TEST ); // 화면의 2(x),1(y) 위치에한글 TEST 표시 * 실행결과 (LCD 화면 ) 한글 TEST
Puts_f 현재커저위치에문자열 (FLASH) 을표시한다 - CVAVR 용 함수 : void Puts_f(const char flash *str) 인수 : const char flash *str 반환 : 없음 // 표시할문자열 설명 : 현재커저위치에문자열 (FLASH MEMORY 데이터 ) 을표시한다 ( 완성형한글코드포함 ) 관련함수 :,Putsxy_f,Putsxyt_f,Setcolor,Setbcolor,Gotoxy,Gotoxyt C기본헤더선언 #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Puts_f( 한글 TEST ); // 화면에한글 TEST 표시 * 실행결과 (LCD 화면 ) 한글 TEST
Putsxy_f 지정한그래픽좌표에문자열 (FLASH) 을표시한다 - CVAVR 용 함수 : void Putsxy_f(int x, int y,const char flash *str) 인수 : int x // 커저의 x( 가로 ) 좌표 (0 319 / 0-239) int y // 커저의 y( 세로 ) 좌표 (0 239 / 0-319) const char flash *str // 표시할문자열반환 : 없음 설명 : 지정한그래픽좌표에문자열 (FLASH MEMORY 데이터 ) 을표시한다 ( 완성형한글코드포함 ) 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 관련함수 : Setcolor,Setbcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Putsxy_f(1,10, 한글 TEST ); // 화면의 1(x),10(y) 위치에한글 TEST 표시 * 실행결과 (LCD 화면 ) 한글 TEST
Putsxyt_f 지정한텍스트좌표에문자열 (FLASH) 을표시한다 - CVAVR 용 함수 : void Putsxyt_f(int x, int y,const char flash *str) 인수 : int x // 커저의 x( 가로 ) 좌표 (1 40 / 1-15) int y // 커저의 y( 세로 ) 좌표 (1 15 / 1 40) const char *str // 표시할문자반환 : 없음 설명 : 지정한텍스트좌표에문자열 (FLASH MEMORY 데이터 ) 을표시한다 ( 완성형한글코드포함 ) 가로화면모드시 : 320 * 240 픽셀 - x : 320 / 8 = 40, y : 240 / 16 = 15 세로화면모드시 : 240 * 320 픽셀 - x : 320 / 8 = 40, y : 240 / 16 = 15 관련함수 : Setcolor,Setbcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Putsxyt_f(2,1, 한글 TEST ); // 화면의 2(x),1(y) 위치에한글 TEST 표시 * 실행결과 (LCD 화면 ) 한글 TEST
Line 지정한좌표에선을그림 함수 : void Line(int x1, int y1,int x2,int y2) 인수 : int x1 // 시작점 x( 가로 ) 좌표 (0 319 / 0-239) int y1 // 시작점 y( 세로 ) 좌표 (0 239 / 0-319) int x2 // 끝점 x( 가로 ) 좌표 (0 319 / 0-239) int y2 // 끝점 y( 세로 ) 좌표 (0 239 / 0-319) 반환 : 없음 설명 : 지정한좌표에선을그림 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 관련함수 : Setcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Line(0,0,127,0); // 선을그림 * 실행결과 (LCD 화면 )
Retangle 지정한좌표에박스를그림 함수 : void Retangle(int x1, int y1, int x2, int y2) 인수 : int x1 // 시작점 x( 가로 ) 좌표 (0 319 / 0-239) int y1 // 시작점 y( 세로 ) 좌표 (0 239 / 0-319) int x2 // 끝점 x( 가로 ) 좌표 (0 319 / 0-239) int y2 // 끝점 y( 세로 ) 좌표 (0 239 / 0-319) 반환 : 없음 설명 : 지정한좌표에박스를그림 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 관련함수 : Line,Setcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Retangle(10,10,100,50); // 박스를그림 * 실행결과 (LCD 화면 )
Retanglefill 지정한좌표에채워진박스를그림 함수 : void Retangle(int x1, int y1, int x2, int y2) 인수 : int x1 // 시작점 x( 가로 ) 좌표 (0 319 / 0-239) int y1 // 시작점 y( 세로 ) 좌표 (0 239 / 0-319) int x2 // 끝점 x( 가로 ) 좌표 (0 319 / 0-239) int y2 // 끝점 y( 세로 ) 좌표 (0 239 / 0-319) 반환 : 없음 설명 : 지정한좌표에채워진박스를그림 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 관련함수 : Line,Setcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Retanglefill(10,10,100,50); // 채워진박스를그림 * 실행결과 (LCD 화면 )
Circle 원을그림 함수 : void Circle(int xx, int yy, radius) 인수 : int xx // 중심점 x( 가로 ) 좌표 (0 319 / 0-239) int yy // 중심점 y( 세로 ) 좌표 (0 239 / 0-319) int radius // 반지름좌표 (0 319 / 0-239) 반환 : 없음 설명 : 지정한좌표에원을그림 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 관련함수 : Setcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Circle(64,32,10); // 원을그림 * 실행결과 (LCD 화면 )
Ellipse 타원을그림 함수 : void Ellipse(int xx, int yy, int a0,int b0) 인수 : int xx // 중심점 x( 가로 ) 좌표 (0 319 / 0-239) int yy // 중심점 y( 세로 ) 좌표 (0 239 / 0-319) int a0 // 가로반경 (0 319 / 0-239) int b0 // 세로반경 (0 239 / 0-319) 반환 : 없음 설명 : 지정한좌표에타원을그림 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 관련함수 : Setcolor #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Ellipse(64,32,20,10); // 타원을그림 * 실행결과 (LCD 화면 )
Putpixel 지정한색으로점을찍음 함수 : void Putpixel(int x, int y, unsigned color) 인수 : int x // x( 가로 ) 좌표 (0 319 / 0-239) int y // y( 세로 ) 좌표 (0 239 / 0-319) unsigned color // Setcolor 색상참조반환 : 없음 설명 : 지정한좌표에점을찍음 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Putpixel(10,10,_WHITE); // 화면의 10(x),10(y) 위치에점을찍음 * 실행결과 (LCD 화면 )
Putpixelb 지정한색으로바이트단위픽셀표시 함수 : void Putpixelb(int x, int y, unsigned char datac, unsigned color) 인수 : int x // x( 가로 ) 좌표 (0 319 / 0-239) int y // y( 세로 ) 좌표 (0 239 / 0-319) unsigned color // Setcolor 색상참조반환 : 없음 설명 : 지정한좌표에세로방향으로바이트단위픽셀표시 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 C기본헤더선언 #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code Putpixelb(10,10,0xff,_WHITE); // 화면의 10(x),10(y) 위치에바이트단위픽셀표시 * 실행결과 (LCD 화면 )
PutImage 커저위치에영문 / 한글이미지표시 함수 : PutImage(unsigned char dbuf[],int xsize,int ysize) 인수 : unsigned char dbuf[] // 표시할폰트데이터 int xsize // 표시할 x축데이터크기 int ysize // 표시할 y축데이터크기반환 : 없음 설명 : 현재커저위치에지정한색으로문자폰트를표시한다 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 참고 : _screen_color : 문자색 (Setcolor()) _screen_bkcolor : 바탕색 (Setbkcolor()) _screen_curx / _screen_cury : X,Y좌표 (Gotoxy()) #include cpusetupinc #include tftlcdinc unsigned char buf[32] int i; // TFT-LCD TEST Code for(i = 0; i < 32; i++) buf[i] = 0xff; Setcolor(_WHITE); // 문자색지정 Gotoxy(0,0); // 커저위치지정 PutImage(buf,16,16); // 화면에 Image 데이터표시 (x크기16 / y크기16) * 실행결과 (LCD 화면 )
RGB_Disp 현재화면에 RGB 패턴데이터를표시한다 함수 void RGB_Disp(void) 인수 : void 반환 : void 설명 : 화면에 RGB 패턴데이터를표시한다 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 #include cpusetupinc #include tftlcdinc // TFT-LCD TEST Code RGB_Disp( ); // 패턴표시 * 실행결과 (LCD 화면 )
Han_Conv 조합형코드를완성형코드로변환한다 함수 : void Han_Conv(char *buf) 인수 : char *buf // 변환할문자열버퍼반환 : 없음 변수 : unsigned char han_conv_buf[32] // 한글완성형코드저장버퍼 (32byte) 설명 : 조합형코드를완성형코드로변환한다
CLCD_GRAM_dread 설정된영역의픽셀데이터를취득 (16Bit RGB) 함수 : unsigned CLCD_GRAM_dread(void) 인수 : void 반환 : 16Bit RGB 데이터 (RRRRR GGGGGG BBBBB) 설명 : 현재커저위치에표시된픽셀의데이터값을취득한다 가로화면모드시 : 320 * 240 픽셀 세로화면모드시 : 240 * 320 픽셀 #include cpusetupinc #include tftlcdinc unsigned datau; // TFT-LCD TEST Code if(_screen_mode == _SCREEN_COLUMN_SET) ScreenSet(_SCREEN_COLUMN_SET,0,0,_SCREEN_COLUMN_X,_SCREEN_COLUMN_Y);// 가로지정 else ScreenSet(_SCREEN_ROW_SET,0,0,_SCREEN_ROW_X,_SCREEN_ROW_Y);// 세로지정 datau = CLCD_GRAM_dread(); // 픽셀리드 printf("pixel data : %04x\n",datau); // 데이터표시
CLCD_Init Color TFT-LCD Driver IC 를초기화한다 함수 : void Clcd_Init(void)) 인수 : void 반환 : void 설명 : Color TFT-LCD Driver-IC 를초기화한다 ( 가로화면모드 (320*240) 로설정 ) #include cpusetupinc #include tftlcdinc unsigned datau;
CLCD_Command_Data Color TFT-LCD Driver IC 의 Register NUM 와데이터를써넣는다 함수 : void CLCD_Command_Data(int regnum,unsigned datau) 인수 : int regnum // Register Number unsigned datau // Register에써넣을데이터반환 : void 설명 : Color TFT-LCD Driver IC의 Register NUM와데이터를써넣는다
CLCD_Command Color TFT-LCD Driver IC 의 Register NUM 을써넣는다 함수 : void CLCD_Command(int regnum) 인수 : int regnum 반환 : void // Register Number 설명 : Color TFT-LCD Driver IC 의 Register NUM 을써넣는다
CLCD_Cdata Color TFT-LCD Driver IC 의 Register NUM 에데이터를써넣는다 함수 : void CLCD_Cdata(unsigned datau) 인수 : unsigned datau 반환 : void // Register 에써넣을데이터 설명 : Color TFT-LCD Driver IC 의 Register NUM 에데이터를써넣는다
Touch 라이브러리 (touchinc) Touch_Data 터치입력정보를취득 (x,y) 함수 : int Touch_Data(int scan_time) 인수 : int scan_time // 터치를누를때부터정보취득타임 (0 1000) scan_time * 10ms 반환 : 1( 데이터있음 ),0( 데이터없음 ) 설명 : 터치컨트롤러 (TSC2003) 으로부터유효정보를정해진시간마다취득한다 취득한좌표데이터를현재표시화면모드에맞게변환하여저장한다 변수 : Touch_X // 터치 X축정보가저장되는변수 (0-4095) Touch_Y // 터치 Y축정보가저장되는변수 (0-4095) #include cpusetupinc #include touchinc int Touch_X,Touch_Y; TSC2003_Setup(); // 터치관리라이브러리 // 터치사용변수 // I2c 초기화및 TSC2003초기화 // Touch TEST Code if(touch_data(2)) // 터치데이터검사 20ms마다 printf("touch > (x)%d : (y)%d\r\n",touch_x,touch_y);// \ "T XT h Y)// COM1 으로표시
TSC2003_Setup 터치컨틀롤러와 CPU 의 I2C 를초기화한다 함수 : void TSC2003_Setup(void) 인수 : void 반환 : void 설명 : 터치컨틀롤러와 CPU 의 I2C 를초기화한다 #include cpusetupinc #include TSC2003_Setup(); unsigned datau; // I2c 초기화및 TSC2003초기화 TSC2003_Setup(); // I2C 초기화및 TSC2003초기화
TSC2003_Word_Read 터치컨트롤러로데이터를전송한다 함수 unsigned TSC2003_Word_Read(unsigned char cmd)) 인수 : unsigned char cmd // TSC2003 으로전송할 Command 데이터반환 : 터치좌표데이터 (12bit) 설명터치컨트롤러로 I2C를통해 x,y 데이터요구를보낸뒤좌표값 (12bit) 을리턴한다
TSC2003_Write 터치컨트롤러로데이터를전송한다 함수 : TSC2003_Write(unsigned char datau) 인수 : unsigned char datau 반환 : void // TSC2003 으로전송할데이터 설명터치컨트롤러로 I2C 를통해데이터를전송한다