/*写汉字液晶子程 液晶屏分为4行*12列汉字,全部使用模拟接口方式。 /* TGLCMLIMIT64A接口程序(模拟方式) ;*************************************************************************** ;连线图: ;*LCM---89C52* *LCM---89C52* *LCM-------89C52* *LCM----------89C52* * ;*DB0---P0.0* *DB4---P0.4* *D/I-------P2.6* *CS1----------P2.4* * ;*DB1---P0.1* *DB5---P0.5* *R/W-------P2.7* *CS2----------P2.5* * ;*DB2---P0.2* *DB6---P0.6* *RST--------VCC* *CS3----------P3.2* * ;*DB3---P0.3* *DB7---P0.7* *E---------P2.3* * ;注:89C52的晶振频率为12MHz * ;***************************************************************************/ //画线部分请参照avr的c程序。 /*#pragma SRC /*生成ASM文件开关,必要时打开 */ #i nclude #i nclude #i nclude
#define Uchar unsigned char
/***********液晶显示器接口引脚定义***************/
sbit Elcm= P2^3; // sbit CS1LCM= P2^4; // sbit CS2LCM= P2^5; // sbit CS3LCM= P3^2; /*这个连接只是做实验的临时接法。*/ sbit DILcm= P2^6; // sbit Rwlcm= P2^7; // sfr Datalcm= 0x80; //数据口 unsigned char testi[]={"浸渠叁绳漱塔烃威牺晓玄瑶"};
/***********常用操作命令和参数定义***************/ #define DISPON 0x3f /*显示on */ #define DISPOFF 0x3e /*显示off */ #define DISPFIRST 0xc0 /*显示起始行定义 */ #define SETX 0x40 /*X定位设定指令(页) */ #define SETY 0xb8 /*Y定位设定指令(列) */ #define LCDbusy 0x80 /*LCM忙判断位 */
/**************显示分区边界位置*****************/ #define MODL 0x00 /*左区 */ #define MODM 0x40 /*左区和中区分界 */ #define MODR 0x80 /*中区和右区分界 */ #define LCMLIMIT 0xC0 /*显示区的右边界 */
/****************全局变量定义*******************/ Uchar col,row,cbyte; /*列x,行(页)y,输出数据 */ bit xy; /*画线方向标志:1水平 */
/*****************函数列表**********************/ void Lcminit(void); /*液晶模块初始化 */ void Delay(Uchar); /*延时,入口数为Ms */ void lcdbusyL(void); /*busy判断、等待(左区) */ void lcdbusyM(void); /*busy判断、等待(中区) */ void lcdbusyR(void); /*busy判断、等待(右区) */ void Putedot(Uchar); /*半角字符输出 */ void Putcdot(Uchar); /*全角(汉字)输出 */ void Wrdata(Uchar); /*数据输出给LCM */ void Lcmcls( void ); /*LCM全屏幕清零(填充0) */ void wtcom(void); /*公用busy等待 */ void LOCatexy(void); /*光标定位 */ void WrcmdL(Uchar); /*左区命令输出 */ void WrcmdM(Uchar); /*中区命令输出 */ void WrcmdR(Uchar); /*右区命令输出 */ void Putstr(Uchar *puts,Uchar i); /*中英文字符串输出 */ void Rollscreen(Uchar x); /*屏幕向上滚动演示 */ void Rddata(void); /* 从液晶片上读数据 */ void Linehv(Uchar length); /*横(竖)方向画线 */ void point(void); /*打点 */ void Linexy(Uchar endx,Uchar endy);
/******************数组列表*********************/ Uchar code Ezk[]; /*ASCII常规字符点阵码表 */ Uchar code Hzk[]; /*自用汉字点阵码表 */ Uchar code STR1[]; /*自定义字符串 */ Uchar code STR2[]; // Uchar code STR3[]; // Uchar code STR4[]; //
/********************************/ /* 演示主程序 */ /********************************/ void main(void)
{ Uchar x,y; col=0; row=0; Delay(40); /*延时大约40Ms,等待外设准备好 */ Lcminit(); /*液晶模块初始化,包括全屏幕清屏*/ Putstr(STR2,24); /*第一行字符输出,24字节 */ col=0; row=2; Putstr(STR1,12); /*第二行字符输出,12字节 */ col=0; row=4; Putstr(STR3,24); /*第三行字符输出,24字节 */ col=0; row=6; Putstr(STR4,24); /*第四行字符输出,12字节 */ x=0; col=0; row=0; xy = 1; /*方向标志。定为水平方向 */ Linehv(192); /*画一条横线(0,0)-(191,0) */ col=0; row=15; xy = 1; Linehv(192); /*画一条横线(0,15)-(191,15) */ col=0; row=32; xy = 1; Linehv(192); /*画一条横线(0,32)-(191,32) */ col=0; row=1; xy = 0; /*方向标志。定为垂直方向 */ Linehv(31); /*画一条竖线(0,1)-(0,31) */ col=191; row=1; xy = 0; Linehv(31); /*画一条竖线(191,1)-(191,31) */ col=0; /*设定斜线的起点坐标 */ row=63; Linexy(44,31); /*画一段斜线(0,63)-(44,31) */ col=44; row=31; Linexy(190,62); /*继续画斜线(44,31)-(191,63) */ while(1){ Rollscreen(y); /*定位新的显示起*/ y++; y %=8; x=testi[y]; Delay(100); /*延时,控制滚动速度 */ }; }
/************************************************/ /*画线。任意方向的斜线,不支持垂直的或水平线 */ /************************************************/
void Linexy(Uchar endx,Uchar endy) { register Uchar t; int xerr=0,yerr=0,delta_x,delta_y,distance; Uchar incx,incy;
/* compute the distance in both directions */ delta_x=endx-col; delta_y=endy-row;
/* compute the direction of the increment , an increment of "0" means either a vertical or horizontal lines */
if(delta_x>0) incx=1; else if( delta_x==0 ) incx=0; else incx=-1;
if(delta_y>0) incy=1; else if( delta_y==0 ) incy=0; else incy=-1;
/* determine which distance is greater */ delta_x = cabs( delta_x ); delta_y = cabs( delta_y );
if( delta_x > delta_y ) distance=delta_x; else distance=delta_y;
/* draw the line */ for( t=0;t <= distance+1; t++ ) { point(); xerr += delta_x ; yerr += delta_y ; if( xerr > distance ) { xerr-=distance; col+=incx; } if( yerr > distance ) { yerr-=distance; row+=incy; }
} }
/****************************************/ /*画线。只提供X或Y方向的,不支持斜线 */ /****************************************/ void Linehv(Uchar length) { Uchar xs,ys; if (xy){ys = col; for (xs=0;xscol = ys + xs; point();} } else {xs = row; for (ys=0;ysrow = xs + ys; point();} } }
/****************************************/ /* 画点 */ /****************************************/
void point(void) { Uchar x1,y1,x,y; x1=col; y1=row; row=y1>>3; /*取Y方向分页地址 */ Rddata(); y=y1&0x07; /*字节内位置计算 */ x=0x01; x=x<Wrdata(cbyte|x); /*画上屏幕 */ col=x1; /*恢复xy坐标 */ row=y1; }
/****************************************/ /* 屏幕滚动定位 */ /****************************************/ void Rollscreen(Uchar x) { cbyte = DISPFIRST|x; /*定义显示起始行为x?*/ WrcmdL(cbyte); WrcmdM(cbyte); WrcmdR(cbyte); }
/****************************************/ /* 一个字串的输出 */ /****************************************/ void Putstr(Uchar *puts,Uchar i) { Uchar j,X; for (j=0;j{ X = puts[j]; if (X&0x80) { Putcdot(X&0x7f); /*只保留低7位*/ } else Putedot(X-0x20); /*ascii码表从0x20开始*/ } }
/****************************************/ /* 半角字符点阵码数据输出 */ /****************************************/ void Putedot(Uchar Order) { Uchar i,bakerx,bakery; /*共定义4个局部变量 */ int x; /*偏移量,字符量少的可以定义为UCHAR */ bakerx = col; /*暂存x,y坐标,已备下半个字符使用 */ bakery = row; x=Order * 0x10; /*半角字符,每个字符16字节 */ /*上半个字符输出,8列 */ for(i=0;i<8;i++) { cbyte = Ezk[x]; /*取点阵码,rom数组 */ Wrdata(cbyte); /*写输出一字节 */ x++; col++; if (col==LCMLIMIT){col=0;row++;row++;}; /*下一列,如果列越界换行*/ if (row>7) row=0; /*如果行越界,返回首行 */ } /*上半个字符输出结束 */
col = bakerx; /*列对齐 */ row = bakery+1; /*指向下半个字符行 */ /*下半个字符输出,8列 */ for(i=0;i<8;i++) { cbyte = Ezk[x]; /*取点阵码 */ Wrdata(cbyte); /*写输出一字节 */ x++; col++; if (col==LCMLIMIT){col=0;row=row+2;}; /*下一列,如果列越界换行*/ if (row>7) row=1; /*如果行越界,返回首行 */ } /*下半个字符输出结束 */ row=bakery; } /*整个字符输出结束 */
/****************************************/ /* 全角字符点阵码数据输出 */ /****************************************/ void Putcdot(Uchar Order) { Uchar i,bakerx,bakery; /*共定义3个局部变量 */ int x; /*偏移量,字符量少的可以定义为UCHAR */ bakerx = col; /*暂存x,y坐标,已备下半个字符使用 */ bakery = row; x=Order * 0x20; /*每个字符32字节 */
/*上半个字符输出,16列 */ for(i=0;i<16;i++) { Wrdata(Hzk[x]); /*写输出一字节 */ x++; col++; if (col==LCMLIMIT){ col=0;row++;row++;} /*下一列,如果列越界换行*/ if (row>6) row=0; /*如果行越界,返回首行 */ } /*上半个字符输出结束 */
/*下半个字符输出,16列 */ col = bakerx; row = bakery+1; for(i=0;i<16;i++) /*下半部分*/ { Wrdata(Hzk[x]); x++; col++; if (col==LCMLIMIT){col=0;row++;row++;} /*下一列,如果列越界换行*/ if (row>7) row=1; /*如果行越界,返回首行 */ } /*下半个字符输出结束 */ row = bakery; } /*整个字符输出结束 */
/****************************************/ /* 清屏,全屏幕清零 */ /****************************************/ void Lcmcls( void ) { for(row=0;row<8;row++) for(col=0;col}
/****************************************/ /* 从液晶片上读数据,保留在全局变量中 */ /****************************************/
void Rddata(void) { Locatexy(); /*坐标定位,返回时保留分区状态不变 */ Datalcm=0xFF; Dilcm = 1; /*数据*/ Rwlcm = 1; /*读数据*/ Elcm = 1; /*读入到LCM*/ _nop_(); cbyte = Datalcm; /*虚读一次 */ Elcm = 0; Locatexy(); /*坐标定位,返回时保留分区状态不变 */ Datalcm=0xFF; _nop_(); Dilcm = 1; /*数据*/ Rwlcm = 1; /*读数据*/ Elcm = 1; /*读入到LCM*/ _nop_(); cbyte = Datalcm; /*从数据口读数据,真读 */ Elcm = 0; }
/****************************************/ /* 数据写输出 */ /****************************************/
void Wrdata(Uchar X) { Locatexy(); /*坐标定位,返回时保留分区状态不变 */ // wtcom(); Dilcm = 1; /*数据输出*/ Rwlcm = 0; /*写输出 */ Datalcm = X; /*数据输出到数据口 */ Elcm = 1; /*读入到LCM*/ _nop_(); Elcm = 0; }
/****************************************/ /* 命令输出,每次输出一个分区控制口 */ /****************************************/
/*void Wrcmd(Uchar X) // { // Locatexy(); /*确定分区,返回时保留分区状态不变 */ // wtcom(); /*等待LCM操作允许 */ // Dilcm = 0; /*数据操作 */ // Rwlcm = 0; /*写输出 */ // Datalcm = X; /*数据输出到数据口 */ // Elcm = 1;_nop_();Elcm = 0; /*读入到LCM*/ // }
/********************************/ /* 命令输出到左区控制口 */ /********************************/
void WrcmdL(Uchar X) { lcdbusyL(); /*确定分区,返回时保留分区状态不变*/ Dilcm = 0; /*命令操作 */ Rwlcm = 0; /*写输出 */ Datalcm = X; /*数据输出到数据口 */ Elcm = 1;_nop_();Elcm = 0; /*读入到LCM*/ }
/********************************/ /* 命令输出到中区控制口 */ /********************************/
void WrcmdM(Uchar X) { lcdbusyM(); /*确定分区,返回时保留分区状态不变*/ Dilcm = 0; /*命令操作 */ Rwlcm = 0; /*写输出 */ Datalcm = X; /*命令输出到数据口 */ Elcm = 1;_nop_();Elcm = 0; /*读入到LCM*/ }
/********************************/ /* 命令输出到右区控制口 */ /********************************/
void WrcmdR(Uchar X) { lcdbusyR(); /*确定分区,返回时保留分区状态不变 */ Dilcm = 0; /*命令操作 */ Rwlcm = 0; /*写输出 */ Datalcm = X; /*命令输出到数据口 */ Elcm = 1;_nop_();Elcm = 0; /*读入到LCM*/ }
/********************************************************/ /* 分区操作允许等待,返回时保留分区选择状态 */ /********************************************************/ void lcdbusyL(void) { CS1LCM = 0; /*CLR CS1 */ CS2LCM = 1; /*SETB CS2 */ CS3LCM = 1; /*SETB CS3 */ wtcom(); /* waitting for enable */ }
void lcdbusyM(void) { CS1LCM = 1; /*SETB CS1 */ CS2LCM = 0; /*CLR CS2 */ CS3LCM = 1; /*SETB CS3 */ wtcom(); /* waitting for enable */ }
void lcdbusyR(void) { CS1LCM = 1; /*SETB CS1 */ CS2LCM = 1; /*SETB CS2 */ CS3LCM = 0; /*CLR CS3 */ wtcom(); /* waitting for enable */ }
void wtcom(void) { Dilcm = 0; /*CLR DI */ Rwlcm = 1; /*SETB RW */ Datalcm = 0xFF; /*MOV DATA_LCM,#0FFH */ Elcm = 1;_nop_(); while(Datalcm & Lcdbusy); Elcm = 0; }
/********************************************************/ /*根据设定的坐标数据,定位LCM上的下一个操作单元位置 */ /********************************************************/ void Locatexy(void) { unsigned char x,y; switch (col&0xc0) /* col.and.0xC0 */ { /*条件分支执行 */ case 0: {lcdbusyL();break;} /*左区 */ case 0x40: {lcdbusyM();break;} /*中区 */ case 0x80: {lcdbusyR();break;} /*右区 */ } x = col&0x3F|SETX; /* col.and.0x3f.or.setx */ y = row&0x07|SETY; /* row.and.0x07.or.sety */ wtcom(); /* waitting for enable */ Dilcm = 0; /*CLR DI */ Rwlcm = 0; /*CLR RW */ Datalcm = y; /*MOV P0,Y */ Elcm = 1;_nop_();Elcm = 0; wtcom(); /* waitting for enable */ Dilcm = 0; /*CLR DI */ Rwlcm = 0; /*CLR RW */ Datalcm = x; /*MOV P0,X */ Elcm = 1;_nop_();Elcm = 0; }
/********************************/ /*液晶屏初始化 */ /********************************/
void Lcminit(void) { cbyte = DISPOFF; /*关闭显示屏 */ WrcmdL(cbyte); WrcmdM(cbyte); WrcmdR(cbyte); cbyte = DISPON; /*打开显示屏 */ WrcmdL(cbyte); WrcmdM(cbyte); WrcmdR(cbyte); cbyte = DISPFIRST; /*定义显示起始行为零 */ WrcmdL(cbyte); WrcmdM(cbyte); WrcmdR(cbyte); Lcmcls(); col=0; /*清屏 */ row=0; Locatexy(); } /********************************/ /* 延时 */ /********************************/ void Delay(Uchar MS) { Uchar us,usn; while(MS!=0) { usn = 4; while(usn!=0) { us=0xf0; while (us!=0){us--;}; usn--; } MS--; } }
/********************************/ //定义字符串数组 */ /********************************/
Uchar code STR1[]= { 0x80,0x81,0x82,0x83,0x84,0x85, 0x86,0x87,0x88,0x89,0x8a,0x8B };
Uchar code STR2[]="Our friend over the wold"; Uchar code STR3[]="Program by Keil C51 6.12"; Uchar code STR4[]="Thank you ~v~ 1234567890";
/********************************/ /* 定义中文字库 */ /********************************/
Uchar code Hzk[]={ /*茂 C3515 0 */ 0x04,0x04,0xC4,0x44,0x5F,0x44,0x44,0xF4, 0x44,0x4F,0x54,0x64,0x44,0x46,0x04,0x00, 0x80,0x40,0x3F,0x00,0x40,0x40,0x20,0x20, 0x13,0x0C,0x18,0x24,0x43,0x80,0xE0,0x00, /*兴 C4843 1 */ 0x00,0xFE,0x4A,0x4A,0x00,0xFE,0xEA,0xAA, 0xAA,0xFE,0x00,0x4A,0x4A,0xFE,0x00,0x00, 0x02,0x83,0x42,0x22,0x12,0x1B,0x02,0x02, 0x02,0x0B,0x12,0x22,0x62,0xC3,0x02,0x00, /*国 C2590 2 */ 0x00,0xFE,0x02,0xD2,0x52,0x52,0xD2,0x3E, 0xD2,0x16,0x1A,0x12,0xFF,0x02,0x00,0x00, 0x00,0xFF,0x50,0x53,0x52,0x4A,0x6B,0x50, 0x4F,0x54,0x7B,0x40,0xFF,0x00,0x00,0x00, /*际 C2842 3 */ 0x00,0xFE,0x22,0xD2,0x0E,0x20,0xB8,0x4F, 0xB2,0x9E,0x80,0x9F,0x72,0x8A,0x06,0x00, 0x00,0xFF,0x04,0x08,0x07,0x21,0x12,0x0A, 0x46,0x82,0x7E,0x06,0x0A,0x12,0x31,0x00, /*( C0308 4 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xC0,0x30,0x08,0x04,0x02,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x03,0x0C,0x10,0x20,0x40,0x00,0x00, /*广 C2567 5 */ 0x00,0x00,0xFC,0x44,0x54,0x54,0x7C,0x55, 0xD6,0x54,0x7C,0x54,0x54,0x44,0x44,0x00, 0x80,0x60,0x1F,0x80,0x9F,0x55,0x35,0x15, 0x1F,0x15,0x15,0x35,0x5F,0x80,0x00,0x00, /*东 C2211 6 */ 0x00,0x08,0xE8,0xA8,0xA8,0xA8,0xA8,0xFF, 0xA8,0xA8,0xA8,0xA8,0xE8,0x0C,0x08,0x00, 0x00,0x40,0x23,0x12,0x0A,0x06,0x02,0xFF, 0x02,0x06,0x0A,0x12,0x23,0x60,0x20,0x00, /*) C0309 7 */ 0x00,0x00,0x02,0x04,0x08,0x30,0xC0,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*有 C5148 8 */ 0x04,0x04,0x04,0x84,0xE4,0x3C,0x27,0x24, 0x24,0x24,0x24,0xF4,0x24,0x06,0x04,0x00, 0x04,0x02,0x01,0x00,0xFF,0x09,0x09,0x09, 0x09,0x49,0x89,0x7F,0x00,0x00,0x00,0x00, /*限 C4762 9 */ 0x00,0xFE,0x02,0x22,0xDA,0x06,0x00,0xFE, 0x92,0x92,0x92,0x92,0xFF,0x02,0x00,0x00, 0x00,0xFF,0x08,0x10,0x08,0x07,0x00,0xFF, 0x42,0x24,0x08,0x14,0x22,0x61,0x20,0x00, /*公 C2511 10 */ 0x00,0x00,0x80,0x40,0x30,0x0C,0x00,0xC0, 0x07,0x1A,0x20,0x40,0x80,0x80,0x80,0x00, 0x01,0x01,0x20,0x70,0x28,0x24,0x23,0x20, 0x20,0x28,0x30,0x60,0x00,0x01,0x00,0x00, /*司 C4330 11 */ 0x10,0x10,0x92,0x92,0x92,0x92,0x92,0x92, 0xD2,0x9A,0x12,0x02,0xFF,0x02,0x00,0x00, 0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10, 0x3F,0x00,0x40,0x80,0x7F,0x00,0x00,0x00, }; /****************************************/ /* 定义ASCII字库8列*16行 */ /****************************************/
Uchar code Ezk[]={ /*-文字: --0x20 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-文字:!--0x21 */ 0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x27,0x00,0x00,0x00,0x00, /*-文字:"--0x22 */ 0x00,0x08,0x04,0x02,0x08,0x04,0x02,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-文字:#--0x23 */ 0x40,0x40,0xF8,0x40,0x40,0xF8,0x40,0x00, 0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00, /*-文字:$--0x24 */ 0x00,0x70,0x88,0xFC,0x08,0x08,0x30,0x00, 0x00,0x1C,0x20,0xFF,0x21,0x22,0x1C,0x00, /*-文字:%--0x25 */ 0xF0,0x08,0xF0,0x80,0x70,0x08,0x00,0x00, 0x00,0x31,0x0E,0x01,0x1E,0x21,0x1E,0x00, /*-文字:&--0x26 */ 0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00, 0x1E,0x21,0x23,0x24,0x18,0x16,0x20,0x00, /*-文字:'--0x27 */ 0x20,0x18,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-文字:(--0x28 */ 0x00,0x00,0x00,0x00,0xC0,0x30,0x08,0x04, 0x00,0x00,0x00,0x00,0x03,0x0C,0x10,0x20, /*-文字:)--0x29 */ 0x04,0x08,0x30,0xC0,0x00,0x00,0x00,0x00, 0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x00, /*-文字:*--0x2a */ 0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00, 0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00, /*-文字:+--0x2b */ 0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00, 0x01,0x01,0x01,0x0F,0x01,0x01,0x01,0x00, /*-文字:,--0x2c */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x60,0x00,0x00,0x00,0x00,0x00,0x00, /*-文字:---0x2d */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00, /*-文字:.--0x2e */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00, /*-文字:/--ox2f */ 0x00,0x00,0x00,0x00,0x00,0xE0,0x18,0x04, 0x00,0x40,0x30,0x0C,0x03,0x00,0x00,0x00, /*-文字:0--0x30 */ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, 0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00, /*-文字:1--0x31 */ 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00, 0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*-文字:2--0x32 */ 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00, 0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, /*-文字:3--0x33 */ 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00, 0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00, /*-文字:4--0x34 */ 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00, 0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00, /*-文字:5--0x35 */ 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00, 0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00, /*-文字:6--0x36 */ 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00, 0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00, /*-文字:7--0x37 */ 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00, 0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, /*-文字:8--0x38 */ 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00, 0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00, /*-文字:9--0x39 */ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, 0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00, /*-文字::-- */ 0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00, 0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00, /*-文字:/-- */ 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00, 0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00, /*-文字:<-- */ 0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00, 0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00, /*-文字:=-- */ 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00, 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00, /*-文字:>-- */ 0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00, 0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00, /*-文字:?-- */ 0x00,0x30,0x08,0x08,0x08,0x88,0x70,0x00, 0x00,0x00,0x00,0x26,0x01,0x00,0x00,0x00, /*-文字:@-- */ 0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00, 0x07,0x18,0x27,0x28,0x27,0x28,0x07,0x00, /*-文字:A-- */ 0x00,0x00,0xE0,0x18,0x18,0xE0,0x00,0x00, 0x30,0x0F,0x04,0x04,0x04,0x04,0x0F,0x30, /*-文字:B-- */ 0xF8,0x08,0x08,0x08,0x08,0x90,0x60,0x00, 0x3F,0x21,0x21,0x21,0x21,0x12,0x0C,0x00, /*-文字:C-- */ 0xE0,0x10,0x08,0x08,0x08,0x10,0x60,0x00, 0x0F,0x10,0x20,0x20,0x20,0x10,0x0C,0x00, /*-文字:D-- */ 0xF8,0x08,0x08,0x08,0x08,0x10,0xE0,0x00, 0x3F,0x20,0x20,0x20,0x20,0x10,0x0F,0x00, /*-文字:E-- */ 0x00,0xF8,0x08,0x08,0x08,0x08,0x08,0x00, 0x00,0x3F,0x21,0x21,0x21,0x21,0x20,0x00, /*-文字:F-- */ 0xF8,0x08,0x08,0x08,0x08,0x08,0x08,0x00, 0x3F,0x01,0x01,0x01,0x01,0x01,0x00,0x00, /*-文字:G-- */ 0xE0,0x10,0x08,0x08,0x08,0x10,0x60,0x00, 0x0F,0x10,0x20,0x20,0x21,0x11,0x3F,0x00, /*-文字:H-- */ 0x00,0xF8,0x00,0x00,0x00,0x00,0xF8,0x00, 0x00,0x3F,0x01,0x01,0x01,0x01,0x3F,0x00, /*-文字:I-- */ 0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, /*-文字:J-- */ 0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00, 0x00,0x1C,0x20,0x20,0x20,0x20,0x1F,0x00, /*-文字:K-- */ 0x00,0xF8,0x00,0x80,0x40,0x20,0x10,0x08, 0x00,0x3F,0x01,0x00,0x03,0x04,0x18,0x20, /*-文字:L-- */ 0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x00, /*-文字:M-- */ 0xF8,0xE0,0x00,0x00,0x00,0xE0,0xF8,0x00, 0x3F,0x00,0x0F,0x30,0x0F,0x00,0x3F,0x00, /*-文字:N-- */ 0x00,0xF8,0x30,0xC0,0x00,0x00,0xF8,0x00, 0x00,0x3F,0x00,0x01,0x06,0x18,0x3F,0x00, /*-文字:O-- */ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, 0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00, /*-文字:P-- */ 0xF8,0x08,0x08,0x08,0x08,0x10,0xE0,0x00, 0x3F,0x02,0x02,0x02,0x02,0x01,0x00,0x00, /*-文字:Q-- */ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, 0x00,0x0F,0x10,0x20,0x2C,0x10,0x2F,0x00, /*-文字:R-- */ 0xF8,0x08,0x08,0x08,0x08,0x90,0x60,0x00, 0x3F,0x01,0x01,0x01,0x07,0x18,0x20,0x00, /*-文字:S-- */ 0x60,0x90,0x88,0x08,0x08,0x10,0x20,0x00, 0x0C,0x10,0x20,0x21,0x21,0x12,0x0C,0x00, /*-文字:T-- */ 0x08,0x08,0x08,0xF8,0x08,0x08,0x08,0x00, 0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, /*-文字:U-- */ 0xF8,0x00,0x00,0x00,0x00,0x00,0xF8,0x00, 0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00, /*-文字:V-- */ 0x18,0xE0,0x00,0x00,0x00,0xE0,0x18,0x00, 0x00,0x01,0x0E,0x30,0x0E,0x01,0x00,0x00, /*-文字:W-- */ 0xF8,0x00,0xC0,0x38,0xC0,0x00,0xF8,0x00, 0x03,0x3C,0x03,0x00,0x03,0x3C,0x03,0x00, /*-文字:X-- */ 0x08,0x30,0xC0,0x00,0xC0,0x30,0x08,0x00, 0x20,0x18,0x06,0x01,0x06,0x18,0x20,0x00, /*-文字:Y-- */ 0x08,0x30,0xC0,0x00,0xC0,0x30,0x08,0x00, 0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, /*-文字:Z-- */ 0x08,0x08,0x08,0x08,0xC8,0x28,0x18,0x00, 0x30,0x2C,0x22,0x21,0x20,0x20,0x20,0x00, /*-文字:{-- */ 0x00,0x00,0x00,0x80,0x7E,0x02,0x00,0x00, 0x00,0x00,0x00,0x00,0x3F,0x20,0x00,0x00, /*-文字:\-- */ 0x00,0x08,0x70,0x80,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0x0E,0x30,0xC0,0x00, /*-文字:}-- */ 0x00,0x02,0x7E,0x80,0x00,0x00,0x00,0x00, 0x00,0x20,0x3F,0x00,0x00,0x00,0x00,0x00, /*-文字:^-- */ 0x00,0x08,0x04,0x02,0x02,0x04,0x08,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-文字:_-- */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*-文字:`-- */ 0x00,0x00,0x02,0x06,0x04,0x08,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-文字:a-- */ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00, 0x00,0x19,0x24,0x24,0x24,0x14,0x3F,0x00, /*-文字:b-- */ 0x00,0xF8,0x00,0x80,0x80,0x80,0x00,0x00, 0x00,0x3F,0x11,0x20,0x20,0x20,0x1F,0x00, /*-文字:c-- */ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00, 0x0E,0x11,0x20,0x20,0x20,0x20,0x11,0x00, /*-文字:d-- */ 0x00,0x00,0x80,0x80,0x80,0x00,0xF8,0x00, 0x00,0x1F,0x20,0x20,0x20,0x11,0x3F,0x00, /*-文字:e-- */ 0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00, 0x0E,0x15,0x24,0x24,0x24,0x25,0x16,0x00, /*-文字:f-- */ 0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x00, 0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, /*-文字:g-- */ 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00, 0x40,0xB7,0xA8,0xA8,0xA8,0xA7,0x40,0x00, /*-文字:h-- */ 0x00,0xF8,0x00,0x80,0x80,0x80,0x00,0x00, 0x00,0x3F,0x01,0x00,0x00,0x00,0x3F,0x00, /*-文字:i-- */ 0x00,0x00,0x00,0x98,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, /*-文字:j-- */ 0x00,0x00,0x00,0x00,0x98,0x00,0x00,0x00, 0x00,0x80,0x80,0x80,0x7F,0x00,0x00,0x00, /*-文字:k-- */ 0x00,0xF8,0x00,0x00,0x00,0x80,0x00,0x00, 0x00,0x3F,0x04,0x02,0x0D,0x10,0x20,0x00, /*-文字:l-- */ 0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, /*-文字:m-- */ 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00, 0x3F,0x00,0x00,0x3F,0x00,0x00,0x3F,0x00, /*-文字:n-- */ 0x00,0x80,0x00,0x80,0x80,0x80,0x00,0x00, 0x00,0x3F,0x01,0x00,0x00,0x00,0x3F,0x00, /*-文字:o-- */ 0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00, 0x0E,0x11,0x20,0x20,0x20,0x11,0x0E,0x00, /*-文字:p-- */ 0x00,0x80,0x00,0x80,0x80,0x80,0x00,0x00, 0x00,0xFF,0x11,0x20,0x20,0x20,0x1F,0x00, /*-文字:q-- */ 0x00,0x00,0x80,0x80,0x80,0x00,0x80,0x00, 0x00,0x1F,0x20,0x20,0x20,0x11,0xFF,0x00, /*-文字:r-- */ 0x00,0x00,0x80,0x00,0x00,0x80,0x80,0x00, 0x00,0x00,0x3F,0x01,0x01,0x00,0x00,0x00, /*-文字:s-- */ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00, 0x00,0x13,0x24,0x24,0x24,0x24,0x19,0x00, /*-文字:t-- */ 0x00,0x80,0x80,0xE0,0x80,0x80,0x80,0x00, 0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x00, /*-文字:u-- */ 0x00,0x80,0x00,0x00,0x00,0x00,0x80,0x00, 0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x00, /*-文字:v-- */ 0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, 0x00,0x07,0x18,0x20,0x18,0x07,0x00,0x00, /*-文字:w-- */ 0x80,0x00,0x00,0x80,0x00,0x00,0x80,0x00, 0x0F,0x30,0x0E,0x01,0x0E,0x30,0x0F,0x00, /*-文字:x-- */ 0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, 0x20,0x11,0x0A,0x04,0x0A,0x11,0x20,0x00, /*-文字:y-- */ 0x80,0x00,0x00,0x00,0x00,0x00,0x80,0x00, 0x00,0x87,0x98,0x60,0x18,0x07,0x00,0x00, /*-文字:z-- */ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00, 0x00,0x30,0x28,0x24,0x22,0x21,0x20,0x00, /*-文字:{-- */ 0x00,0x00,0x00,0x80,0x7E,0x02,0x00,0x00, 0x00,0x00,0x00,0x00,0x3F,0x20,0x00,0x00, /*-文字:|-- */ 0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00, /*-文字:}-- */ 0x00,0x02,0x7E,0x80,0x00,0x00,0x00,0x00, 0x00,0x20,0x3F,0x00,0x00,0x00,0x00,0x00, /*-文字:~-- */ 0x00,0x06,0x01,0x01,0x06,0x04,0x03,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; |