/*************************************************************************** * UG-2864HSWEG01 OLEDモジュール駆動用ライブラリーヘッダーファイル * 制御IC:SSD1306 * * RB15:(INV)CS (INV)LCD チップイネーブル * RB14:SDIN データ * RB13:SCK 同期通信用クロック * RB12:D/(INV)C データ/(INV)コマンド 選択信号 * RB11:(INV)RES (INV)LCD リセット * * 2017.10.25 N.Ishii *****************************************************************************/ /// 128×64ドット・モノクロOLED ポート定義 #define SPI_CS LATBbits.LATB15 #define SPI_DATA LATBbits.LATB14 #define SPI_CLK LATBbits.LATB13 #define SPI_DC LATBbits.LATB12 #define SPI_RES LATBbits.LATB11 #define OLED_WIDTH 128 #define OLED_HEIGHT 64 #define OLED_BANKS (OLED_HEIGHT/8) #define BLACK 0 #define WHITE 1 ///***** 源発振 ***** #define CLOCK 4 // 単位はMHzで指定:set to CLOCK with MHz, 1/2 of system's clock //#define CLOCK 16 // Fcy= 16MHzで使用の場合は、このコメントアウトを外し、#define CLOCK 4をコメントアウト /// プロトタイプ宣言 void SPI_tx_byte(unsigned char, int); void OLED_init(); void OLED_locate(unsigned char, unsigned char); void OLED_set_data(unsigned char *, int); void OLED_clear(unsigned int,char); void OLED_clear_all(char); void OLED_char (unsigned char); void OLED_ROMstr(const char *); void Column_Page_Set(unsigned char, unsigned char, unsigned char); void Draw_Horizontal_Line(unsigned char, unsigned char, unsigned char, char); void Draw_Vertical_Line(unsigned char, unsigned char, unsigned char, char); void Draw_Rectangle_Line(unsigned char, unsigned char, unsigned char, unsigned char, char); void Draw_Pixel(unsigned char, unsigned char, char); void Draw_Line(int, int, int, int, char); void Draw_Circle(int, int, int, char); void delay_us(int); void delay_ms(int);