码迷,mamicode.com
首页 > 其他好文 > 详细

不带字库LCD12864操作源程序(仅支持串口方式)

时间:2014-06-11 06:22:10      阅读:1323      评论:0      收藏:0      [点我收藏+]

标签:单片机   12864   

/***************************************************
LCD:晶联讯电子 JLX12864G-086-PN(不带字库 驱动IC-UC1701X)
仅支持串行驱动方式
***************************************************/
 
//========c12864.h=============================================
#ifndef _C12864_H_
#define _C12864_H_
//#include "c12864.h"
/*
sbit    P_LCDCS = P0^7 ;
sbit    P_LCDRST = P0^6 ;
sbit    P_LCDRS = P0^3 ;
sbit    P_LCDDAT = P0^2 ;
sbit    P_LCDCLK = P2^6 ;
*/


//#define     LCD_
//-----页地址定义-----
#define     Page1       0
#define     Page2       1
#define     Page3       2
#define     Page4       3
#define     Page5       4
#define     Page6       5
#define     Page7       6
#define     Page8       7
//-----列地址定义-----每8列地址增1
#define     List8_1        0
#define     List8_2        7
#define     List8_3        15
#define     List8_4        23
#define     List8_5        31
#define     List8_6        39
#define     List8_7        47
#define     List8_8        55
#define     List8_9        63
#define     List8_10       71
#define     List8_11       79
#define     List8_12       87
#define     List8_13       95
#define     List8_14       103
#define     List8_15       111
#define     List8_16       119
//#define     List8_17       127
//-----列地址定义-----每16列地址增1
#define     List16_1        0
#define     List16_2        15
#define     List16_3        31
#define     List16_4        47
#define     List16_5        63
#define     List16_6        79
#define     List16_7        95
#define     List16_8        111


//----------------------------------
#define     STR_CHARG       "Charge"    //提示充电
#define     STR_PRCE        "%"         //电量百分比
#define     STR_ERR         "Err"  //出错显示
#define     STR_OFF         "OFF"  //关机显示
//待机显示
#define     STR_WAIT1         "Portable UPS" 
#define     STR_WAIT2         "110V/60HZ" 
#define     STR_WAIT3         "Select:DC OR AC" 
#define     STR_WAIT4         "BATTERY:" 
//开机显示
#define     STR_OUTSTATUS      "Out Status:" 
#define     STR_DCOUT12V         "DC12V" 
#define     STR_DCOUT5V         "DC5V" 
#define     STR_ACOUT         "AC110V"
//#define     STR_MAOHAO         ":"
 
//======================================
extern uint8 code LOCKA[2][16] ;
//extern uint8 code BATS[10][16] ;
extern uint8 code BAT2S[12][32] ;
extern uint8 code NC[] ;
extern uint8 code mao_hao[] ;
extern uint8 code num1[] ;
extern uint8 code num2[] ;
extern uint8 code num3[] ;
extern uint8 code num4[] ;
extern uint8 code num5[] ;
extern uint8 code num6[] ;
extern uint8 code num7[] ;
extern uint8 code num8[] ;
extern uint8 code num9[] ;
extern uint8 code Tab_Ascii_8x16[95][16] ;
extern uint8 code Tab_Ascii_5x7[95][5] ;
extern uint8 code zhuang1[] ;
extern uint8 code tai1[] ;
extern uint8 code shi1[] ;
extern uint8 code yong1[] ;
//----------------------------------
//extern void LcdWriteCommand(uint8 data1) ;
extern void Display_Graphic_32x32(uint8 page,uint8 column,uint8 *dp) ;
extern void Display_Graphic_32x16(uint8 page,uint8 column,uint8 *dp) ;
extern void Display_Graphic_16x16(uint8 page,uint8 column,uint8 *dp) ;
extern void Display_Graphic_8x16(uint8 page,uint8 column,uint8 *dp) ;
extern void Display_String_8x16(uint8 page,uint8 column,uint8 *text) ;
extern void Display_Num_8x16(uint8 page,uint8 column,uint8 Num) ;
extern void Display_Digital_8x16(uint8 page,uint8 column,uint8 *a) ;
extern void Display_Nop_8x16(uint8 page,uint8 column,uint8 DatLong) ;
extern void Display_String_5x7(uint8 page,uint8 column,uint8 *text) ;
extern void Full_Display(void) ;
extern void Clear_Screen(void) ;
extern void Init_lcd12864(void) ;


#endif
 


//========c12864.c==============================================
/***************************************************
LCD:晶联讯电子 JLX12864G-086-PN(不带字库IC-UC1701X)
仅支持串行驱动方式
***************************************************/
#include "global.h" 
#include "c12864.h"
 
