/************************************************* * グラフィック液晶表示器用ライブラリ ヘッダ * ポートの定義 * 関数プロトタイプ * * 液晶:1.77inch 128 x 160dot color LCD「TFT2P2037-E * コントローラIC:S6D0151 * * 2022/8/6 N.Ishii **************************************************/ #include "p24FJ64GA002.h" #define CLOCK 16 // 128×160ドットグラフィックLCD ポート定義 #define SPI_CS LATBbits.LATB15 #define SPI_DATA LATBbits.LATB14 #define SPI_CLK LATBbits.LATB13 #define SPI_RST LATBbits.LATB12 #define ENDCOL 160 // X #define ENDROW 128 // Y /// 12x12 font用定義 #define XChar_12x12 (int)((ENDCOL) / 12) // 160/12= 13キャラクタ #define YLine_12x12 (int)((ENDROW) / 14) // 128/14= 9キャラクタ /// 8x8 font用定義 #define XChar_8x8 (int)(((ENDCOL)/8)+1) // =21→ X方向の文字数+1 #define YLine_8x8 (int)(((ENDROW)/8)+1) // =17→ Y方向の文字数+1 /******************************************* * 16bit Color Difinition *******************************************/ #define WHITE 0xFFFF #define BLACK 0x0000 #define RED 0xF800 #define GREEN 0x07E0 #define BLUE 0x001F #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define BROWN 0x8000 #define ORANGE 0xFC00 #define PERPLE 0x8010 #define COBALT 0x041F /*** 関数プロトタイプ ****/ void SendStartByte(unsigned char id); void SendRegNo(unsigned int reg_no); void SendData(unsigned int data); void S6D0151_SPI_write(unsigned int reg_no, unsigned int data); void Clear_LCD(unsigned int color); void LCD_Initialize(void); void SET_LCD_Cursor_Position(unsigned int Xpos, unsigned int Ypos); void lcd_Pixel(unsigned int Xpos, unsigned int Ypos, unsigned int color); void lcd_Circle(int x0, int y0, int r, unsigned int color); void lcd_Line(int x0, int y0, int x1, int y1, unsigned int color); void lcd_Char_8x8(char colum, char line, unsigned char letter, unsigned int color1, unsigned int color2); void lcd_Char_12x12(char colum, char line, unsigned char letter, unsigned int color1, unsigned int color2); void lcd_Str_8x8(char colum, char line, char *s, unsigned int color1, unsigned int color2); void lcd_Str_12x12(char colum, char line, char *s, unsigned int color1, unsigned int color2); void delay_us(int usec); void delay_ms(int msec);