/********************************************
OLED屏测试程序-STC&89C52
使用说明:
OLED电源使用3.3V。
----------------
G 电源地
3.3V 接3.3V电源
SCL P1.0
SDA P1.1
RST P1.2
DC P1.3
============================================
OLED电源使用5V。
----------------
G 电源地
3.3V 接5V电源,电源跟模块之间串接100欧姆电阻,并加3.3V钳位二极管
SCL P1.0 单片机跟模块之间串接1k-3.3k电阻
SDA P1.1 单片机跟模块之间串接1k-3.3k电阻
RST P1.2 单片机跟模块之间串接1k-3.3k电阻
DC P1.3 单片机跟模块之间串接1k-3.3k电阻
============================================
如果用户使用的是5V单片机,请看用户手册,切勿烧毁模块!
*********************************************************/
#include "reg52.h"
#include "intrins.h"
#include "OLED.h"
sbit LCD_SCL=P1^0;
sbit LCD_SDA=P1^1;
sbit LCD_RST=P1^2;
sbit LCD_DC =P1^3;
#define XLevelL 0x00
#define XLevelH 0x10
#define XLevel ((XLevelH&0x0F)*16+XLevelL)
#define Max_Column 128
#define Max_Row 64
#define Brightness 0xCF
/*
4线SPI使用说明:
VBT 供内部DC-DC电压,3.3~4.3V,如果使用5V电压,为保险起见串一个100~500欧的电阻
VCC 供内部逻辑电压 1.8~6V
GND 地
BS0 低电平
BS1 低电平
BS2 低电平
CS 片选管脚
DC 命令数据选择管脚
RES 模块复位管脚
D0(SCLK) ,时钟脚,由MCU控制
D1(MOSI) ,主输出从输入数据脚,由MCU控制
D2 悬空
D3-D7 , 低电平 , 也可悬空,但最好设为低电平
RD 低电平 ,也可悬空,但最好设为低电平
RW 低电平 ,也可悬空,但最好设为低电平
RD 低电平 ,也可悬空,但最好设为低电平
*/
#define X_WIDTH 128
#define Y_WIDTH 64
//======================================
// const unsigned char code F6x8[][6] =
// {
// { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp
// { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 }, // !
// { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 }, // "
// { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // #
// { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $
// { 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 }, // %
// { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 }, // &
// { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 }, // '
// { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 }, // (
// { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 }, // )
// { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 }, // *
// { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 }, // +
// { 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 }, // ,
// { 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 }, // -
// { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 }, // .
// { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 }, // /
// { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0
// { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1
// { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2
// { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3
// { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4
// { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5
// { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6
// { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7
// { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8
// { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9
// { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 }, // :
// { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 }, // ;
// { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 }, // <
// { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 }, // =
// { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 }, // >
// { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 }, // ?
// { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E }, // @
// { 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C }, // A
// { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B
// { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C
// { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D
// { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E
// { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F
// { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G
// { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H
// { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I
// { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J
// { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K
// { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L
// { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M
// { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N
// { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O
// { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P
// { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q
// { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R
// { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 }, // S
// { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T
// { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U
// { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V
// { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W
// { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 }, // X
// { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y
// { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z
// { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [
// { 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55
// { 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ]
// { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^
// { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 }, // _
// { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 }, // '
// { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 }, // a
// { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b
// { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 }, // c
// { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F }, // d
// { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 }, // e
// { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f
// { 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C }, // g
// { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h
// { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i
// { 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 }, // j
// { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k
// { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l
// { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m
// { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n
// { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 }, // o
// { 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 }, // p
// { 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC }, // q
// { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r
// { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 }, // s
// { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t
// { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u
// { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v
// { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w
// { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 }, // x
// { 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C }, // y
// { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 }, // z
// { 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 } // horiz lines
// };
// const unsigned char F14x16[] = {
// 0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0xF0,0x12,0x1C,0xD0,0x10,0x10,0x10,
// 0x40,0x20,0x10,0x0C,0x03,0x10,0x08,0x3F,0x42,0x41,0x40,0x40,0x40,0x70,//龙
// 0x00,0x00,0xFE,0x84,0x84,0x84,0x84,0x82,0x82,0x82,0x82,0xC0,0x80,0x00,
// 0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x30,0x20,//丘
// 0x14,0x13,0x92,0x7E,0x32,0x52,0x92,0x00,0x7C,0x44,0x44,0x44,0x7C,0x00,
// 0x01,0x01,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,//智
// 0xB8,0x97,0x92,0x90,0x94,0xB8,0x10,0x00,0x7F,0x48,0x48,0x44,0x74,0x20,
// 0xFF,0x0A,0x0A,0x4A,0x8A,0x7F,0x00,0x00,0x3F,0x44,0x44,0x42,0x72,0x20,//能
// };
/*
const unsigned char code F14x16_Idx[] =
{
"北京龙丘邱科技智能车首选液晶"
};
const unsigned char F14x16[] = {
0x20,0x20,0x20,0x20,0xFF,0x00,0x00,0x00,0xFF,0x40,0x20,0x30,0x18,0x10,
0x30,0x18,0x08,0x04,0x7F,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78,//北0
0x04,0x04,0xE4,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0xE4,0x06,0x04,0x00,
0x20,0x10,0x19,0x0D,0x41,0x81,0x7F,0x01,0x01,0x05,0x0D,0x38,0x10,0x00,//京1
0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0xF0,0x12,0x1C,0xD0,0x10,0x10,0x10,
0x40,0x20,0x10,0x0C,0x03,0x10,0x08,0x3F,0x42,0x41,0x40,0x40,0x40,0x70,//龙2
0x00