You are on page 1of 18

/* OLED arduino

D0-----------10
D1-----------9
RST----------13
DC-----------11
VCC----------5V
GND----------GND*/
int SCL_PIN=10;//D0
int SDA_PIN=9; //D1
int RST_PIN=13;//RST
int DC_PIN=11; //DC

void LED_CLS(void);
void LED_Set_Pos(unsigned char x,unsigned char y);//Set the coordinate
void LED_WrDat(unsigned char data); //Write Data
void LED_P6x8Char(unsigned char x,unsigned char y,unsigned char ch);
void LED_P6x8Str(unsigned char x,unsigned char y,unsigned char ch[]);
void LED_P8x16Str(unsigned char x,unsigned char y,unsigned char ch[]);

void LED_PrintBMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char


y1,unsigned char bmp[]);
void LED_Fill(unsigned char dat);
void LED_PrintValueC(unsigned char x, unsigned char y,char data);
void LED_PrintValueI(unsigned char x, unsigned char y, int data);
void LED_PrintValueF(unsigned char x, unsigned char y, float data, unsigned char
num);
void LED_PrintEdge(void);
void LED_Cursor(unsigned char cursor_column, unsigned char cursor_row);
void LED_PrintLine(void);

const unsigned char logo[]=


{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0xC0,0xC0,0xC0,0xE0,0x60,0x60,0x60,0x60,0x70,0x30,0x30,
0x30,0x70,0x60,0x60,0x60,0x60,0xE0,0xC0,0xC0,0x40,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0x06,0x0C,0x3C,0x78,0xC8,0x98,0x98,0x98,0x98,0x98,0x98,0x98,
0x98,0x98,0x98,0x98,0x98,0x98,0x88,0xC8,0x49,0x49,0x49,0x49,0x49,0x48,0x4A,0x0A,
0x2A,0x3C,0xF4,0xC0,0x00,0x00,0x3C,0x74,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x08,0x30,0x80,0x40,0x20,0x91,0xCC,0xC0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,
0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xC0,0xC0,0x8D,0x01,0x00,0x40,0x00,0x10,0x08,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x3C,0x2C,0x00,0x00,0xC0,0xF4,0x2C,0x2A,
0x4A,0x4A,0x49,0x49,0x49,0x49,0x49,0x49,0xC8,0x88,0x98,0x98,0x98,0x98,0x98,0x98,
0x98,0x98,0x98,0x98,0x98,0x98,0xC8,0x48,0x78,0x3C,0x04,0x07,0x03,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x04,0x1C,0x38,0x38,
0x68,0x4C,0xCC,0xCC,0xC4,0x44,0x44,0x64,0x24,0x22,0x22,0x32,0x12,0x12,0x91,0x89,
0xC9,0x49,0x4C,0x25,0x27,0x14,0x98,0xB8,0x61,0x65,0xC3,0xC6,0x84,0x8C,0x0C,0x9E,
0xF9,0xFC,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFB,0x01,0x00,0x00,0x00,0x78,0xFC,0xFC,
0xFC,0x78,0x00,0x00,0x01,0x03,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFD,0xF8,0xFA,
0x1C,0x08,0x8C,0x86,0xCE,0xC3,0x65,0x61,0x98,0x98,0x14,0x27,0x25,0x48,0x49,0x89,
0x99,0x91,0x12,0x12,0x32,0x22,0x22,0x24,0x64,0x44,0x44,0xC4,0xCC,0x4C,0x6C,0x68,
0x38,0x38,0x0C,0x04,0x07,0x03,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,0x01,0x01,0x03,0x02,0x02,0x06,0x0E,0x0A,0x0B,0x09,0x09,0x18,0x38,
0x24,0x24,0x22,0x32,0x31,0x79,0x48,0x64,0x22,0x73,0xD9,0xCD,0x67,0x73,0x8B,0x8F,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x70,0xF8,0xFC,
0xFC,0xF8,0x30,0x00,0x00,0x03,0x07,0x8F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xCF,
0x87,0xDB,0x73,0x67,0xC9,0xD1,0x73,0x26,0x64,0x48,0x79,0x30,0x32,0x20,0x24,0x24,
0x38,0x18,0x09,0x09,0x0B,0x0A,0x0E,0x06,0x02,0x02,0x03,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,0x03,0x0F,0x1C,0x78,0xE0,0xC0,
0x80,0x00,0x03,0x07,0x0F,0x0F,0x1F,0x9F,0x7E,0x3C,0xFC,0x78,0xF8,0x78,0xF8,0x78,
0xF8,0x78,0xF8,0x7C,0x7C,0x3E,0x7E,0x9F,0x1F,0x0F,0x0F,0x07,0x03,0x01,0x80,0xC0,
0xE0,0x78,0x3C,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,
0x03,0x03,0x06,0x0E,0x0C,0x1C,0x22,0x21,0x38,0x47,0x40,0x7C,0x01,0x40,0x7F,0x80,
0x4F,0x40,0x00,0x7C,0x60,0x43,0x38,0x21,0x22,0x1C,0x0C,0x0E,0x06,0x03,0x03,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};

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 }, // [ 91
{ 0x00, 0x02, 0x04 ,0x08, 0x10, 0x20 }, // \92
{ 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
nsigned char5

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

};