#define     Tab_Ascii_8x16_CALL1  //粗体字形
//#define     Tab_Ascii_8x16_CALL2  //细体字形
//#define     Tab_Ascii_5x7_CALL
//#define     Display_Graphic_32x32_CALL
#define     Display_Graphic_32x16_CALL
#define     Display_Graphic_16x16_CALL
//#define     Display_Graphic_8x16_CALL
#define     Display_String_8x16_CALL     //显示字符串
#define     Display_Num_8x16_CALL        //显示单个数据0-9
#define     Display_Digital_8x16_CALL    //显示数据0-9999
#define     Display_Nop_8x16_CALL        //填充8*16的空字符N个
//#define     Display_String_5x7_CALL
//#define     Full_Display_CALL  
//==============================================================================
uint8 code LOCKA[2][16]={
//--   童锁符号  --
//--    此字体下对应的点阵为:宽x高=16x16   --
//0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xc4, 0xc4, 0xcc, 0xd8, 0xf0, 0xe0, 0xc0, 0x00, 0x00,
//0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00,
0x00, 0x00, 0xc0, 0xe0, 0xb0, 0x98, 0x8c, 0x8c, 0x8c, 0x8c, 0x98, 0xb0, 0xe0, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00,
} ;
/*
uint8 code BATS[10][16]={
//--   电池符号  --
//--    此字体下对应的点阵为:宽x高=16x16   --
0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x0c, 0x0e, 0x0e, 0x0c, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x0c, 0x0e, 0x0e, 0x0c, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x0c, 0x0e, 0x0e, 0x0c, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf8, 0xc8, 0xc8, 0xcc, 0xce, 0xce, 0xcc, 0xc8, 0xc8, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xfc, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00,
};
*/
uint8 code BAT2S[12][32]={
/*--   电池符号  --*/
/*--    此字体下对应的点阵为:宽x高=32x16   --*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xf8, 0xc0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x3f, 0x07, 0x03,
} ;
/*
uint8 code BAT2S[2][32]={
//--   电池符号 不显示 --
//--    此字体下对应的点阵为:宽x高=32x16   --
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
} ;
*/
uint8 code NC[]={
/*--  文字: 空符号  --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
} ;
uint8 code mao_hao[]={
/*--  文字:  : (冒号) --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00};
uint8 code num0[]={
/*--  文字:  0  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00
};
uint8 code num1[]={
/*--  文字:  1  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00
};
uint8 code num2[]={
/*--  文字:  2  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00  //细体
//0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00, // 粗体
};
uint8 code num3[]={
/*--  文字:  3  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00
};
uint8 code num4[]={
/*--  文字:  4  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00
};
uint8 code num5[]={
/*--  文字:  5  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00
};
uint8 code num6[]={
/*--  文字:  6  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00
};
uint8 code num7[]={
/*--  文字:  7  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00
};
uint8 code num8[]={
/*--  文字:  8  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00
};
uint8 code num9[]={
/*--  文字:  9  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00
};
//=======8x16=======================================================================
#ifdef   Tab_Ascii_8x16_CALL1   
uint8 code Tab_Ascii_8x16[95][16]={  //粗体字形
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - -
 0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00, // -!-
 0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -"-
 0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00, // -#-
 0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,0x03,0x06,0x04,0x1C,0x1C,0x07,0x03,0x00, // -$-
 0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00, // -%-
 0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -&-
 0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -'-
 0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00, // -(-
 0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00, // -)-
 0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00, // -*-
 0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00, // -+-
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00, // -,-
 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,0x0C,0x0C,0x00,0x00,0x00, // -.-
 0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00, // -/-
 0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00, // -0-
 0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00, // -1-
 0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00, // -2-
 0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, // -3-
 0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00, // -4-
 0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, // -5-
 0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -6-
 0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00, // -7-
 0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -8-
 0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00, // -9-
 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00, // -:-
 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00, // -;-
 0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00, // -<-
 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00, // -=-
 0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00, // ->-
 0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00, // -?-
 0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00, // -@-
 0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -A-
 0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00, // -B-
 0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00, // -C-
 0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00, // -D-
 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00, // -E-
 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -F-
 0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00, // -G-
 0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -H-
 0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -I-
 0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00, // -J-
 0x04,0xFC,0xFC,0xC0,0xF0,0x3C,0x0C,0x00,0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00, // -K-
 0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00, // -L-
 0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -M-
 0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -N-
 0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00,0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00, // -O-
 0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -P-
 0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00, // -Q-
 0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -R-
 0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00, // -S-
 0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -T-
 0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -U-
 0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00, // -V-
 0xFC,0xFC,0x00,0x80,0x00,0xFC,0xFC,0x00,0x03,0x0F,0x0E,0x03,0x0E,0x0F,0x03,0x00, // -W-
 0x0C,0x3C,0xF0,0xC0,0xF0,0x3C,0x0C,0x00,0x0C,0x0F,0x03,0x00,0x03,0x0F,0x0C,0x00, // -X-
 0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -Y-
 0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00, // -Z-
 0x00,0x00,0xFC,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x0F,0x0F,0x08,0x08,0x00,0x00, // -[-
 0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x00, // -\-
 0x00,0x00,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x00,0x00, // -]-
 0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -^-
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, // -_-
 0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -`-
 0x00,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -a-
 0x04,0xFC,0xFC,0x20,0x60,0xC0,0x80,0x00,0x08,0x0F,0x07,0x08,0x08,0x0F,0x07,0x00, // -b-
 0xC0,0xE0,0x20,0x20,0x20,0x60,0x40,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00, // -c-
 0x80,0xC0,0x60,0x24,0xFC,0xFC,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -d-
 0xC0,0xE0,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00, // -e-
 0x40,0xF8,0xFC,0x44,0x0C,0x18,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -f-
 0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x27,0x6F,0x48,0x48,0x7F,0x3F,0x00,0x00, // -g-
 0x04,0xFC,0xFC,0x40,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -h-
 0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -i-
 0x00,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x30,0x70,0x40,0x40,0x7F,0x3F,0x00, // -j-
 0x04,0xFC,0xFC,0x80,0xC0,0x60,0x20,0x00,0x08,0x0F,0x0F,0x01,0x03,0x0E,0x0C,0x00, // -k-
 0x00,0x00,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -l-
 0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x0F,0x00,0x0F,0x0F,0x00, // -m-
 0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -n-
 0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -o-
 0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x40,0x7F,0x7F,0x48,0x08,0x0F,0x07,0x00, // -p-
 0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x07,0x0F,0x08,0x48,0x7F,0x7F,0x40,0x00, // -q-
 0x20,0xE0,0xC0,0x60,0x20,0x60,0xC0,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -r-
 0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00,0x04,0x0C,0x09,0x09,0x0B,0x0E,0x04,0x00, // -s-
 0x20,0x20,0xF8,0xFC,0x20,0x20,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x0C,0x04,0x00, // -t-
 0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -u-
 0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x03,0x07,0x0C,0x0C,0x07,0x03,0x00, // -v-
 0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x07,0x0F,0x0C,0x07,0x0C,0x0F,0x07,0x00, // -w-
 0x20,0x60,0xC0,0x80,0xC0,0x60,0x20,0x00,0x08,0x0C,0x07,0x03,0x07,0x0C,0x08,0x00, // -x-
 0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00, // -y-
 0x60,0x60,0x20,0xA0,0xE0,0x60,0x20,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x0C,0x0C,0x00, // -z-
 0x00,0x40,0x40,0xF8,0xBC,0x04,0x04,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x08,0x00, // -{-
 0x00,0x00,0x00,0xBC,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00, // -|-
 0x00,0x04,0x04,0xBC,0xF8,0x40,0x40,0x00,0x00,0x08,0x08,0x0F,0x07,0x00,0x00,0x00, // -}-
 0x08,0x0C,0x04,0x0C,0x08,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -~-


} ;
#endif  //Tab_Ascii_8x16_CALL1
//=======8x16=======================================================================
#ifdef   Tab_Ascii_8x16_CALL2   
uint8 code Tab_Ascii_8x16[95][16]={  //细体字形
/*--  文字:     --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--  文字:  !  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,
/*--  文字:  "  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--  文字:  #  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,
/*--  文字:  $  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,
/*--  文字:  %  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,
/*--  文字:  &  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,
/*--  文字:  '  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--  文字:  (  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,
/*--  文字:  )  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,
/*--  文字:  *  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,
/*--  文字:  +  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,
/*--  文字:  ,  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,
/*--  文字:  -  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
/*--  文字:  .  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,
/*--  文字:  /  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,
/*--  文字:  0  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
/*--  文字:  1  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*--  文字:  2  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
/*--  文字:  3  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
/*--  文字:  4  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,
/*--  文字:  5  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,
/*--  文字:  6  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,
/*--  文字:  7  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
/*--  文字:  8  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,
/*--  文字:  9  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,
/*--  文字:  :  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
/*--  文字:  ;  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,
/*--  文字:  <  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,
/*--  文字:  =  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,
/*--  文字:  >  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,
/*--  文字:  ?  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,
/*--  文字:  @  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,
/*--  文字:  A  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,
/*--  文字:  B  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,
/*--  文字:  C  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,
/*--  文字:  D  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,
/*--  文字:  E  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,
/*--  文字:  F  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,
/*--  文字:  G  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,
/*--  文字:  H  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,
/*--  文字:  I  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*--  文字:  J  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,
/*--  文字:  K  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,
/*--  文字:  L  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,
/*--  文字:  M  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,
/*--  文字:  N  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,
/*--  文字:  O  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,
/*--  文字:  P  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,
/*--  文字:  Q  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,
/*--  文字:  R  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,
/*--  文字:  S  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,
/*--  文字:  T  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,
/*--  文字:  U  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,
/*--  文字:  V  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,
/*--  文字:  W  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,
/*--  文字:  X  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,
/*--  文字:  Y  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,
/*--  文字:  Z  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,
/*--  文字:  [  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,
/*--  文字:  \  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,
/*--  文字:  ]  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,
/*--  文字:  ^  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--  文字:  _  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
/*--  文字:  `  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--  文字:  a  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,
/*--  文字:  b  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,
/*--  文字:  c  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,
/*--  文字:  d  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,
/*--  文字:  e  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,
/*--  文字:  f  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*--  文字:  g  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,
/*--  文字:  h  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,
/*--  文字:  i  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*--  文字:  j  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,
/*--  文字:  k  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,
/*--  文字:  l  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*--  文字:  m  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,
/*--  文字:  n  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,
/*--  文字:  o  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,
/*--  文字:  p  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,
/*--  文字:  q  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,
/*--  文字:  r  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,
/*--  文字:  s  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,
/*--  文字:  t  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,
/*--  文字:  u  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,
/*--  文字:  v  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,
/*--  文字:  w  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,
/*--  文字:  x  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,
/*--  文字:  y  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,
/*--  文字:  z  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,
/*--  文字:  {  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,
/*--  文字:  |  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,
/*--  文字:  }  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,
/*--  文字:  ~  --*/
/*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
#endif  //Tab_Ascii_8x16_CALL1
//=======5x7=======================================================================
#ifdef  Tab_Ascii_5x7_CALL  
uint8 code Tab_Ascii_5x7[95][5]={
/*全体ASCII 列表:5x7点阵*/
0x00,0x00,0x00,0x00,0x00,//space
0x00,0x00,0x4f,0x00,0x00,//!
0x00,0x07,0x00,0x07,0x00,//"
0x14,0x7f,0x14,0x7f,0x14,//#
0x24,0x2a,0x7f,0x2a,0x12,//$
0x23,0x13,0x08,0x64,0x62,//%
0x36,0x49,0x55,0x22,0x50,//&
0x00,0x05,0x07,0x00,0x00,//]
0x00,0x1c,0x22,0x41,0x00,//(
0x00,0x41,0x22,0x1c,0x00,//)
0x14,0x08,0x3e,0x08,0x14,//*
0x08,0x08,0x3e,0x08,0x08,//+
0x00,0x50,0x30,0x00,0x00,//,
0x08,0x08,0x08,0x08,0x08,//-
0x00,0x60,0x60,0x00,0x00,//.
0x20,0x10,0x08,0x04,0x02,///
0x3e,0x51,0x49,0x45,0x3e,//0
0x00,0x42,0x7f,0x40,0x00,//1
0x42,0x61,0x51,0x49,0x46,//2
0x21,0x41,0x45,0x4b,0x31,//3
0x18,0x14,0x12,0x7f,0x10,//4
0x27,0x45,0x45,0x45,0x39,//5
0x3c,0x4a,0x49,0x49,0x30,//6
0x01,0x71,0x09,0x05,0x03,//7
0x36,0x49,0x49,0x49,0x36,//8
0x06,0x49,0x49,0x29,0x1e,//9
0x00,0x36,0x36,0x00,0x00,//:
0x00,0x56,0x36,0x00,0x00,//;
0x08,0x14,0x22,0x41,0x00,//<
0x14,0x14,0x14,0x14,0x14,//=
0x00,0x41,0x22,0x14,0x08,//>
0x02,0x01,0x51,0x09,0x06,//?
0x32,0x49,0x79,0x41,0x3e,//@
0x7e,0x11,0x11,0x11,0x7e,//A
0x7f,0x49,0x49,0x49,0x36,//B
0x3e,0x41,0x41,0x41,0x22,//C
0x7f,0x41,0x41,0x22,0x1c,//D
0x7f,0x49,0x49,0x49,0x41,//E
0x7f,0x09,0x09,0x09,0x01,//F
0x3e,0x41,0x49,0x49,0x7a,//G
0x7f,0x08,0x08,0x08,0x7f,//H
0x00,0x41,0x7f,0x41,0x00,//I
0x20,0x40,0x41,0x3f,0x01,//J
0x7f,0x08,0x14,0x22,0x41,//K
0x7f,0x40,0x40,0x40,0x40,//L
0x7f,0x02,0x0c,0x02,0x7f,//M
0x7f,0x04,0x08,0x10,0x7f,//N
0x3e,0x41,0x41,0x41,0x3e,//O
0x7f,0x09,0x09,0x09,0x06,//P
0x3e,0x41,0x51,0x21,0x5e,//Q
0x7f,0x09,0x19,0x29,0x46,//R
0x46,0x49,0x49,0x49,0x31,//S
0x01,0x01,0x7f,0x01,0x01,//T
0x3f,0x40,0x40,0x40,0x3f,//U
0x1f,0x20,0x40,0x20,0x1f,//V
0x3f,0x40,0x38,0x40,0x3f,//W
0x63,0x14,0x08,0x14,0x63,//X
0x07,0x08,0x70,0x08,0x07,//Y
0x61,0x51,0x49,0x45,0x43,//Z
0x00,0x7f,0x41,0x41,0x00,//[
0x02,0x04,0x08,0x10,0x20,//0x00,0x41,0x41,0x7f,0x00,//]
0x04,0x02,0x01,0x02,0x04,//^
0x40,0x40,0x40,0x40,0x40,//_
0x01,0x02,0x04,0x00,0x00,//`
0x20,0x54,0x54,0x54,0x78,//a
0x7f,0x48,0x48,0x48,0x30,//b
0x38,0x44,0x44,0x44,0x44,//c
0x30,0x48,0x48,0x48,0x7f,//d
0x38,0x54,0x54,0x54,0x58,//e
0x00,0x08,0x7e,0x09,0x02,//f
0x48,0x54,0x54,0x54,0x3c,//g
0x7f,0x08,0x08,0x08,0x70,//h
0x00,0x00,0x7a,0x00,0x00,//i
0x20,0x40,0x40,0x3d,0x00,//j
0x7f,0x20,0x28,0x44,0x00,//k
0x00,0x41,0x7f,0x40,0x00,//l
0x7c,0x04,0x38,0x04,0x7c,//m
0x7c,0x08,0x04,0x04,0x78,//n
0x38,0x44,0x44,0x44,0x38,//o
0x7c,0x14,0x14,0x14,0x08,//p
0x08,0x14,0x14,0x14,0x7c,//q
0x7c,0x08,0x04,0x04,0x08,//r
0x48,0x54,0x54,0x54,0x24,//s
0x04,0x04,0x3f,0x44,0x24,//t
0x3c,0x40,0x40,0x40,0x3c,//u
0x1c,0x20,0x40,0x20,0x1c,//v
0x3c,0x40,0x30,0x40,0x3c,//w
0x44,0x28,0x10,0x28,0x44,//x
0x04,0x48,0x30,0x08,0x04,//y
0x44,0x64,0x54,0x4c,0x44,//z
0x08,0x36,0x41,0x41,0x00,//{
0x00,0x00,0x77,0x00,0x00,//|
0x00,0x41,0x41,0x36,0x08,//}
0x04,0x02,0x02,0x02,0x01,//~
};
#endif  //Tab_Ascii_5x7_CALL
uint8 code zhuang1[]={
/*--  文字:  状  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x08,0x30,0x00,0xFF,0x20,0x20,0x20,0x20,0xFF,0x20,0xE1,0x26,0x2C,0x20,0x20,0x00,
0x04,0x02,0x01,0xFF,0x40,0x20,0x18,0x07,0x00,0x00,0x03,0x0C,0x30,0x60,0x20,0x00
};
uint8 code tai1[]={
/*--  文字:  态  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x04,0x04,0x04,0x84,0x44,0x34,0x4F,0x94,0x24,0x44,0x84,0x84,0x04,0x00,0x00,
0x00,0x60,0x39,0x01,0x00,0x3C,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x09,0x31,0x00
};
uint8 code shi1[]={
/*--  文字:  使  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x20,0xF0,0x1C,0x07,0xF2,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xF4,0x04,0x00,
0x00,0x00,0x7F,0x00,0x40,0x41,0x22,0x14,0x0C,0x13,0x10,0x30,0x20,0x61,0x20,0x00
};
uint8 code yong1[]={
/*--  文字:  用  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,
0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x42,0x82,0x7F,0x00,0x00
};


//****************************************************************
// 函数名称:DelayLcd
// 函数功能:延时 
// 入口参数:
// 出口参数:
//*****************************************************************    
void DelayLcd(uint16 i)          
{
    uint16 j;
    for(j=200;j>0;j--)
        for(;i>0;i--);
    //while(i--);
}
//****************************************************************
// 函数名称:LcdWriteCommand
// 函数功能:写指令到LCD模块
// 入口参数:数据
// 出口参数:
//*****************************************************************
void LcdWriteCommand(uint8 data1) //
{
 uint8 i ;
 P_LCDCS = 0 ;
 P_LCDRS = 0 ;
 for(i=8;i>0;i--)
 {
  P_LCDCLK=0;
  if(data1&0x80) P_LCDDAT=1;
  else P_LCDDAT=0;
  P_LCDCLK=1;
  data1 <<= 1;
 }
}
//****************************************************************
// 函数名称:LcdWritedata
// 函数功能:写数据到LCD模块
// 入口参数:数据
// 出口参数:
//*****************************************************************
void LcdWritedata(uint8 data1) //
{
 uint8 i;
 P_LCDCS = 0 ;
 P_LCDRS = 1 ;
 for(i=8;i>0;i--)
 {
  P_LCDCLK=0;
  if(data1&0x80) P_LCDDAT=1;
  else P_LCDDAT=0;
  P_LCDCLK=1;
  data1 <<= 1;
 }
}
//****************************************************************
// 函数名称:Lcd_SetAddr
// 函数功能:设置LCD显示地址
// 入口参数: 页地址 列地址
// 出口参数:
//*****************************************************************
void Lcd_SetAddr(uint8 page,uint8 column)
{
 P_LCDCS = 0 ;
 LcdWriteCommand(0xb0|page);   /*设置页地址*/
 LcdWriteCommand((column>>4)|0x10); /*设置列地址的高4位*/
 LcdWriteCommand(column&0x0f); /*设置列地址的低4位*/
}
//****************************************************************
// 函数名称:Display_Graphic_32x32
// 函数功能:显示32x32点阵图像、汉字、生僻字或32x32点阵的其他图标
// 入口参数:页地址 列地址
// 出口参数:
//*****************************************************************
#ifdef  Display_Graphic_32x32_CALL
void Display_Graphic_32x32(uint8 page,uint8 column,uint8 *dp)
{
 uint8 i,j;
 uint8 page_address;
 uint8 column_address_L,column_address_H;
 page_address = 0xb0|page;
 column_address_L =(column&0x0f);
 column_address_H =(column>>4)|0x10;
  P_LCDCS = 0 ;
 for(j=0;j<4;j++)
 {
  LcdWriteCommand(page_address+j);   /*设置页地址*/
  LcdWriteCommand(column_address_H); /*设置列地址的高4位*/
  LcdWriteCommand(column_address_L); /*设置列地址的低4位*/
  for (i=32;i>0;i--) //写32行
  { 
   LcdWritedata(*dp);  /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
   dp++;
  }
  LcdWritedata(0x00);
 }
 P_LCDCS = 1 ;
}
#endif //Display_Graphic_32x32_CALL
//****************************************************************
// 函数名称:Display_Graphic_16x16
// 函数功能:显示16x16点阵图像、或32x16点阵的其他图标
// 入口参数:页地址 列地址
// 出口参数:
//*****************************************************************
#ifdef Display_Graphic_32x16_CALL
void Display_Graphic_32x16(uint8 page,uint8 column,uint8 *dp)
{
 uint8 i,j;
 uint8 page_address;
 uint8 column_address_L,column_address_H;
 page_address = 0xb0|page;
 column_address_L =(column&0x0f);
 column_address_H =(column>>4)|0x10;
  P_LCDCS = 0 ;
 for(j=0;j<2;j++)
 {
  LcdWriteCommand(page_address+j);   /*设置页地址*/
  LcdWriteCommand(column_address_H); /*设置列地址的高4位*/
  LcdWriteCommand(column_address_L); /*设置列地址的低4位*/
  for(i=32;i>0;i--) //写16列
  { 
   LcdWritedata(*dp);  /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
   dp++;
  }
 }
 P_LCDCS = 1 ;
}
#endif //Display_Graphic_32x16_CALL
//****************************************************************
// 函数名称:Display_Graphic_16x16
// 函数功能:显示16x16点阵图像、汉字、生僻字或16x16点阵的其他图标
// 入口参数:页地址 列地址
// 出口参数:
//*****************************************************************
#ifdef Display_Graphic_16x16_CALL
void Display_Graphic_16x16(uint8 page,uint8 column,uint8 *dp)
{
 uint8 i,j;
 uint8 page_address;
 uint8 column_address_L,column_address_H;
 page_address = 0xb0|page;
 column_address_L =(column&0x0f);
 column_address_H =(column>>4)|0x10;
  P_LCDCS = 0 ;
 for(j=0;j<2;j++)
 {
  LcdWriteCommand(page_address+j);   /*设置页地址*/
  LcdWriteCommand(column_address_H); /*设置列地址的高4位*/
  LcdWriteCommand(column_address_L); /*设置列地址的低4位*/
  for(i=16;i>0;i--) //写16行
  { 
   LcdWritedata(*dp);  /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
   dp++;
  }
 }
 P_LCDCS = 1 ;
}
#endif //Display_Graphic_16x16_CALL
//**********************************************************************
// 函数名称:Display_Graphic_8x16
// 函数功能:显示8x16点阵图像、ASCII, 或8x16点阵的自造字符、其他图标
// 入口参数:页地址 列地址 数据首地址
// 出口参数:
//**********************************************************************
#ifdef Display_Graphic_8x16_CALL
void Display_Graphic_8x16(uint8 page,uint8 column,uint8 *dp)
{
 uint8 i,j;
 P_LCDCS = 0 ; 
 for(j=0;j<2;j++)
 {
  Lcd_SetAddr(page+j,column);
  for (i=8;i>0;i--) //写8列
  { 
   LcdWritedata(*dp);     /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
   dp++;
  }
 }
 P_LCDCS = 1 ;
}
#endif //Display_Graphic_8x16_CALL
//**********************************************************************
// 函数名称:Display_String_8x16
// 函数功能:显示字符 8*16
// 入口参数:页地址 列地址
// 出口参数:
// 示例:display_string_8x16(1,1,"0123456789abcdef");/*在第1页,第1列显示字符串
//**********************************************************************
#ifdef  Display_String_8x16_CALL
void Display_String_8x16(uint8 page,uint8 column,uint8 *text)
{
    uint8 i=0 ;
    uint8 j,k,n ;
 P_LCDCS = 0 ;
 do{  
  if((text[i]>=0x20)&&(text[i]<=0x7e))   //32 126
  {
   j = text[i]-0x20;
   for(n=0;n<2;n++)
   {   
    Lcd_SetAddr(page+n,column);
    for(k=0;k<8;k++)
    {     
     LcdWritedata(Tab_Ascii_8x16[j][k+8*n]);/*显示5x7的ASCII字到LCD上,y为页地址,x为列地址,最后为数据*/
    }
   } 


            i ++ ;
   column+=8;
   
  }
  else
        {
            i ++ ;
        }
  
 }while(text[i] != 0x00) ;
}
#endif  //Display_String_8x16_CALL
//**********************************************************************
// 函数名称:Display_Num_8x16
// 函数功能:显示8x16 数字 -- 单个数字
// 入口参数:页地址 列地址 要显示的数据0-9
// 出口参数:
//**********************************************************************
#ifdef  Display_Num_8x16_CALL
void Display_Num_8x16(uint8 page,uint8 column,uint8 Num)
{
 uint8 i,j;
    uint8 *dp ;
    i = Num+16 ;      //取该数字在数组中的位置
    dp = Tab_Ascii_8x16[i] ; //取该位置在数组中对应的数据
 P_LCDCS = 0 ; 
 for(j=0;j<2;j++)
 {
  Lcd_SetAddr(page+j,column);
  for (i=8;i>0;i--) //写8列
  { 
   LcdWritedata(*dp);     /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
   dp++;
  }
 }
 P_LCDCS = 1 ;
}
#endif  //Display_Num_8x16_CALL
//**********************************************************************
// 函数名称:Display_Digital_8x16
// 函数功能:显示8x16 数字 -- 数字
// 入口参数:页地址 列地址 要显示的数据0-9
// 出口参数:
//**********************************************************************
#ifdef  Display_Digital_8x16_CALL
void Display_Digital_8x16(uint8 page,uint8 column,uint8 *a)
{
 uint8 i,j,Num;
    uint8 *dp ;
 P_LCDCS = 0 ;
    for(Num=4;Num>0;Num--)
    { 
        i = a[Num-1]+16 ;      //取该数字在数组中的位置
        dp = Tab_Ascii_8x16[i] ; //取该位置在数组中对应的数据
     for(j=0;j<2;j++)
     {
      Lcd_SetAddr(page+j,column);
      for (i=8;i>0;i--) //写8列
      { 
       LcdWritedata(*dp);     /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
       dp++;
      }
     }
        column += 8 ;
    }
 P_LCDCS = 1 ;
}
#endif  //Display_Digital_8x16_CALL
//**********************************************************************
// 函数名称:Display_Nop_8x16_CALL
// 函数功能:显示N个空字符 8x16 
// 入口参数:页地址 列地址 空字符个数
// 出口参数:
//**********************************************************************
#ifdef Display_Nop_8x16_CALL
void Display_Nop_8x16(uint8 page,uint8 column,uint8 DatLong)
{
 uint8 i,j;
 P_LCDCS = 0 ; 
 for(j=0;j<2;j++)
 {
  Lcd_SetAddr(page+j,column);
  for (i=8*DatLong;i>0;i--) //写8列
  { 
   LcdWritedata(0x00);  /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
  }
 }
 P_LCDCS = 1 ;
}
#endif //Display_Nop_8x16_CALL
//**********************************************************************
// 函数名称:Display_String_5x7
// 函数功能:显示字符 5*7
// 入口参数:页地址 列地址
// 出口参数:
// 示例:display_string_5x7(6,1,"56789:;<=>?@ABCDEFGHI");
//**********************************************************************
#ifdef  Display_String_5x7_CALL
void Display_String_5x7(uint8 page,uint8 column,uint8 *text)
{
 uint8 i=0,j,k;
 P_LCDCS = 0 ;
 while(text[i]>0x00)
 { 
  if((text[i]>=0x20)&&(text[i]<0x7e))
  {
   j=text[i]-0x20;
   Lcd_SetAddr(page,column);
   for(k=0;k<5;k++)
   {
    LcdWritedata(Tab_Ascii_5x7[j][k]);/*显示5x7的ASCII字到LCD上,y为页地址,x为列地址,最后为数据*/
   }
   i++;
   column+=6;
  }
  else
  i++;
 }
}
#endif  //Display_String_5x7_CALL
//****************************************************************
// 函数名称:Full_Display
// 函数功能:显示图片 
// 入口参数:
// 出口参数:
//*****************************************************************
#ifdef  Full_Display_CALL
void Full_Display(void)
{
 uint16 i,j;
 for(i=0;i<8;i++)
 {
  P_LCDCS = 0 ;
  Lcd_SetAddr(i,0);
  for(j=0;j<128;j++)
  {
   LcdWritedata(0xff);    
  }
 }          
}
#endif  //Full_Display_CALL
//****************************************************************
// 函数名称:Clear_Screen
// 函数功能:全屏清屏
// 入口参数:
// 出口参数:
//*****************************************************************
void Clear_Screen(void)
{
 uint8 i,j;
  P_LCDCS = 0 ;
    i=9 ;
  do{
        i-- ;
  Lcd_SetAddr(i,0);
  for(j=132;j>0;j--)
  {
   LcdWritedata(0x00);
  }
       
 }while(i) ;
  P_LCDCS = 1 ;
}
//**********************************************************************
// 函数名称:Init_lcd
// 函数功能:LCD模块初始化
// 入口参数:无
// 出口参数:无
//**********************************************************************
void Init_lcd12864(void)
{
 P_LCDCS = 0 ;
   P_LCDRST = 0 ;        /*低电平复位*/
   DelayLcd(100);
   P_LCDRST = 1;      /*复位完毕*/
   DelayLcd(20);        
 LcdWriteCommand(0xe2);  /*软复位*/
 DelayLcd(5);
 LcdWriteCommand(0x2c);  /*升压步聚1*/
 DelayLcd(5); 
 LcdWriteCommand(0x2e);  /*升压步聚2*/
 DelayLcd(5);
 LcdWriteCommand(0x2f);  /*升压步聚3*/
 DelayLcd(5);
 LcdWriteCommand(0x23);  /*粗调对比度,可设置范围0x20~0x27 */ //0x23
 LcdWriteCommand(0x81);  /*微调对比度 指令*/
 LcdWriteCommand(0x26);  /*0x1a,微调对比度的值,可设置范围0x00~0x3f*/ //0x28
 LcdWriteCommand(0xa2);  /*1/9偏压比(bias)*/
 LcdWriteCommand(0xc8);  /*行扫描顺序:从下到上 OLD */
 LcdWriteCommand(0xa0);  /*列扫描顺序:从左到右 OLD */
    /* 屏反过来显示 */
//  LcdWriteCommand(0xc0);  /*行扫描顺序:从上到下*/
// LcdWriteCommand(0xa1);  /*列扫描顺序:从右到左*/


 LcdWriteCommand(0x40);  /*起始行:第一行开始*/
    Clear_Screen() ;
 LcdWriteCommand(0xaf);  /*开显示*/
 P_LCDCS = 1 ;
}


//======应用示例==============================================================
void main(void)
{
 uint8 i ;
 uint8 aBuf[4]={1,2,3,4 };
    Init_lcd12864();  //初始化12864


 while(1)
 {
 
  if(i==0)
  {
   Display_String_8x16(Page3,List8_3,"CHARG") ;  //显示字符串 CHARG
  }
  else if(i==1)
  {
   Display_Num_8x16(Page3,List8_12,1) ; //显示单个数字 1
  }
  else if(i==2)
  {
    
   Display_Digital_8x16(Page7,List8_3,aBuf) ; //显示数值 1234
  }
  else if(i==3)
  {
  }
  else if(i==4)
  {
  }
 }


}

不带字库LCD12864操作源程序(仅支持串口方式),布布扣,bubuko.com

不带字库LCD12864操作源程序(仅支持串口方式)

标签:单片机   12864   

原文地址:http://blog.csdn.net/libiaojs/article/details/29410401

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!