📄 oled.c
字号:
#include"REG1210.H"
sbit OLED_NCS = P2^4;
sbit OLED_NRST = P2^5;
sbit OLED_BS1 = P2^6;
sbit OLED_DC = P2^7;
sbit OLED_RW = P3^6;
sbit OLED_E = P3^7;
/************************** OLED Registers ***************************/
//设置地址
#define X_ADRESS 0x15
#define Y_ADRESS 0x75
#define Contrast 0x81
//设置电流范围
#define QuarterCurr 0x84 //SUB
#define HalfCurr 0x85 //SUB
#define FullCurr 0x86 //SUB
//设置RE_MAP
#define Re_map 0xA0
#define DisableColumeRemap 0x00 //SUB
#define EnableColumeRemap 0x01 //SUB
#define DisableNibbleRemap 0x00 //SUB
#define EnableNibbleRemap 0x02 //SUB
#define HorizontalIncrement 0x00 //SUB
#define VerticalIncrement 0x04 //SUB
#define DisableCOMRemap 0x00 //SUB
#define EnableCOMRemap 0x10 //SUB
#define DisableCOMSplitOddEvent 0x00 //SUB
#define EnableCOMSplitOddEvent 0x40 //SUB
#define StartLine 0xA1
#define DispOffset 0xA2
//设置显示模式
#define NormDisp 0xA4 //SUB
#define DispAllOn 0xA5 //SUB
#define DispAllOff 0xA6 //SUB
#define InverseDisp 0xA7 //SUB
#define MultiRadio 0xA8
#define MasterConfig 0xAD
#define DisableDCDC 0x00 //SUB
#define EnableDCDC 0x01 //SUB
#define DisableInternalVCOMH 0x00 //SUB
#define EnableInternalVCOMH 0x02 //SUB
//Set Display On/Off
#define Display_Off 0xAE
#define Display_On 0xAF
//Set Pre-charge Compensation
#define EnCompensate 0xB0
#define LvCompensate 0xB4
#define SegmentLow 0xBF
#define VCOMH 0xBE
#define Precharge 0xBC
#define PhaseLength 0xB1
#define RowPeriod 0xB2
#define DispClock 0xB3
#define GrayScale 0xB8
#define BiasCurr 0xCF
struct ColourSet
{ unsigned char Foreground;
unsigned char Background ;
} ColourSetting;
//ASCII码字库表//code unsigned char ASCII[112*16]
code unsigned char ASCII[112*16]={
//-- 文字: ASCII=0x20
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//-- 文字: ! ASCII=0x21
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x18,0x18,0x00,0x00,
//-- 文字: "
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x12,0x36,0x24,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//-- 文字: #
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x24,0x24,0x24,0xFE,0x48,0x48,0x48,0xFE,0x48,0x48,0x48,0x00,0x00,
//-- 文字: $
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x10,0x38,0x54,0x54,0x50,0x30,0x18,0x14,0x14,0x54,0x54,0x38,0x10,0x10,
//-- 文字: %
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x44,0xA4,0xA8,0xA8,0xA8,0x54,0x1A,0x2A,0x2A,0x2A,0x44,0x00,0x00,
//-- 文字: &
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x30,0x48,0x48,0x48,0x50,0x6E,0xA4,0x94,0x88,0x89,0x76,0x00,0x00,
//-- 文字: '
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x60,0x60,0x20,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//-- 文字: (
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x02,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x08,0x04,0x02,0x00,
//-- 文字: )
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x40,0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x40,0x00,
//-- 文字: *
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x10,0x10,0xD6,0x38,0x38,0xD6,0x10,0x10,0x00,0x00,0x00,0x00,
//-- 文字: +
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0xFE,0x10,0x10,0x10,0x10,0x00,0x00,0x00,
//-- 文字: ,
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x20,0xC0,
//-- 文字: -
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//-- 文字: .
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,
//-- 文字: /
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x01,0x02,0x02,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00,
//-- 文字: 0
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x18,0x24,0x42,0x46,0x4A,0x52,0x62,0x42,0x42,0x24,0x18,0x00,0x00,
//-- 文字: 1
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,
//-- 文字: 2
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00,
//-- 文字: 3
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00,
//-- 文字: 4
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00,
//-- 文字: 5
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00,
//-- 文字: 6
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00,
//-- 文字: 7
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
//-- 文字: 8
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00,
//-- 文字: 9
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00,
//-- 文字: :
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,
//-- 文字:
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x20,
//-- 文字: <
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x02,0x00,0x00,
//-- 文字: =
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,
//-- 文字: >
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x40,0x20,0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x20,0x40,0x00,0x00,
//-- 文字: ?
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x3C,0x42,0x42,0x62,0x02,0x04,0x08,0x08,0x00,0x18,0x18,0x00,0x00,
//-- 文字: @
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x38,0x44,0x5A,0xAA,0xAA,0xAA,0xAA,0xB4,0x42,0x44,0x38,0x00,0x00,
//-- 文字: A
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x10,0x10,0x18,0x28,0x28,0x24,0x3C,0x44,0x42,0x42,0xE7,0x00,0x00,
//-- 文字: B
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xF8,0x44,0x44,0x44,0x78,0x44,0x42,0x42,0x42,0x44,0xF8,0x00,0x00,
//-- 文字: C
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x3E,0x42,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x44,0x38,0x00,0x00,
//-- 文字: D
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xF8,0x44,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x44,0xF8,0x00,0x00,
//-- 文字: E
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xFC,0x42,0x48,0x48,0x78,0x48,0x48,0x40,0x42,0x42,0xFC,0x00,0x00,
//-- 文字: F
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xFC,0x42,0x48,0x48,0x78,0x48,0x48,0x40,0x40,0x40,0xE0,0x00,0x00,
//-- 文字: G
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x3C,0x44,0x44,0x80,0x80,0x80,0x8E,0x84,0x44,0x44,0x38,0x00,0x00,
//-- 文字: H
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0xE7,0x00,0x00,
//-- 文字: I
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,
//-- 文字: J
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x88,0xF0,
//-- 文字: K
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xEE,0x44,0x48,0x50,0x70,0x50,0x48,0x48,0x44,0x44,0xEE,0x00,0x00,
//-- 文字: L
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0xFE,0x00,0x00,
//-- 文字: M
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xEE,0x6C,0x6C,0x6C,0x6C,0x54,0x54,0x54,0x54,0x54,0xD6,0x00,0x00,
//-- 文字: N
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xC7,0x62,0x62,0x52,0x52,0x4A,0x4A,0x4A,0x46,0x46,0xE2,0x00,0x00,
//-- 文字: O
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x38,0x44,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x44,0x38,0x00,0x00,
//-- 文字: P
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xFC,0x42,0x42,0x42,0x42,0x7C,0x40,0x40,0x40,0x40,0xE0,0x00,0x00,
//-- 文字: Q
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x38,0x44,0x82,0x82,0x82,0x82,0x82,0xB2,0xCA,0x4C,0x38,0x06,0x00,
//-- 文字: R
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xFC,0x42,0x42,0x42,0x7C,0x48,0x48,0x44,0x44,0x42,0xE3,0x00,0x00,
//-- 文字: S
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x3E,0x42,0x42,0x40,0x20,0x18,0x04,0x02,0x42,0x42,0x7C,0x00,0x00,
//-- 文字: T
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xFE,0x92,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
//-- 文字: U
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,
//-- 文字: V
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xE7,0x42,0x42,0x44,0x24,0x24,0x28,0x28,0x18,0x10,0x10,0x00,0x00,
//-- 文字: W
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xD6,0x92,0x92,0x92,0x92,0xAA,0xAA,0x6C,0x44,0x44,0x44,0x00,0x00,
//-- 文字: X
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x18,0x18,0x18,0x24,0x24,0x42,0xE7,0x00,0x00,
//-- 文字: Y
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xEE,0x44,0x44,0x28,0x28,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
//-- 文字: Z
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x7E,0x84,0x04,0x08,0x08,0x10,0x20,0x20,0x42,0x42,0xFC,0x00,0x00,
//-- 文字: [
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x1E,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1E,0x00,
/*-- 文字: \ */
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x40,0x40,0x20,0x20,0x10,0x10,0x10,0x08,0x08,0x04,0x04,0x04,0x02,0x02,
//-- 文字: ]
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x78,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x78,0x00,
//-- 文字: ^
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x1C,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//-- 文字: _
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
//-- 文字: `
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x60,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//-- 文字: a
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x1E,0x22,0x42,0x42,0x3F,0x00,0x00,
//-- 文字: b
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0xC0,0x40,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x64,0x58,0x00,0x00,
//-- 文字: c
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x40,0x40,0x40,0x22,0x1C,0x00,0x00,
//-- 文字: d
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x06,0x02,0x02,0x02,0x1E,0x22,0x42,0x42,0x42,0x26,0x1B,0x00,0x00,
//-- 文字: e
//-- 宋体12 此字体下对应的点阵为:宽x高=8x16
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x7E,0x40,0x40,0x42,0x3C,0x00,0x00,
//-- 文字: f
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -