/************************************************* * グラフィック液晶表示器用ライブラリ ヘッダ * ポートの定義 * 関数プロトタイプ * * 液晶:1.77inch 128 x 160dot color LCD「TFT2P2037-E * コントローラIC:S6D0151 * * 2022/8/13 N.Ishii * * <更新履歴> * 2022.8.15 * ・CLOCK 16→4 * ・VbakON/OFF 追加 **************************************************/ #include "p24FJ64GA002.h" //#define CLOCK 16 #define CLOCK 4 // 128×160ドットグラフィックLCD ポート定義 #define SPI_CS LATBbits.LATB15 #define SPI_DATA LATBbits.LATB14 #define SPI_CLK LATBbits.LATB13 #define SPI_RST LATBbits.LATB12 #define VbakON LATAbits.LATA0= 1 #define VbakOFF LATAbits.LATA0= 0 #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 LCD_PaintBox(int X1, int Y1, int X2, int Y2, unsigned int color); void Draw7seg_(int X, int Y, unsigned char cPat, unsigned int col, unsigned int coloff); void Draw7seg(int X, int Y, unsigned int Value, unsigned char cColum, unsigned int col, unsigned int coloff); void delay_us(int usec); void delay_ms(int msec);