void LEDPIN_Init(void)
{
/* LED_SCL_Init;
LED_SDA_Init;
LED_RST_Init;
LED_DC_Init;*/
pinMode(SCL_PIN,OUTPUT);
pinMode(SDA_PIN,OUTPUT);
pinMode(RST_PIN,OUTPUT);
pinMode(DC_PIN,OUTPUT);
}
void LED_WrDat(unsigned char data)
{
unsigned char i = 8;
//LED_CS=0;
//LED_DCH;;;
digitalWrite(DC_PIN,HIGH);
//LED_SCLL;;;
digitalWrite(SCL_PIN,LOW);
while (i--)
{
if (data & 0x80)
{
digitalWrite(SDA_PIN,HIGH);;;;
}
else
{
digitalWrite(SDA_PIN,LOW);;;
}
//LED_SCLH;;;
digitalWrite(SCL_PIN,HIGH);;;
asm("nop");;;
//LED_SCLL;;;
digitalWrite(SCL_PIN,LOW);
data <<= 1;
}
//LED_CS=1;
}
void LED_WrCmd(unsigned char cmd)
{
unsigned char i = 8;
//LED_CS = 0;
//LED_DCL;;;
digitalWrite(DC_PIN,LOW);;;
//LED_SCLL;;;
digitalWrite(SCL_PIN,LOW);;;
while (i--)
{
if (cmd & 0x80)
{
//LED_SDAH;;;
digitalWrite(SDA_PIN,HIGH);;;
}
else
{
//LED_SDAL;;;
digitalWrite(SDA_PIN,LOW);;;
}
//LED_SCLH;;;
digitalWrite(SCL_PIN,HIGH);;;
asm("nop");;;
//LED_SCLL;;;
digitalWrite(SCL_PIN,LOW);;;
cmd <<= 1;
}
//LED_CS = 1;
}
void LED_Set_Pos(unsigned char x, unsigned char y)
{
LED_WrCmd(0xb0+y);
LED_WrCmd(((x&0xf0)>>4)|0x10);
LED_WrCmd((x&0x0f)|0x00);
}

void LED_Fill(unsigned char bmp_data)


{
unsigned char y,x;

for(y=0;y<8;y++)
{
LED_WrCmd(0xb0+y);
LED_WrCmd(0x00);
LED_WrCmd(0x10);
for(x=0;x<128;x++)
LED_WrDat(bmp_data);
}
}

void LED_CLS(void)
{
unsigned char y,x;
for(y=0;y<8;y++)
{
LED_WrCmd(0xb0+y);
LED_WrCmd(0x00);
LED_WrCmd(0x10);
for(x=0;x<128;x++)
LED_WrDat(0);
}
}

void LED_DLY_ms(unsigned int ms)


{
unsigned int a;
while(ms)
{
a=6675;
while(a--);
ms--;
}
return;
// time_delay_ms(ms);
}

void SetStartColumn(unsigned char d)


{
LED_WrCmd(0x00+d%16); // Set Lower Column Start Address for Page Addressing
Mode
// Default => 0x00
LED_WrCmd(0x10+d/16); // Set Higher Column Start Address for Page
Addressing Mode
// Default => 0x10
}

void SetAddressingMode(unsigned char d)


{
LED_WrCmd(0x20); // Set Memory Addressing Mode
LED_WrCmd(d); // Default => 0x02
// 0x00 => Horizontal Addressing Mode
// 0x01 => Vertical Addressing Mode
// 0x02 => Page Addressing Mode
}

void SetColumnAddress(unsigned char a, unsigned char b)


{
LED_WrCmd(0x21); // Set Column Address
LED_WrCmd(a); // Default => 0x00 (Column Start Address)
LED_WrCmd(b); // Default => 0x7F (Column End Address)
}

void SetPageAddress(unsigned char a, unsigned char b)


{
LED_WrCmd(0x22); // Set Page Address
LED_WrCmd(a); // Default => 0x00 (Page Start Address)
LED_WrCmd(b); // Default => 0x07 (Page End Address)
}

void SetStartLine(unsigned char d)


{
LED_WrCmd(0x40|d); // Set Display Start Line
// Default => 0x40 (0x00)
}

void SetContrastControl(unsigned char d)


{
LED_WrCmd(0x81); // Set Contrast Control
LED_WrCmd(d); // Default => 0x7F
}

void Set_Charge_Pump(unsigned char d)


{
LED_WrCmd(0x8D); // Set Charge Pump
LED_WrCmd(0x10|d); // Default => 0x10
// 0x10 (0x00) => Disable Charge Pump
// 0x14 (0x04) => Enable Charge Pump
}

void Set_Segment_Remap(unsigned char d)


{
LED_WrCmd(0xA0|d); // Set Segment Re-Map
// Default => 0xA0
// 0xA0 (0x00) => Column Address 0 Mapped
to SEG0
// 0xA1 (0x01) => Column Address 0 Mapped
to SEG127
}

void Set_Entire_Display(unsigned char d)


{
LED_WrCmd(0xA4|d); // Set Entire Display On / Off
// Default => 0xA4
// 0xA4 (0x00) => Normal Display
// 0xA5 (0x01) => Entire Display On
}

void Set_Inverse_Display(unsigned char d)


{
LED_WrCmd(0xA6|d); // Set Inverse Display On/Off
// Default => 0xA6
// 0xA6 (0x00) => Normal Display
// 0xA7 (0x01) => Inverse Display On
}

void Set_Multiplex_Ratio(unsigned char d)


{
LED_WrCmd(0xA8); // Set Multiplex Ratio
LED_WrCmd(d); // Default => 0x3F (1/64 Duty)
}

void Set_Display_On_Off(unsigned char d)


{
LED_WrCmd(0xAE|d); // Set Display On/Off
// Default => 0xAE
// 0xAE (0x00) => Display Off
// 0xAF (0x01) => Display On
}
void SetStartPage(unsigned char d)
{
LED_WrCmd(0xB0|d); // Set Page Start Address for Page Addressing
Mode
// Default => 0xB0 (0x00)
}

void Set_Common_Remap(unsigned char d)


{
LED_WrCmd(0xC0|d); // Set COM Output Scan Direction
// Default => 0xC0
// 0xC0 (0x00) => Scan from COM0 to 63
// 0xC8 (0x08) => Scan from COM63 to 0
}

void Set_Display_Offset(unsigned char d)


{
LED_WrCmd(0xD3); // Set Display Offset
LED_WrCmd(d); // Default => 0x00
}

void Set_Display_Clock(unsigned char d)


{
LED_WrCmd(0xD5); // Set Display Clock Divide Ratio / Oscillator
Frequency
LED_WrCmd(d); // Default => 0x80
// D[3:0] => Display Clock Divider
// D[7:4] => Oscillator Frequency
}

void Set_Precharge_Period(unsigned char d)


{
LED_WrCmd(0xD9); // Set Pre-Charge Period
LED_WrCmd(d); // Default => 0x22 (2 Display Clocks [Phase
2] / 2 Display Clocks [Phase 1])
// D[3:0] => Phase 1 Period in 1~15
Display Clocks
// D[7:4] => Phase 2 Period in 1~15
Display Clocks
}

void Set_Common_Config(unsigned char d)


{
LED_WrCmd(0xDA); // Set COM Pins Hardware Configuration
LED_WrCmd(0x02|d); // Default => 0x12 (0x10)
// Alternative COM Pin Configuration
// Disable COM Left/Right Re-Map
}

void Set_VCOMH(unsigned char d)


{
LED_WrCmd(0xDB); // Set VCOMH Deselect Level
LED_WrCmd(d); // Default => 0x20 (0.77*VCC)
}

void Set_NOP(void)
{
LED_WrCmd(0xE3); // Command for No Operation
}
void LED_Init(void)
{
unsigned char i;
LEDPIN_Init();
// LED_PORT=0X0F;
//LED_SCLH;;;
//LED_RSTL;;;
digitalWrite(SCL_PIN,HIGH);;;
digitalWrite(RST_PIN,LOW);;;
// for(i=0;i<100;i++)asm("nop");
LED_DLY_ms(50);
//LED_RSTH;;;
digitalWrite(RST_PIN,HIGH);
Set_Display_On_Off(0x00); // Display Off (0x00/0x01)
Set_Display_Clock(0x80); // Set Clock as 100 Frames/Sec
Set_Multiplex_Ratio(0x3F); // 1/64 Duty (0x0F~0x3F)
Set_Display_Offset(0x00); // Shift Mapping RAM Counter
(0x00~0x3F)
SetStartLine(0x00); // Set Mapping RAM Display Start Line
(0x00~0x3F)
Set_Charge_Pump(0x04); // Enable Embedded DC/DC Converter
(0x00/0x04)
SetAddressingMode(0x02); // Set Page Addressing Mode (0x00/0x01/0x02)
Set_Segment_Remap(0x01); // Set SEG/Column Mapping
Set_Common_Remap(0x08); // Set COM/Row Scan Direction
Set_Common_Config(0x10); // Set Sequential Configuration (0x00/0x10)
SetContrastControl(0xCF); // Set SEG Output Current
Set_Precharge_Period(0xF1); // Set Pre-Charge as 15 Clocks & Discharge as
1 Clock
Set_VCOMH(0x40); // Set VCOM Deselect Level
Set_Entire_Display(0x00); // Disable Entire Display On
(0x00/0x01)
Set_Inverse_Display(0x00); // Disable Inverse Display On (0x00/0x01)
Set_Display_On_Off(0x01); // Display On (0x00/0x01)
LED_Fill(0x00); //clear all
LED_Set_Pos(0,0);
}

void LED_P6x8Char(unsigned char x,unsigned char y,unsigned char ch)


{
unsigned char c=0,i=0,j=0;

c =ch-32;
if(x>122)
{
x=0;
y++;
}
LED_Set_Pos(x,y);
for(i=0;i<6;i++)
{
LED_WrDat(F6x8[c][i]);
}
}

void LED_P6x8Str(unsigned char x,unsigned char y,char ch[])


{
unsigned char c=0,i=0,j=0;
while (ch[j]!='\0')
{
c =ch[j]-32;
if(x>126)
{
x=0;
y++;
}
LED_Set_Pos(x,y);
for(i=0;i<6;i++)
{
LED_WrDat(F6x8[c][i]);
}
x+=6;
j++;
}
}

void LED_P8x16Str(unsigned char x,unsigned char y,char ch[])


{
unsigned char c=0,i=0,j=0;
while (ch[j]!='\0')
{
c =ch[j]-32;
if(x>120)
{
x=0;
y++;
}
LED_Set_Pos(x,y);
for(i=0;i<8;i++)
{
LED_WrDat(F8X16[(c<<4)+i]);
}
LED_Set_Pos(x,y+1);
for(i=0;i<8;i++)
{
LED_WrDat(F8X16[(c<<4)+i+8]);
}
x+=8;
j++;
}
}

void LED_PrintBMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char


y1,unsigned char bmp[])
{
int ii=0;
unsigned char x,y;
for(y=y0;y<=y1;y++)
{
LED_Set_Pos(x0,y);
for(x=x0;x<x1;x++)
{
LED_WrDat(bmp[ii++]);
}
}
}

void LED_PrintValueC(unsigned char x, unsigned char y, char data)


{
unsigned char i,j,k;
if(data < 0)
{
LED_P6x8Char(x,y,'-');
data = - data;
}
else
{
LED_P6x8Char(x,y,'+');
}
i = data/100;
j = (data%100)/10;
k = data%10;
LED_P6x8Char(x+6,y,i+48);
LED_P6x8Char(x+12,y,j+48);
LED_P6x8Char(x+18,y,k+48);
}

void LED_PrintValueI(unsigned char x, unsigned char y, int data)


{
unsigned char i,j,k,l,m;
if(data < 0)
{
LED_P6x8Char(x,y,'-');
data = - data;
}
else
{
LED_P6x8Char(x,y,'+');
}

l = data/10000;
m= (data%10000)/1000;
i = (data%1000)/100;
j = (data%100)/10;
k = data%10;
LED_P6x8Char(x+6,y,l+48);
LED_P6x8Char(x+12,y,m+48);
LED_P6x8Char(x+18,y,i+48);
LED_P6x8Char(x+24,y,j+48);
LED_P6x8Char(x+30,y,k+48);
}

void LED_PrintValueFP(unsigned char x, unsigned char y, unsigned int data,


unsigned char num)
{
unsigned char m,i,j,k;
LED_P6x8Char(x, y, '.');
m= data/1000;
i = (data%1000)/100;
j = (data%100)/10;
k = data%10;
switch(num)
{
case 1: LED_P6x8Char(x+6,y,k+48);
break;
case 2: LED_P6x8Char(x+6,y,j+48);
LED_P6x8Char(x+12,y,k+48);
break;
case 3: LED_P6x8Char(x+6,y,i+48);
LED_P6x8Char(x+12,y,j+48);
LED_P6x8Char(x+18,y,k+48);
break;
case 4: LED_P6x8Char(x+6,y,m+48);
LED_P6x8Char(x+12,y,i+48);
LED_P6x8Char(x+18,y,j+48);
LED_P6x8Char(x+24,y,k+48);
break;
}
}

void LED_PrintValueF(unsigned char x, unsigned char y, float data, unsigned char


num)
{
unsigned char l,m,i,j,k;
unsigned char databiti = 6;
unsigned int tempdataui = 0;
int tempdataii = (int)data;
long int tempdatalp = (long int)((data - (int)data)*10000);

if(data < 0.0000001) LED_P6x8Char(x, y,'-');


else LED_P6x8Char(x, y,'+');
if(tempdataii < 0)tempdataii = - tempdataii;
tempdataui = tempdataii;
l = tempdataui/10000;
m= (tempdataui%10000)/1000;
i = (tempdataui%1000)/100;
j = (tempdataui%100)/10;
k = tempdataui%10;
if (l != 0)
{
LED_P6x8Char(x+6,y,l+48);
LED_P6x8Char(x+12,y,m+48);
LED_P6x8Char(x+18,y,i+48);
LED_P6x8Char(x+24,y,j+48);
LED_P6x8Char(x+30,y,k+48);
}
else if(m != 0)
{
databiti = 5;
LED_P6x8Char(x+6,y,m+48);
LED_P6x8Char(x+12,y,i+48);
LED_P6x8Char(x+18,y,j+48);
LED_P6x8Char(x+24,y,k+48);
}
else if(i != 0)
{
databiti = 4;
LED_P6x8Char(x+6,y,i+48);
LED_P6x8Char(x+12,y,j+48);
LED_P6x8Char(x+18,y,k+48);
}
else if(j != 0)
{
databiti = 3;
LED_P6x8Char(x+6,y,j+48);
LED_P6x8Char(x+12,y,k+48);
}
else
{
databiti = 2;
LED_P6x8Char(x+6,y,k+48);
}
if(tempdatalp < 0)tempdatalp = - tempdatalp;
switch(num)
{
case 0: break;
case 1: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)
(tempdatalp / 1000),num);break;
case 2: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)
(tempdatalp / 100),num);break;
case 3: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)
(tempdatalp / 10),num);break;
case 4: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)
(tempdatalp),num);break;
}
}

void LED_Cursor(unsigned char cursor_column, unsigned char cursor_row)


{
if(cursor_row != 0)
{
if(cursor_column == 1) LED_Set_Pos(0, cursor_row + 2);
else LED_Set_Pos(80 + (cursor_column - 2)*6, cursor_row + 2);
LED_WrDat(0xFF);
LED_WrDat(0xFF);
LED_WrDat(0xFF);
LED_WrDat(0xFF);
LED_WrDat(0xFF);
LED_WrDat(0xFF);
}
}
void setup()
{
LEDPIN_Init();
LED_Init();
}
void loop()
{
LED_PrintBMP(0,0,128,7,(unsigned char *)logo);
}

You might also like