/************************************************* * カラーグラフィック液晶表示器用ライブラリ ヘッダ * ポートの定義 * 関数プロトタイプ * * Original : Mr.Gokan (CPU;dsPIC33FJ64GP802) * Mod. N.Ishii 2014.5.26 (CPU;PIC24HJ64GP206) **************************************************/ //#include "p33FJ64GP802.h" #include "p24HJ64GP206.h" #define Fosc 80 /* LCD Ports define */ /* #define LCD_TRIS TRISB #define LCD_RS LATBbits.LATB6 #define LCD_CS LATBbits.LATB5 #define LCD_WR LATBbits.LATB7 #define LCD_RESET LATAbits.LATA4 #define LCD_RD LATBbits.LATB4 */ /// 以下の通りマイハードに合わせポート割付を修正:マイコメント #define LCD_TRIS TRISB // 同じ #define LCD_CS LATDbits.LATD8 #define LCD_RS LATDbits.LATD10 #define LCD_WR LATDbits.LATD11 #define LCD_RESET LATDbits.LATD9 /* #define ENDCOL 320 // X #define ENDROW 240 // Y #define XChar (short)((ENDCOL) / 12) #define YLine (short)((ENDROW) / 14) */ /// 2次曲線描画追加に伴い、上記にENDPAGE定義を追加 #define ENDCOL 320 // X #define ENDROW 240 // Y #define ENDPAGE 239 // Y #define XChar (short)((ENDCOL+1) / 12) #define YLine (short)((ENDPAGE+1) / 14) /******************************************* * 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 lcd_out(unsigned int index, unsigned int data); void lcd_Init(void); void lcd_Clear(unsigned short Color); void lcd_Pixel(short Xpos, short Ypos, unsigned short Color); void lcd_Char(char colum, char line, unsigned char letter, unsigned short Color1, unsigned short Color2); void lcd_Str(char colum, char line, char *s, unsigned short Color1, unsigned short Color2); void lcd_Line(short x0, short y0, short x1, short y1, unsigned short Color); void lcd_Circle(int x0, int y0, int r, unsigned short color); void lcd_Image(char line, const unsigned char *ptr, unsigned short Color1, unsigned short Color2); // 追加 void delay_us(unsigned short time); void delay_ms(unsigned short time);