//该例程基于STM8L151单片机，IO口模拟SPI通信方式进行驱动。
//移植工作需要修改宏定义，底层驱动部分。

void LCD12864_comm_out(char data);
void LCD12864_data_out(char data);
void LCD12864_SPI_Write(char data);
char LCD12864_SPI_Read(uint8_t ack);
void LCD12864_show_8x8(char y, char x, char word) ;
void LCD12864_show_25x40(char y, char x, char word);
void LCD12864_show_variable(char y, char x, char l, char p, float word); 
unsigned char Arial_25x40[];
unsigned char Arial_8x8[];

#define LCDSDA_SetOutput()      GPIO_Init(GPIOB, GPIO_Pin_0, GPIO_Mode_Out_PP_Low_Fast); 
#define LCDSDA_SetInput()       GPIO_Init(GPIOB, GPIO_Pin_0, GPIO_Mode_In_PU_No_IT); 
#define LCDSDA_SetVal()         GPIO_SetBits(GPIOB, GPIO_Pin_0);     
#define LCDSDA_ClrVal()         GPIO_ResetBits(GPIOB, GPIO_Pin_0);     
#define LCDSDA_GetVal()         GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0)
                 
#define LCDSCL_SetOutput()	GPIO_Init(GPIOD, GPIO_Pin_3, GPIO_Mode_Out_PP_Low_Fast);   
#define LCDSCL_SetVal()	        GPIO_SetBits(GPIOD, GPIO_Pin_3);  
#define LCDSCL_ClrVal()		GPIO_ResetBits(GPIOD, GPIO_Pin_3);   

#define LCDDC_SetOutput()	GPIO_Init(GPIOD, GPIO_Pin_2, GPIO_Mode_Out_PP_Low_Slow);   
#define LCDDC_SetVal()	        GPIO_SetBits(GPIOD, GPIO_Pin_2);  
#define LCDDC_ClrVal()		GPIO_ResetBits(GPIOD, GPIO_Pin_2);   

#define LCDRST_SetOutput()	GPIO_Init(GPIOD, GPIO_Pin_1, GPIO_Mode_Out_PP_Low_Slow);   
#define LCDRST_SetVal()	        GPIO_SetBits(GPIOD, GPIO_Pin_1);  
#define LCDRST_ClrVal()		GPIO_ResetBits(GPIOD, GPIO_Pin_1);   

#define LCDCS_SetOutput()	GPIO_Init(GPIOD, GPIO_Pin_0, GPIO_Mode_Out_PP_Low_Slow);   
#define LCDCS_SetVal()	        GPIO_SetBits(GPIOD, GPIO_Pin_0);  
#define LCDCS_ClrVal()		GPIO_ResetBits(GPIOD, GPIO_Pin_0);

/****************************测试函数*********************************/
void LCD12864(void)
{

  //显示一串字符mmH2O
      char sentence12[]  = "mmH2O";
       for(int i=0;i<5;i++) LCD12864_show_8x8(6,70+i*8,sentence12[i]);     

  //显示一个25x40变量
         float fPress5 = -98.67；
         LCD12864_show_variable(1,0,4,2,fPress5); 
        
    //显示一个8*8的无符号变量
         int   addr = 1234;
           for(int i=0;i<=3;i++) 
            { 
                LCD12864_show_8x8(0, 2-i*8+2*8, addr%10+48) ;     
                 addr = addr/10;
            }
}

/*******************显示一个变量，字符大小25x40***************
该函数未完全测试所有变量组合，可能存在BUG
*  y: 列位置，取值范围0-7
*  x: 行位置，取值范围0-127
*  l: 显示变量位数
*  p: 小数点位置,不参与word计算
*  word: 变量，配合p使用，缩放
****************************************************************/
void LCD12864_show_variable(char y, char x, char l, char p, float word) 
{
  int w;
       /************小数点************/
      if(p == 1)
      {
            LCD12864_comm_out(0xb6); //Set  page行地址
            LCD12864_comm_out(6);   //Set 低列地址
            LCD12864_comm_out(0x16);   //Set 高列地址
            for(int i=0;i<4;i++)    {    LCD12864_data_out(0x0F);      }
      }
     else if(p == 2)
     {
            LCD12864_comm_out(0xb6); //Set  page行地址
            LCD12864_comm_out(6);   //Set 低列地址
            LCD12864_comm_out(0x14);   //Set 高列地址
             for(int i=0;i<4;i++) {    LCD12864_data_out(0x0F);      }   
     }
         //负数处理    
     if (word<-0)   {LCD12864_show_25x40(y, x, 48+10);  word = ~((int)word-1);} //负号
     else           LCD12864_show_25x40(y, x, 48+11); //空
     
     w = (int)word;

        for(int i=0;i<l;i++) //从低到高
        { 
            w = (int)word;
            if ((w ==0)&&(i>p))
                LCD12864_show_25x40(y, x+l*25-i*25,48+11);  //空格
            else
            {   w=(int)word%10;  LCD12864_show_25x40(y, x+l*25-i*25, w+48) ;     }//数字

            word /= 10;
        }
}
/********************************显示一个字符****************************/
void LCD12864_show_25x40(char y, char x, char word) 
{ 
    int i,n;    
    for(n=0;n<5;n++) //page1-5
    { 
        LCD12864_comm_out(0xb0+y+n); //Set  page行地址
        LCD12864_comm_out(0x00+x%16);   //Set 低列地址
        LCD12864_comm_out(0x10+x/16);   //Set 高列地址
        for(i=0;i<25;i++) 
        {           LCD12864_data_out(Arial_25x40[(word-0x30)*25*5+i*5+n]);         }
    }
}
void LCD12864_show_8x8(char y, char x, char word) 
{   
    LCD12864_comm_out(0xb0+y); //Set  page行地址
    LCD12864_comm_out(0x00+x%16);   //Set 低列地址
    LCD12864_comm_out(0x10+x/16);   //Set 高列地址
    
    for(int i=0;i<8;i++) 
    {              LCD12864_data_out(Arial_8x8[(word-0x20)*8+i]);     }
}
/***************I2C初始化函数********************/
void LCD12864_Init(void)
{
    LCDCS_SetOutput(); LCDCS_ClrVal();
    LCDSDA_SetOutput();	
    LCDSCL_SetOutput();	
    LCDDC_SetOutput();
    
    LCDRST_SetOutput();
    LCDRST_SetVal(); _Delay_us(10000);
    LCDRST_ClrVal(); _Delay_us(10000);
    LCDRST_SetVal(); _Delay_us(10000);
    
    LCD12864_comm_out(0xe2);
    LCD12864_comm_out(0xa4);
    LCD12864_comm_out(0xa6);//正常显示
   // LCD12864_comm_out(0xa7);
    LCD12864_comm_out(0xa2);
    
    LCD12864_comm_out(0xa0);
    LCD12864_comm_out(0xc8);
    
    LCD12864_comm_out(0x2f);
    LCD12864_comm_out(0x25);
    LCD12864_comm_out(0x40);
    
    LCD12864_comm_out(0x81);
    LCD12864_comm_out(0x23);
    LCD12864_comm_out(0xaf);
    _Delay_us(1000);
    
    for(int i=0;i<8;i++) 
    { 
      LCD12864_comm_out(0xb0+i); //Set Page 
      LCD12864_comm_out(0x00);    //Lower Column Address 
      LCD12864_comm_out(0x10);    //Higher Column Address 
      for(int j=0;j<128;j++) 
      { 
        LCD12864_data_out(0x00); 
      }
    }
    
}
/***************底层驱动，IO口模拟SPI通信方式******************/
void LCD12864_comm_out(char data)
{
    LCDDC_ClrVal();
    LCD12864_SPI_Write(data);
}
void LCD12864_data_out(char data)
{
    LCDDC_SetVal();
    LCD12864_SPI_Write(data);
}
void LCD12864_SPI_Write(char data)
{
    uint8_t i;
    LCDSDA_SetOutput();
    for(i=0; i<8; i++)
    {
        if(data & 0x80)
        {                LCDSDA_SetVal();        }
        else
        {                LCDSDA_ClrVal();        }
        data <<= 1;		//_Delay_ns(1);
        LCDSCL_SetVal();	//_Delay_ns(1);
        LCDSCL_ClrVal();	//_Delay_ns(1);
    }
}
char   LCD12864_SPI_Read(uint8_t ack)
{
	uint8_t i,dat = 0;
	LCDSDA_SetInput();
	for(i=0; i<8; i++)
	{
		LCDSCL_SetVal();		_Delay_us(2);
		dat <<= 1;
		if(LCDSDA_GetVal())	dat |= 1;
		LCDSCL_ClrVal();		_Delay_us(2);
	}

//	LCDSCL_SetVal();	_Delay_us(2);
//	LCDSCL_ClrVal();	_Delay_us(2);
	return(dat);
}

void _Delay_us(int32_t dly)
{
        dly <<=2;
	for(long int i=0;i<dly;i++)
	{
		;//for(int j=0;j<2;j++)	{	}
        }
}

void _Delay_ns(int32_t dly)
{
	int32_t i;
	if(dly > 0)
	{
		i = dly;
		//dly <<= 2;
		dly += i;
	}
	do
	{
            dly--;
	}while(dly > 0);
}
/******************************************************************************
* 字体名称: Arial ，55号
* 点阵大小: 25x40
* 字符数量: 12
* 扫描方式: 水平扫描,MSB
*******************************************************************************/
unsigned char Arial_25x40[]=
{
//UNICODE:0x30
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,
0xFF,0xFF,0xFF,0x01,0xC0,0xFF,0xFF,0xFF,0x07,0xE0,0xFF,0xFF,0xFF,0x0F,0xE0,0xFF,
0xFF,0xFF,0x0F,0xF0,0xFF,0xFF,0xFF,0x1F,0xF0,0x1F,0x00,0xF0,0x1F,0xF8,0x07,0x00,
0xC0,0x3F,0xF8,0x03,0x00,0x80,0x3F,0xF8,0x01,0x00,0x00,0x3F,0xF8,0x01,0x00,0x00,
0x3F,0xF8,0x01,0x00,0x00,0x3F,0xF8,0x03,0x00,0x80,0x3F,0xF8,0x07,0x00,0xC0,0x3F,
0xF0,0x1F,0x00,0xF0,0x1F,0xF0,0xFF,0xFF,0xFF,0x1F,0xE0,0xFF,0xFF,0xFF,0x0F,0xE0,
0xFF,0xFF,0xFF,0x0F,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x01,0x00,0xFC,
0xFF,0x7F,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x31
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xF0,0x03,0x00,0x00,0x00,0xF8,0x01,0x00,0x00,0x00,0xF8,0x01,0x00,0x00,0x00,0xFC,
0x01,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x7F,0x00,
0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0xC0,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,
0x3F,0xF8,0xFF,0xFF,0xFF,0x3F,0xF8,0xFF,0xFF,0xFF,0x3F,0xF8,0xFF,0xFF,0xFF,0x3F,
0xF8,0xFF,0xFF,0xFF,0x3F,0xF8,0xFF,0xFF,0xFF,0x3F,0xF8,0xFF,0xFF,0xFF,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,
//UNICODE:0x32
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x18,0x00,0x00,0x3E,0x00,
0x3F,0x00,0x80,0x3F,0x80,0x3F,0x00,0xC0,0x3F,0xC0,0x3F,0x00,0xF0,0x3F,0xE0,0x3F,
0x00,0xF8,0x3F,0xF0,0x3F,0x00,0xFC,0x3F,0xF0,0x3F,0x00,0xFE,0x3F,0xF8,0x07,0x00,
0xFF,0x3F,0xF8,0x03,0x80,0xFF,0x3F,0xF8,0x01,0xC0,0xBF,0x3F,0xF8,0x01,0xE0,0x9F,
0x3F,0xF8,0x01,0xF0,0x8F,0x3F,0xF8,0x01,0xF8,0x87,0x3F,0xF8,0x03,0xFC,0x83,0x3F,
0xF8,0x07,0xFF,0x81,0x3F,0xF0,0xFF,0xFF,0x80,0x3F,0xF0,0xFF,0x7F,0x80,0x3F,0xF0,
0xFF,0x3F,0x80,0x3F,0xE0,0xFF,0x1F,0x80,0x3F,0xC0,0xFF,0x0F,0x80,0x3F,0x80,0xFF,
0x03,0x80,0x3F,0x00,0xFE,0x00,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x33
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x0C,0x00,0xF0,0x01,0x00,
0x0F,0x00,0xF8,0x03,0xC0,0x0F,0x00,0xF8,0x07,0xE0,0x1F,0x00,0xF8,0x0F,0xE0,0x1F,
0x00,0xF8,0x1F,0xF0,0x1F,0x00,0xF8,0x1F,0xF0,0x1F,0x00,0xE0,0x1F,0xF8,0x07,0x00,
0x80,0x3F,0xF8,0x03,0x1E,0x80,0x3F,0xF8,0x01,0x1F,0x00,0x3F,0xF8,0x01,0x1F,0x00,
0x3F,0xF8,0x81,0x1F,0x00,0x3F,0xF8,0xC3,0x1F,0x80,0x3F,0xF8,0xFF,0x3F,0x80,0x3F,
0xF0,0xFF,0xFF,0xE0,0x1F,0xF0,0xFF,0xFB,0xFF,0x1F,0xE0,0xFF,0xF9,0xFF,0x0F,0xC0,
0xFF,0xF9,0xFF,0x0F,0x80,0xFF,0xF0,0xFF,0x07,0x00,0x3E,0xE0,0xFF,0x03,0x00,0x00,
0xC0,0xFF,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x34
0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0xE0,0x7F,0x00,0x00,
0x00,0xF0,0x7F,0x00,0x00,0x00,0xFC,0x7F,0x00,0x00,0x00,0xFE,0x7F,0x00,0x00,0x80,
0xFF,0x7E,0x00,0x00,0xC0,0x7F,0x7E,0x00,0x00,0xF0,0x1F,0x7E,0x00,0x00,0xF8,0x0F,
0x7E,0x00,0x00,0xFC,0x03,0x7E,0x00,0x00,0xFF,0x01,0x7E,0x00,0x80,0x7F,0x00,0x7E,
0x00,0xE0,0x3F,0x00,0x7E,0x00,0xF0,0xFF,0xFF,0xFF,0x3F,0xF8,0xFF,0xFF,0xFF,0x3F,
0xF8,0xFF,0xFF,0xFF,0x3F,0xF8,0xFF,0xFF,0xFF,0x3F,0xF8,0xFF,0xFF,0xFF,0x3F,0xF8,
0xFF,0xFF,0xFF,0x3F,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,
0x00,0x7E,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x7E,0x00,
//UNICODE:0x35
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x60,0xF0,0x01,0x00,
0x00,0x7F,0xF8,0x03,0x00,0xF8,0x7F,0xF8,0x07,0xC0,0xFF,0xFF,0xF8,0x0F,0xF8,0xFF,
0xFF,0xF8,0x1F,0xF8,0xFF,0xFF,0xF8,0x1F,0xF8,0xFF,0x7F,0xE0,0x1F,0xF8,0xFF,0x3F,
0x80,0x3F,0xF8,0xFF,0x3F,0x80,0x3F,0xF8,0x07,0x1F,0x00,0x3F,0xF8,0x83,0x1F,0x00,
0x3F,0xF8,0x83,0x1F,0x00,0x3F,0xF8,0x83,0x1F,0x00,0x3F,0xF8,0x83,0x3F,0x80,0x3F,
0xF8,0x83,0x7F,0xE0,0x1F,0xF8,0x03,0xFF,0xFF,0x1F,0xF8,0x03,0xFF,0xFF,0x0F,0xF8,
0x03,0xFE,0xFF,0x0F,0xF8,0x03,0xFE,0xFF,0x07,0xF8,0x03,0xFC,0xFF,0x03,0x00,0x00,
0xF0,0xFF,0x00,0x00,0x00,0xC0,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x36
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,
0xFE,0xFF,0xFF,0x01,0x80,0xFF,0xFF,0xFF,0x03,0xC0,0xFF,0xFF,0xFF,0x07,0xE0,0xFF,
0xFF,0xFF,0x0F,0xE0,0xFF,0xFB,0xFF,0x1F,0xF0,0x0F,0xFC,0xE0,0x1F,0xF0,0x07,0x7E,
0x80,0x3F,0xF8,0x03,0x3E,0x80,0x3F,0xF8,0x01,0x3F,0x00,0x3F,0xF8,0x01,0x3F,0x00,
0x3F,0xF8,0x01,0x3F,0x00,0x3F,0xF8,0x03,0x3F,0x00,0x3F,0xF8,0x07,0x7F,0x80,0x3F,
0xF8,0x1F,0xFF,0xC0,0x3F,0xF0,0x1F,0xFE,0xFF,0x1F,0xF0,0x1F,0xFE,0xFF,0x1F,0xE0,
0x1F,0xFC,0xFF,0x0F,0xC0,0x1F,0xF8,0xFF,0x07,0x00,0x0F,0xF0,0xFF,0x03,0x00,0x0C,
0xE0,0xFF,0x01,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x37
0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00,0xF8,
0x03,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x3E,0xF8,0x03,
0x00,0xF0,0x3F,0xF8,0x03,0x00,0xFE,0x3F,0xF8,0x03,0x80,0xFF,0x3F,0xF8,0x03,0xF0,
0xFF,0x3F,0xF8,0x03,0xFC,0xFF,0x3F,0xF8,0x03,0xFE,0xFF,0x3F,0xF8,0x83,0xFF,0xFF,
0x00,0xF8,0xE3,0xFF,0x0F,0x00,0xF8,0xF3,0xFF,0x00,0x00,0xF8,0xFB,0x1F,0x00,0x00,
0xF8,0xFF,0x07,0x00,0x00,0xF8,0xFF,0x01,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0xF8,
0x3F,0x00,0x00,0x00,0xF8,0x0F,0x00,0x00,0x00,0xF8,0x07,0x00,0x00,0x00,0xF8,0x03,
0x00,0x00,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x38
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x80,0xFF,0x01,0x80,
0xFF,0xC1,0xFF,0x03,0xC0,0xFF,0xE3,0xFF,0x07,0xE0,0xFF,0xF3,0xFF,0x0F,0xF0,0xFF,
0xF7,0xFF,0x1F,0xF0,0xFF,0xFF,0xFF,0x1F,0xF0,0xFF,0xFF,0xC1,0x1F,0xF8,0x83,0x7F,
0x00,0x3F,0xF8,0x01,0x3F,0x00,0x3F,0xF8,0x00,0x3E,0x00,0x3E,0xF8,0x00,0x3E,0x00,
0x3E,0xF8,0x00,0x3E,0x00,0x3E,0xF8,0x01,0x3F,0x00,0x3E,0xF8,0x83,0x7F,0x00,0x3F,
0xF0,0xFF,0xFF,0xC1,0x3F,0xF0,0xFF,0xFF,0xFF,0x1F,0xF0,0xFF,0xF7,0xFF,0x1F,0xE0,
0xFF,0xF3,0xFF,0x0F,0xC0,0xFF,0xE3,0xFF,0x07,0x80,0xFF,0xC1,0xFF,0x07,0x00,0x7E,
0x80,0xFF,0x01,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x39
0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x00,0x00,0x00,0xFF,0x0F,0x60,0x00,0x80,
0xFF,0x1F,0xE0,0x03,0xC0,0xFF,0x3F,0xF0,0x07,0xE0,0xFF,0x7F,0xF0,0x0F,0xF0,0xFF,
0xFF,0xF0,0x1F,0xF0,0xFF,0xFF,0xF0,0x1F,0xF8,0x07,0xFE,0xF1,0x3F,0xF8,0x03,0xFC,
0xC1,0x3F,0xF8,0x01,0xF8,0x81,0x3F,0xF8,0x01,0xF8,0x01,0x3F,0xF8,0x01,0xF8,0x01,
0x3F,0xF8,0x01,0xF8,0x01,0x3F,0xF8,0x03,0xF8,0x80,0x3F,0xF8,0x03,0xFC,0x80,0x1F,
0xF0,0x0F,0x7E,0xE0,0x1F,0xF0,0xFF,0xBF,0xFF,0x0F,0xE0,0xFF,0xFF,0xFF,0x0F,0xC0,
0xFF,0xFF,0xFF,0x07,0x80,0xFF,0xFF,0xFF,0x03,0x00,0xFF,0xFF,0xFF,0x01,0x00,0xFC,
0xFF,0x3F,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x2D
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,
0x00,0x80,0x1F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,
0x80,0x1F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x80,
0x1F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x80,0x1F,
0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x20
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

/******************************************************************************
* 字体名称: Arial,13
* 点阵大小: 8x8
* 字符数量: 128
* 扫描方式: 垂直扫描,LSB
*******************************************************************************/
unsigned char Arial_8x8[]=
{
//UNICODE:0x20
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x21
0x00,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x22
0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x23
0xE8,0x38,0xEE,0x38,0x2E,0x00,0x00,0x00,
//UNICODE:0x24
0x4C,0x8A,0xFE,0x92,0x74,0x00,0x00,0x00,
//UNICODE:0x25
0x00,0x0C,0x12,0xCC,0x30,0x6C,0x92,0x60,
//UNICODE:0x26
0x60,0x94,0x9A,0xAA,0x46,0xE0,0xA0,0x00,
//UNICODE:0x27
0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x28
0xF8,0x04,0x02,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x29
0x02,0x04,0xF8,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x2A
0x0A,0x06,0x0A,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x2B
0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,
//UNICODE:0x2C
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x2D
0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,
//UNICODE:0x2E
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x2F
0xC0,0x38,0x06,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x30
0x7C,0x82,0x82,0x82,0x7C,0x00,0x00,0x00,
//UNICODE:0x31
0x00,0x08,0x04,0xFE,0x00,0x00,0x00,0x00,
//UNICODE:0x32
0x84,0xC2,0xA2,0x92,0x8C,0x00,0x00,0x00,
//UNICODE:0x33
0x44,0x82,0x92,0x92,0x6C,0x00,0x00,0x00,
//UNICODE:0x34
0x30,0x28,0x24,0x22,0xFE,0x20,0x00,0x00,
//UNICODE:0x35
0x58,0x8E,0x8A,0x8A,0x72,0x00,0x00,0x00,
//UNICODE:0x36
0x7C,0x8A,0x8A,0x8A,0x74,0x00,0x00,0x00,
//UNICODE:0x37
0x02,0xC2,0x32,0x0E,0x02,0x00,0x00,0x00,
//UNICODE:0x38
0x6C,0x92,0x92,0x92,0x6C,0x00,0x00,0x00,
//UNICODE:0x39
0x5C,0xA2,0xA2,0xA2,0x7C,0x00,0x00,0x00,
//UNICODE:0x3A
0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x3B
0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x3C
0x00,0x10,0x28,0x28,0x44,0x00,0x00,0x00,
//UNICODE:0x3D
0x28,0x28,0x28,0x28,0x28,0x00,0x00,0x00,
//UNICODE:0x3E
0x00,0x44,0x28,0x28,0x10,0x00,0x00,0x00,
//UNICODE:0x3F
0x04,0x02,0x02,0xB2,0x12,0x0C,0x00,0x00,
//UNICODE:0x40
0x00,0xF8,0x04,0x72,0x8A,0x8A,0xF2,0x9A,
//UNICODE:0x41
0x80,0x70,0x2C,0x22,0x2C,0x70,0x80,0x00,
//UNICODE:0x42
0x00,0xFE,0x92,0x92,0x92,0x7C,0x00,0x00,
//UNICODE:0x43
0x00,0x7C,0x82,0x82,0x82,0x44,0x00,0x00,
//UNICODE:0x44
0x00,0xFE,0x82,0x82,0x44,0x38,0x00,0x00,
//UNICODE:0x45
0x00,0xFE,0x92,0x92,0x92,0x92,0x00,0x00,
//UNICODE:0x46
0x00,0xFE,0x12,0x12,0x02,0x00,0x00,0x00,
//UNICODE:0x47
0x00,0x38,0x44,0x82,0x92,0x54,0x30,0x00,
//UNICODE:0x48
0x00,0xFE,0x10,0x10,0x10,0xFE,0x00,0x00,
//UNICODE:0x49
0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x4A
0xC0,0x80,0x80,0x7E,0x00,0x00,0x00,0x00,
//UNICODE:0x4B
0x00,0xFE,0x20,0x10,0x28,0x44,0x82,0x00,
//UNICODE:0x4C
0x00,0xFE,0x80,0x80,0x80,0x80,0x00,0x00,
//UNICODE:0x4D
0x00,0xFE,0x0C,0x70,0x80,0x70,0x0C,0xFE,
//UNICODE:0x4E
0x00,0xFE,0x0C,0x10,0x60,0xFE,0x00,0x00,
//UNICODE:0x4F
0x00,0x7C,0x82,0x82,0x82,0x82,0x7C,0x00,
//UNICODE:0x50
0x00,0xFE,0x12,0x12,0x12,0x0C,0x00,0x00,
//UNICODE:0x51
0x00,0x7C,0x82,0x82,0xC2,0xC2,0xBC,0x00,
//UNICODE:0x52
0x00,0xFE,0x12,0x12,0x32,0xCC,0x00,0x00,
//UNICODE:0x53
0x00,0x4C,0x92,0x92,0x92,0x64,0x00,0x00,
//UNICODE:0x54
0x00,0x02,0x02,0xFE,0x02,0x02,0x00,0x00,
//UNICODE:0x55
0x00,0x7E,0x80,0x80,0x80,0x7E,0x00,0x00,
//UNICODE:0x56
0x02,0x1C,0x60,0x80,0x60,0x1C,0x02,0x00,
//UNICODE:0x57
0x06,0x78,0x80,0x7C,0x02,0x7C,0x80,0x78,
//UNICODE:0x58
0x80,0x42,0x24,0x18,0x24,0x42,0x80,0x00,
//UNICODE:0x59
0x02,0x04,0x08,0xF0,0x08,0x04,0x02,0x00,
//UNICODE:0x5A
0xC2,0xA2,0x92,0x8A,0x86,0x82,0x00,0x00,
//UNICODE:0x5B
0x00,0xFE,0x02,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x5C
0x06,0x38,0xC0,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x5D
0x02,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x5E
0x10,0x0C,0x02,0x0C,0x10,0x00,0x00,0x00,
//UNICODE:0x5F
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x60
0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x61
0x00,0xC0,0xA8,0xA8,0xF8,0x00,0x00,0x00,
//UNICODE:0x62
0x00,0xFE,0x88,0x88,0x70,0x00,0x00,0x00,
//UNICODE:0x63
0x00,0x70,0x88,0x88,0x50,0x00,0x00,0x00,
//UNICODE:0x64
0x00,0x70,0x88,0x88,0xFE,0x00,0x00,0x00,
//UNICODE:0x65
0x00,0x70,0xA8,0xA8,0xB0,0x00,0x00,0x00,
//UNICODE:0x66
0x08,0xFC,0x0A,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x67
0x00,0x70,0x88,0x88,0xF8,0x00,0x00,0x00,
//UNICODE:0x68
0x00,0xFE,0x08,0x08,0xF0,0x00,0x00,0x00,
//UNICODE:0x69
0x00,0xFA,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x6A
0x00,0xFA,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x6B
0xFE,0x20,0x70,0x88,0x00,0x00,0x00,0x00,
//UNICODE:0x6C
0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x6D
0x00,0xF8,0x08,0x08,0xF8,0x08,0x08,0xF0,
//UNICODE:0x6E
0x00,0xF8,0x08,0x08,0xF0,0x00,0x00,0x00,
//UNICODE:0x6F
0x00,0x70,0x88,0x88,0x70,0x00,0x00,0x00,
//UNICODE:0x70
0x00,0xF8,0x88,0x88,0x70,0x00,0x00,0x00,
//UNICODE:0x71
0x00,0x70,0x88,0x88,0xF8,0x00,0x00,0x00,
//UNICODE:0x72
0x00,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x73
0x90,0xA8,0xA8,0x48,0x00,0x00,0x00,0x00,
//UNICODE:0x74
0x08,0xFE,0x88,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x75
0x00,0x78,0x80,0x80,0xF8,0x00,0x00,0x00,
//UNICODE:0x76
0x08,0x70,0x80,0x70,0x08,0x00,0x00,0x00,
//UNICODE:0x77
0x78,0x80,0x70,0x08,0x70,0x80,0x78,0x00,
//UNICODE:0x78
0x88,0x50,0x20,0x50,0x88,0x00,0x00,0x00,
//UNICODE:0x79
0x08,0x70,0x80,0x70,0x08,0x00,0x00,0x00,
//UNICODE:0x7A
0x88,0xC8,0xA8,0x98,0x88,0x00,0x00,0x00,
//UNICODE:0x7B
0x20,0xDE,0x02,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x7C
0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x7D
0x02,0xDE,0x20,0x00,0x00,0x00,0x00,0x00,
//UNICODE:0x7E
0x30,0x10,0x30,0x20,0x30,0x00,0x00,0x00,
//UNICODE:0x7F
0xFE,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,

//UNICODE:0x00
0x00,0xFE,0x82,0x82,0x82,0x82,0xFE,0x00,
0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0x00,



};
