📄 pcf8833.h
字号:
/*
\\\|///
\\ - - //
( @ @ )
+---------------------oOOo-(_)-oOOo-------------------------+
| |
| PCF8833.c |
| by Xiaoran Liu |
| 2005.3.16 |
| |
| ZERO research group |
| www.the0.net |
| |
| Oooo |
+----------------------oooO--( )--------------------------+
( ) ) /
\ ( (_/
\_)
*/
#ifndef __PCF8833_H__
#define __PCF8833_H__
typedef unsigned char INT8U;
typedef unsigned short INT16U;
typedef unsigned int INT32U;
#define LCD_RST 0x00000020
#define LCD_CS 0x00000080
#define LCD_DATA 0x00000040
#define LCD_CLK 0x00000010
// Commands
#define NO_OPERATION 0x00
#define SOFT_RESET 0x01
#define BOOSTER_OFF 0x02
#define BOOSTER_ON 0x03
#define DISPLAY_INFO 0x04 // read 25bits where MSB are dummy trash
#define DISPLAY_STATUS 0x09 // read 33bits where MSB are dummy trash
#define SLEEP_IN 0x10
#define SLEEP_OUT 0x11
#define PARTIAL_MODE_ON 0x12
#define NORMAL_MODE_ON 0x13
#define INVERSION_OFF 0x20
#define INVERSION_ON 0x21
#define PIXELS_OFF 0x22
#define PIXELS_ON 0x23
#define SET_CONTRAST 0x25
// CONTRAST_VALE 0xXX
#define DISPLAY_OFF 0x28
#define DISPLAY_ON 0x29
#define SET_X_ADDR 0x2A // ATENTION! when X,Y address are changed BOTH must be changed
// START_X 0xXX
// STOP_X 0xXX
#define SET_Y_ADDR 0x2B
// START_Y 0xXX
// STOP_Y 0xXX
#define MEM_WRITE 0x2C
// x times pixel data 0xXX
#define COLOR_SET 0x2D
// 8 times red palette 0xXX
// 8 times green palette 0xXX
// 4 times blue palette 0xXX
#define PARTIAL_AREA 0x30
// START_Y 0xXX
// STOP_Y 0xXX
#define SCROLL_DEFINITON 0x33 // always vertical
// TOP_FIXED_LINES 0xXX
// SCROLL_LINES 0xXX
// BOTTOM_FIXED_LINES 0xXX
#define SET_SCROLL 0x37 // SEP scroll entry point
// ROW_Y 0xxx
#define MEM_CONTROL 0x36
// MEM_FLAGS 0xXX
#define MEM_90 0 // virtual flag not for PCF8833
#define MEM_RGB 3 // color order
#define MEM_LAO 4 // line access order
#define MEM_VW 5 // vertical write
#define MEM_MX 6 // mirror X
#define MEM_MY 7 // mirror Y
#define IDLE_OFF 0x38
#define IDLE_ON 0x39
#define COLOR_INTERFACE 0x3A
// pixelformat 0xXX
#define COLOR_8_BIT 0x02
#define COLOR_12_BIT 0x03
#define COLOR_16_BIT 0x05
#define SET_VOP 0xB0 // irrelevant for Nokia6100
// 2x 0xXX
#define BOTTOM_ROW_SWAP_OFF 0xB4
#define BOTTOM_ROW_SWAP_ON 0xB5
#define TOP_ROW_SWAP_OFF 0xB6
#define TOP_ROW_SWAP_ON 0xB7
#define SUPER_FRAME_INV_OFF 0xB8
#define SUPER_FRAME_INV_ON 0xB9
#define DATA_ORDER_MSB 0xBA
#define DATA_ORDER_LSB 0xBB
#define TEMP_READ 0xC8 // read
// temp 0xXX
#define GLCD_PIXELX 132
#define GLCD_PIXELY 132
#define GLCD_CACHE_SIZE ((GLCD_PIXELX * GLCD_PIXELY) / 8)
#define GLCD_X_START 0
#define GLCD_Y_START 0
#define GLCD_X_END GLCD_PIXELY-1
#define GLCD_Y_END GLCD_PIXELY-1
void PCF8833Init(void);
void LCD_Clear_Screen(void);
void PutChar(INT8U x, INT8U y, char c, INT16U f, INT16U b);
void PutString(INT8U x, INT8U y, char *s, INT16U f, INT16U b);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -