必威体育Betway必威体育官网
当前位置:首页 > IT技术

OLED demo程序(基于AB1601)

时间:2019-06-09 14:44:12来源:IT技术作者:seo实验室小编阅读:83次「手机版」
 

ca1601

OLED:SSD1306

#define OLED_SPI_RS PIO1//COMMAND/DATA

#define OLED_SPI_RST PIO2//RESET

#define SIZE 16

#define XLevelL 0x02

#define XLevelH 0x10

#define Max_Column 128

#define Max_Row 64

#define Brightness 0xFF

#define X_WIDTH 128

#define Y_WIDTH 64

#define OLED_CMD   0 //写命令

#define OLED_DATA 1 //写数据

const unsigned char 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 F8X16[]=

{

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0

0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//! 1

0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//" 2

0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//# 3

0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$ 4

0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//% 5

0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//& 6

0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//' 7

0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//( 8

0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//) 9

0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//* 10

0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+ 11

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//, 12

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//- 13

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//. 14

0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,/// 15

0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0 16

0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1 17

0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2 18

0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3 19

0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4 20

0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5 21

0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6 22

0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7 23

0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8 24

0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9 25

0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//: 26

0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//; 27

0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,//< 28

0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//= 29

0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,//> 30

0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//? 31

0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,//@ 32

0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A 33

0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B 34

0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C 35

0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D 36

0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E 37

0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F 38

0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G 39

0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H 40

0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I 41

0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J 42

0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K 43

0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L 44

0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M 45

0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N 46

0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O 47

0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P 48

0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q 49

0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R 50

0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S 51

0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T 52

0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U 53

0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V 54

0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W 55

0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X 56

0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y 57

0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z 58

0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[ 59

0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\ 60

0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//] 61

0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^ 62

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_ 63

0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//` 64

0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a 65

0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b 66

0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c 67

0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d 68

0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e 69

0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f 70

0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g 71

0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h 72

0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i 73

0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j 74

0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k 75

0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l 76

0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m 77

0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n 78

0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o 79

0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p 80

0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q 81

0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r 82

0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s 83

0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t 84

0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u 85

0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v 86

0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w 87

0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x 88

0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y 89

0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z 90

0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{ 91

0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//| 92

0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//} 93

0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~ 94

};

const unsigned char Hzk[][32]=

{

{0x00,0x00,0xF0,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0xF0,0x00,0x00,0x00},

{0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x0F,0x00,0x00,0x00},/*"中",0*/

{0x40,0x40,0x40,0x5F,0x55,0x55,0x55,0x75,0x55,0x55,0x55,0x5F,0x40,0x40,0x40,0x00},

{0x00,0x40,0x20,0x0F,0x09,0x49,0x89,0x79,0x09,0x09,0x09,0x0F,0x20,0x40,0x00,0x00},/*"景",1*/

{0x00,0xFE,0x02,0x42,0x4A,0xCA,0x4A,0x4A,0xCA,0x4A,0x4A,0x42,0x02,0xFE,0x00,0x00},

{0x00,0xFF,0x40,0x50,0x4C,0x43,0x40,0x40,0x4F,0x50,0x50,0x5C,0x40,0xFF,0x00,0x00},/*"园",2*/

{0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x88,0xF8,0x00,0x00,0x00},

{0x00,0x00,0x1F,0x08,0x08,0x08,0x08,0x7F,0x88,0x88,0x88,0x88,0x9F,0x80,0xF0,0x00},/*"电",3*/

{0x80,0x82,0x82,0x82,0x82,0x82,0x82,0xE2,0xA2,0x92,0x8A,0x86,0x82,0x80,0x80,0x00},

{0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"子",4*/

{0x24,0x24,0xA4,0xFE,0xA3,0x22,0x00,0x22,0xCC,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},

{0x08,0x06,0x01,0xFF,0x00,0x01,0x04,0x04,0x04,0x04,0x04,0xFF,0x02,0x02,0x02,0x00},/*"科",5*/

{0x10,0x10,0x10,0xFF,0x10,0x90,0x08,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x08,0x00},

{0x04,0x44,0x82,0x7F,0x01,0x80,0x80,0x40,0x43,0x2C,0x10,0x28,0x46,0x81,0x80,0x00},/*"技",6*/

};

unsigned char BMP1[] =

{

0x00,0x03,0x05,0x09,0x11,0xFF,0x11,0x89,0x05,0xC3,0x00,0xE0,0x00,0xF0,0x00,0xF8,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x28,0xFF,0x11,0xAA,0x44,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x01,0x38,0x44,0x82,0x92,

0x92,0x74,0x01,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x44,0xFF,0x01,0x7D,

0x7D,0x7D,0x01,0x7D,0x7D,0x7D,0x7D,0x01,0x7D,0x7D,0x7D,0x7D,0x7D,0x01,0xFF,0x00,

0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,

0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,

0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,

0xF3,0x13,0x11,0x11,0x11,0x11,0x11,0x11,0x01,0xF1,0x11,0x61,0x81,0x01,0x01,0x01,

0x81,0x61,0x11,0xF1,0x01,0x01,0x01,0x01,0x41,0x41,0xF1,0x01,0x01,0x01,0x01,0x01,

0xC1,0x21,0x11,0x11,0x11,0x11,0x21,0xC1,0x01,0x01,0x01,0x01,0x41,0x41,0xF1,0x01,

0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x11,0x11,0x11,0x11,0x11,0xD3,0x33,

0x03,0x03,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,

0x7F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x7F,0x00,0x00,0x01,0x06,0x18,0x06,

0x01,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x40,0x40,0x7F,0x40,0x40,0x00,0x00,0x00,

0x1F,0x20,0x40,0x40,0x40,0x40,0x20,0x1F,0x00,0x00,0x00,0x00,0x40,0x40,0x7F,0x40,

0x40,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x40,0x30,0x0C,0x03,0x00,0x00,

0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x06,0x06,

0x06,0x06,0x04,0x04,0x04,0x84,0x44,0x44,0x44,0x84,0x04,0x04,0x84,0x44,0x44,0x44,

0x84,0x04,0x04,0x04,0x84,0xC4,0x04,0x04,0x04,0x04,0x84,0x44,0x44,0x44,0x84,0x04,

0x04,0x04,0x04,0x04,0x84,0x44,0x44,0x44,0x84,0x04,0x04,0x04,0x04,0x04,0x84,0x44,

0x44,0x44,0x84,0x04,0x04,0x84,0x44,0x44,0x44,0x84,0x04,0x04,0x04,0x04,0x06,0x06,

0x06,0x06,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x10,0x18,0x14,0x12,0x11,0x00,0x00,0x0F,0x10,0x10,0x10,

0x0F,0x00,0x00,0x00,0x10,0x1F,0x10,0x00,0x00,0x00,0x08,0x10,0x12,0x12,0x0D,0x00,

0x00,0x18,0x00,0x00,0x0D,0x12,0x12,0x12,0x0D,0x00,0x00,0x18,0x00,0x00,0x10,0x18,

0x14,0x12,0x11,0x00,0x00,0x10,0x18,0x14,0x12,0x11,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,

0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x7F,0x03,0x0C,0x30,0x0C,0x03,0x7F,0x00,0x00,0x38,0x54,0x54,0x58,0x00,0x00,

0x7C,0x04,0x04,0x78,0x00,0x00,0x3C,0x40,0x40,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xAA,0xAA,0xAA,

0x28,0x08,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x03,0x0C,0x30,0x0C,0x03,0x7F,

0x00,0x00,0x26,0x49,0x49,0x49,0x32,0x00,0x00,0x7F,0x02,0x04,0x08,0x10,0x7F,0x00,

/********************************/

};

unsigned char BMP2[] =

{

0x00,0x03,0x05,0x09,0x11,0xFF,0x11,0x89,0x05,0xC3,0x00,0xE0,0x00,0xF0,0x00,0xF8,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x28,0xFF,0x11,0xAA,0x44,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x01,0x38,0x44,0x82,0x92,

0x92,0x74,0x01,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x44,0xFF,0x01,0x7D,

0x7D,0x7D,0x7D,0x01,0x7D,0x7D,0x7D,0x7D,0x01,0x7D,0x7D,0x7D,0x7D,0x01,0xFF,0x00,

0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,

0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,

0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,

0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0xF8,0x18,0x60,0x80,0x00,0x00,0x00,0x80,

0x60,0x18,0xF8,0x00,0x00,0x00,0x20,0x20,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,

0x10,0x08,0x08,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x20,0x20,0xF8,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x88,0x68,

0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,

0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x7F,0x00,0x00,0x01,0x06,0x18,0x06,0x01,

0x00,0x00,0x7F,0x00,0x00,0x00,0x40,0x40,0x7F,0x40,0x40,0x00,0x00,0x00,0x00,0x1F,

0x20,0x40,0x40,0x40,0x40,0x20,0x1F,0x00,0x00,0x00,0x40,0x40,0x7F,0x40,0x40,0x00,

0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x18,0x06,0x01,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x20,0x20,0xC0,0x00,0x00,0xE0,0x20,0x20,0x20,

0xE0,0x00,0x00,0x00,0x40,0xE0,0x00,0x00,0x00,0x00,0x60,0x20,0x20,0x20,0xE0,0x00,

0x00,0x00,0x00,0x00,0xE0,0x20,0x20,0x20,0xE0,0x00,0x00,0x00,0x00,0x00,0x40,0x20,

0x20,0x20,0xC0,0x00,0x00,0x40,0x20,0x20,0x20,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x0C,0x0A,0x0A,0x09,0x0C,0x00,0x00,0x0F,0x08,0x08,0x08,

0x0F,0x00,0x00,0x00,0x08,0x0F,0x08,0x00,0x00,0x00,0x0C,0x08,0x09,0x09,0x0E,0x00,

0x00,0x0C,0x00,0x00,0x0F,0x09,0x09,0x09,0x0F,0x00,0x00,0x0C,0x00,0x00,0x0C,0x0A,

0x0A,0x09,0x0C,0x00,0x00,0x0C,0x0A,0x0A,0x09,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,

0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x7F,0x03,0x0C,0x30,0x0C,0x03,0x7F,0x00,0x00,0x38,0x54,0x54,0x58,0x00,0x00,

0x7C,0x04,0x04,0x78,0x00,0x00,0x3C,0x40,0x40,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xAA,0xAA,0xAA,

0x28,0x08,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x03,0x0C,0x30,0x0C,0x03,0x7F,

0x00,0x00,0x26,0x49,0x49,0x49,0x32,0x00,0x00,0x7F,0x02,0x04,0x08,0x10,0x7F,0x00,

/***************************************/

};

void OledSpiGpioRsInit(void)

{

DRV_PinMux_SigSet( (1L << OLED_SPI_RS), PIN_GPIO);

DRV_Gpio_DirSet( (1L << OLED_SPI_RS), 1);

DRV_Gpio_PullSet( (1L << OLED_SPI_RS), PULL_UP);

DRV_Gpio_ValSet( (1L << OLED_SPI_RS), 1);

}

void OledCommandMode(void)

{

DRV_Gpio_ValSet((1L << OLED_SPI_RS), 0);

}

void OledDataMode(void)

{

DRV_Gpio_ValSet((1L << OLED_SPI_RS), 1);

}

void OledSpiGpioRstInit(void)

{

DRV_PinMux_SigSet( (1L << OLED_SPI_RST), PIN_GPIO);

DRV_Gpio_DirSet( (1L << OLED_SPI_RST), 1);

DRV_Gpio_PullSet( (1L << OLED_SPI_RST), PULL_UP);

DRV_Gpio_ValSet( (1L << OLED_SPI_RST), 1);

}

void OledRstLow(void)

{

DRV_Gpio_ValSet((1L << OLED_SPI_RST), 0);

}

void OledRstHigh(void)

{

DRV_Gpio_ValSet((1L << OLED_SPI_RST), 1);

}

void OLED_RST_Set(void)

{

OledRstHigh();

}

void OLED_RST_Clr(void)

{

OledRstLow();

}

void OledSpiGpioInit(void)

{

OledSpiGpioRsInit();

OledSpiGpioRstInit();

}

void Oled_DRV_SPI_No_Wait_WriteRead (volatile uint8_t* txbuf, volatile uint16_t txsize, volatile uint8_t* rxbuf, volatile uint16_t rxsize)

{

SPI.TXSRCADDR.reg = (uint32_t)(&txbuf[0]);

SPI.RXDSTADDR.reg = (uint32_t)(&rxbuf[0]);

SPI.TBC.reg = txsize;

SPI.RBC.reg = rxsize;

SPI.TXFIFOSZ.reg = txsize + 1;

SPI.RXFIFOSZ.reg = rxsize + 1;

SPI.TXWPTR.field.PTR = txsize;

SPI.RXRPTR.field.PTR = 0;

SPI.CONTROL.field.START = 1;

while(! SPI.STATUS.field.READY);

}

static volatile U8 SpiRxBuf[16];

void OledSpiWriteOneByte(volatile U8 regData)

{

volatile U8 spi_tx_buf[256];

spi_tx_buf[0] = regData;

SPI.TXSRCADDR.reg = (uint32_t)(&spi_tx_buf[0]);

SPI.RXDSTADDR.reg = (uint32_t)(&SpiRxBuf[0]);

SPI.TBC.reg = 1;

SPI.RBC.reg = 0;

SPI.TXFIFOSZ.reg = 1 + 1;

SPI.RXFIFOSZ.reg = 0 + 1;

SPI.TXWPTR.field.PTR = 1;

SPI.RXRPTR.field.PTR = 0;

SPI.CONTROL.field.START = 1;

while(! SPI.STATUS.field.READY);

}

void OLED_WR_Byte(u8 dat, u8 mode)

{

if(mode == OLED_CMD)

{

OledCommandMode();

}

else

{

OledDataMode();

}

OledSpiWriteOneByte(dat);

}

void OledSpiWriteDataMulByte(U8 *pData, U8 dataLen)

{

U16 i;

U8 spi_tx_buf[256];

OledDataMode();

for(i=0; i<dataLen; i++)

{

spi_tx_buf[i] = pData[i];

}

Oled_DRV_SPI_No_Wait_WriteRead(spi_tx_buf, dataLen, SpiRxBuf, 0);

}

void OLED_Set_Pos(unsigned char x, unsigned char y)

{

OLED_WR_Byte(0xb0+y, OLED_CMD);

OLED_WR_Byte(((x&0xf0)>>4)|0x10, OLED_CMD);

OLED_WR_Byte((x&0x0f)|0x01, OLED_CMD);

}

void OLED_Display_On(void)

{

OLED_WR_Byte(0x8D, OLED_CMD);  //SET DCDC命令

OLED_WR_Byte(0x14, OLED_CMD);  //DCDC ON

OLED_WR_Byte(0xAF, OLED_CMD);  //DISPLAY ON

}

void OLED_Display_Off(void)

{

OLED_WR_Byte(0x8D, OLED_CMD);  //SET DCDC命令

OLED_WR_Byte(0x10, OLED_CMD);  //DCDC OFF

OLED_WR_Byte(0xAE, OLED_CMD);  //DISPLAY OFF

}

void OLED_Clear(void)

{

u8 i,n;

U8 pData[256];

for(i=0; i<128; i++)

{

pData[i] = 0x00;

}

for(i=0; i<8; i++)

{

OLED_WR_Byte(0xb0+i, OLED_CMD);//设置页地址(0~7)

OLED_WR_Byte(0x00, OLED_CMD);//设置显示位置—列低地址

OLED_WR_Byte(0x10, OLED_CMD);//设置显示位置—列高地址

OledSpiWriteDataMulByte(pData, 128);

}

}

static void delay_ms(unsigned int ms)

{

OS_delay_ms(ms);

}

void OLED_ShowChar(u8 x,u8 y,u8 chr)

{

unsigned char c=0,i=0;

c=chr-' ';//得到偏移后的值

if(x>Max_Column-1)

{

x=0;y=y+2;

}

if(SIZE == 16)

{

OLED_Set_Pos(x,y);

OledSpiWriteDataMulByte(F8X16+c*16+0, 8);

OLED_Set_Pos(x,y+1);

OledSpiWriteDataMulByte(F8X16+c*16+8, 8);

}

else

{

OLED_Set_Pos(x,y+1);

OledSpiWriteDataMulByte(&F6x8[c][i], 6);

}

}

//m^n函数

u32 oled_pow(u8 m, u8 n)

{

u32 result=1;

while(n--)

{

result*=m;

}

return result;

}

void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size2)

{

u8 t,temp;

u8 enshow=0;

for(t=0;t<len;t++)

{

temp=(num/oled_pow(10,len-t-1))%10;

if(enshow==0&&t<(len-1))

{

if(temp==0)

{

OLED_ShowChar(x+(size2/2)*t,y,' ');

continue;

}

else

{

enshow=1;

}

}

OLED_ShowChar(x+(size2/2)*t,y,temp+'0');

}

}

void OLED_ShowString(u8 x,u8 y,u8 *chr)

{

unsigned char j=0;

while(chr[j]!='\0')

{

OLED_ShowChar(x,y,chr[j]);

x+=8;

if(x>120)

{

x=0;

y+=2;

}

j++;

}

}

void OLED_ShowCHinese(u8 x,u8 y,u8 no)

{

u8 t;

OLED_Set_Pos(x,y);

OledSpiWriteDataMulByte(&Hzk[2*no+0][t], 16);

OLED_Set_Pos(x,y+1);

OledSpiWriteDataMulByte(&Hzk[2*no+1][t], 16);

}

/***********功能描述:显示显示BMP图片128×64起始点坐标(x,y),x的范围0~127,y为页的范围0~7*****************/

void OLED_DrawBMP(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1, unsigned char BMP[])

{

unsigned int j=0;

unsigned char x,y;

if(y1%8 == 0)

{

y = y1/8;

}

else

{

y = y1/8+1;

}

for(y=y0; y<y1; y++)

{

OLED_Set_Pos(x0,y);

OledSpiWriteDataMulByte(BMP+j, x1-x0);

j=j+x1-x0;

}

}

void Oled_spi_BusOpen(void)

{

DRV_PinMux_GrpSet(SPI_PIN_MASK0, PIN_SPI);

}

void Oled_spi_BusClose(void)

{

DRV_PinMux_SigSet(SPI_PIN_MASK0, PIN_GPIO);

}

void OledSpiInit(void)

{

Ab_SpiParam init_parm;

DRV_PinMux_GrpSet(SPI_PIN_MASK0, PIN_SPI);

//init_parm.clk = 1000000;

init_parm.clk = 8000000;

//init_parm.clk = 24000000;

init_parm.mode = SPI_MODE0;//ok

//init_parm.mode = SPI_MODE1;//failure

//init_parm.mode = SPI_MODE2;//failure

//init_parm.mode = SPI_MODE3;//ok

init_parm.is_bidirection = false;

AB_SPI_Open(spi1_ins, &init_parm);

DRV_SPI_Int(0, false);

SPI.CONFIG.field.FDM = false;

LCD_PRINT("spi master is open on spi %d mode:%d\n", spi1_ins, init_parm.mode);

}

//初始化SSD1306

void OLED_Init(void)

{

OledSpiGpioInit();

OLED_RST_Set();

delay_ms(100);

OLED_RST_Clr();

delay_ms(100);

OLED_RST_Set();

OledSpiInit();

/*

OLED_WR_Byte(0xAE,OLED_CMD);//--turn off oled panel

OLED_WR_Byte(0x00,OLED_CMD);//---set low column address

OLED_WR_Byte(0x10,OLED_CMD);//---set high column address

OLED_WR_Byte(0x40,OLED_CMD);//--set start line address  Set Mapping RAM Display Start Line (0x00~0x3F)

OLED_WR_Byte(0x81,OLED_CMD);//--set contrast control register

OLED_WR_Byte(0xCF,OLED_CMD); // Set SEG Output Current Brightness

OLED_WR_Byte(0xA1,OLED_CMD);//--Set SEG/Column Mapping     0xa0左右反置 0xa1正常

OLED_WR_Byte(0xC8,OLED_CMD);//Set COM/Row Scan Direction   0xc0上下反置 0xc8正常

OLED_WR_Byte(0xA6,OLED_CMD);//--set normal display

OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)

OLED_WR_Byte(0x3f,OLED_CMD);//--1/64 duty

OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset Shift Mapping RAM Counter (0x00~0x3F)

OLED_WR_Byte(0x00,OLED_CMD);//-not offset

OLED_WR_Byte(0xd5,OLED_CMD);//--set display clock pide ratio/oscillator frequency

OLED_WR_Byte(0x80,OLED_CMD);//--set pide ratio, Set Clock as 100 Frames/Sec

OLED_WR_Byte(0xD9,OLED_CMD);//--set pre-charge period

OLED_WR_Byte(0xF1,OLED_CMD);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock

OLED_WR_Byte(0xDA,OLED_CMD);//--set com pins hardware configuration

OLED_WR_Byte(0x12,OLED_CMD);

OLED_WR_Byte(0xDB,OLED_CMD);//--set vcomh

OLED_WR_Byte(0x40,OLED_CMD);//Set VCOM Deselect Level

OLED_WR_Byte(0x20,OLED_CMD);//-Set Page Addressing Mode (0x00/0x01/0x02)

OLED_WR_Byte(0x02,OLED_CMD);//

OLED_WR_Byte(0x8D,OLED_CMD);//--set Charge Pump enable/disable

OLED_WR_Byte(0x14,OLED_CMD);//--set(0x10) disable

OLED_WR_Byte(0xA4,OLED_CMD);// Disable Entire Display On (0xa4/0xa5)

OLED_WR_Byte(0xA6,OLED_CMD);// Disable Inverse Display On (0xa6/a7)

OLED_WR_Byte(0xAF,OLED_CMD);//--turn on oled panel

*/

OLED_WR_Byte(0xAE, OLED_CMD);//--turn off oled panel

OLED_WR_Byte(0x00, OLED_CMD);//---set low column address

OLED_WR_Byte(0x10, OLED_CMD);//---set high column address

OLED_WR_Byte(0x40, OLED_CMD);//--set start line address  Set Mapping RAM Display Start Line (0x00~0x3F)

OLED_WR_Byte(0x81, OLED_CMD);//--set contrast control register

OLED_WR_Byte(0xCF, OLED_CMD); // Set SEG Output Current Brightness

OLED_WR_Byte(0xA1, OLED_CMD);//--Set SEG/Column Mapping     0xa0左右反置 0xa1正常

OLED_WR_Byte(0xC8, OLED_CMD);//Set COM/Row Scan Direction   0xc0上下反置 0xc8正常

OLED_WR_Byte(0xA6, OLED_CMD);//--set normal display

OLED_WR_Byte(0xA8, OLED_CMD);//--set multiplex ratio(1 to 64)

OLED_WR_Byte(0x3f, OLED_CMD);//--1/64 duty

OLED_WR_Byte(0xD3, OLED_CMD);//-set display offset Shift Mapping RAM Counter (0x00~0x3F)

OLED_WR_Byte(0x00, OLED_CMD);//-not offset

OLED_WR_Byte(0xd5, OLED_CMD);//--set display clock pide ratio/oscillator frequency

OLED_WR_Byte(0x80, OLED_CMD);//--set pide ratio, Set Clock as 100 Frames/Sec

OLED_WR_Byte(0xD9, OLED_CMD);//--set pre-charge period

OLED_WR_Byte(0xF1, OLED_CMD);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock

OLED_WR_Byte(0xDA, OLED_CMD);//--set com pins hardware configuration

OLED_WR_Byte(0x12, OLED_CMD);

OLED_WR_Byte(0xDB, OLED_CMD);//--set vcomh

OLED_WR_Byte(0x40, OLED_CMD);//Set VCOM Deselect Level

OLED_WR_Byte(0x20, OLED_CMD);//-Set Page Addressing Mode (0x00/0x01/0x02)

OLED_WR_Byte(0x02, OLED_CMD);//

OLED_WR_Byte(0x8D, OLED_CMD);//--set Charge Pump enable/disable

OLED_WR_Byte(0x14, OLED_CMD);//--set(0x10) disable

OLED_WR_Byte(0xA4, OLED_CMD);// Disable Entire Display On (0xa4/0xa5)

OLED_WR_Byte(0xA6, OLED_CMD);// Disable Inverse Display On (0xa6/a7)

OLED_WR_Byte(0xAF, OLED_CMD);//--turn on oled panel

OLED_WR_Byte(0xAF, OLED_CMD); /*display ON*/

OLED_Clear();

OLED_Set_Pos(0, 0);

}

void OledTest(void)

{

u8 t;

//delay_init();     //延时函数初始化

//NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 LED_Init();     //LED端口初始化

OLED_Init(); //初始化OLED

OLED_Clear();

/*

OLED_ShowString(30,0,"OLED TEST");

OLED_ShowString(8,2,"ZHONGJINGYUAN");

OLED_ShowString(20,4,"2014/05/01");

OLED_ShowString(0,6,"ASCII:");

OLED_ShowString(63,6,"CODE:");

t=' ';

OLED_ShowCHinese(0,0,0);//中

OLED_ShowCHinese(18,0,1);//景

OLED_ShowCHinese(36,0,2);//园

OLED_ShowCHinese(54,0,3);//电

OLED_ShowCHinese(72,0,4);//子

OLED_ShowCHinese(90,0,5);//科

OLED_ShowCHinese(108,0,6);//技

*/

t=' ';

while(1)

{

OLED_Clear();

OLED_ShowCHinese(0,0,0);//中

OLED_ShowCHinese(18,0,1);//景

OLED_ShowCHinese(36,0,2);//园

OLED_ShowCHinese(54,0,3);//电

OLED_ShowCHinese(72,0,4);//子

OLED_ShowCHinese(90,0,5);//科

OLED_ShowCHinese(108,0,6);//技

OLED_ShowString(0,2,"1.3' OLED TEST");

//OLED_ShowString(8,2,"ZHONGJINGYUAN");

OLED_ShowString(20,4,"2014/05/01");

OLED_ShowString(0,6,"ASCII:");

OLED_ShowString(63,6,"CODE:");

OLED_ShowChar(48,6,t);//显示ASCII字符

t++;

if(t>'~')

{

t=' ';

}

OLED_ShowNum(103,6,t,3,16);//显示ASCII字符的码值

delay_ms(500);

OLED_Clear();

delay_ms(500);

OLED_DrawBMP(0,0,128,8,BMP1);  //图片显示(图片显示慎用,生成的字表较大,会占用较多空间,FLASH空间8K以下慎用)

delay_ms(500);

OLED_DrawBMP(0,0,128,8,BMP2);

delay_ms(500);

printf("hello world.....\n");

}

}

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读