参考程序1
12864汉字液晶显示驱动程序
#include <reg51.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
sbit p_csa=P1^4;
sbit p_csb=P1^5;
sbit p_di=P1^0;
sbit p_rw=P1^1;
sbit p_e=P1^2;
sbit busy=P0^7;
char data mov=0;//滚动显示的变量
char data TIMER=0;//软件延时的全局变量
uchar code image[][16]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x10,0x10,0x08,0x04},
{0x04,0x02,0xF2,0x1E,0x02,0x1B,0xE7,0x03,0x07,0x1B,0xE2,0x02,0x02,0x02,0x04,0x04},
{0x08,0x10,0x10,0x60,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//64*8左屏幕的一页
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//128*8一页(包括左右屏)
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x3C,0x03,0x00,0x00,0x00,0x84,0x46,0xC6},
{0x4E,0x8C,0x1D,0x30,0x00,0x00,0x01,0x00,0x00,0x00,0x31,0x1C,0x8C,0x4E,0xC6,0x46},
{0x84,0x00,0x00,0x00,0x00,0x03,0x3C,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x80,0x7C,0x1E,0x8E,0x0F,0x0F,0x0F,0x8E,0x1E,0x7C,0x80,0x00,0x00,0x00},//左第二页
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x28,0x44,0x44,0x44,0x44,0x44,0x4C},
{0x7C,0xCC,0x44,0x44,0x04,0x40,0x44,0x48,0x90,0x60,0x60,0x40,0x40,0x40,0x40,0x00},
{0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x3C,0xC0,0x00,0x00,0x00,0x00,0x01,0x01},
{0x01,0x80,0x00,0x00,0x00,0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x81,0x01,0x01},
{0x00,0x00,0x00,0x00,0x00,0xC0,0x3C,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x07,0x78,0x80,0x01,0x20,0x28,0x20,0x01,0x80,0x78,0x07,0x00,0x00,0x00},//左第三页
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x04,0x3C,0x44,0x54,0x44,0x3C,0x04},
{0x04,0x06,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x3C,0x44,0x54,0x44,0x3C,0x04,0x04},
{0x04,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x08,0x08,0x10,0x20},
{0x20,0x40,0x41,0x42,0x42,0x84,0x84,0x84,0x84,0x84,0x42,0x42,0x41,0x40,0x20,0x20},
{0x10,0x08,0x08,0x06,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00},//左第四页
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}/*"E:\工作文件\51工作\128-64LCD显示\LCD图形2.bmp",0*/
};
// 江(0) 苏(1) 省(2) 激(3) 光(4) 研(5) 究(6) 所(7)
uchar code hz[][16]={
{0x10,0x60,0x01,0xC6,0x30,0x00,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x00,0x00},
{0x04,0x04,0x7E,0x01,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x00},/*"江",0*/
{0x04,0x04,0x44,0x44,0x44,0x5F,0x44,0xF4,0x44,0x5F,0x44,0xC4,0x04,0x04,0x04,0x00},
{0x00,0x40,0x4C,0x27,0x10,0x0C,0x07,0x01,0x20,0x40,0x40,0x3F,0x00,0x02,0x0C,0x00},/*"苏",1*/
{0x00,0x10,0x90,0x88,0x86,0xC0,0xC0,0xBF,0xA0,0x90,0x90,0x8A,0x84,0x18,0x00,0x00},
{0x01,0x01,0x00,0x00,0xFF,0x4A,0x4A,0x4A,0x4A,0x4A,0x4A,0x4A,0xFF,0x00,0x00,0x00},/*"省",2*/
{0x10,0x21,0x86,0x60,0x7C,0x56,0xD5,0x54,0x7C,0x20,0xF8,0x17,0x90,0x70,0x10,0x00},
{0x04,0x7C,0x43,0x21,0x19,0x07,0x45,0x85,0x7D,0x20,0x13,0x0C,0x33,0x60,0x20,0x00},/*"激",3*/
{0x00,0x40,0x42,0x44,0x5C,0xC8,0x40,0x7F,0x40,0xC0,0x50,0x4E,0x44,0x60,0x40,0x00},
{0x00,0x80,0x40,0x20,0x18,0x07,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78,0x00},/*"光",4*/
{0x02,0xC2,0xF2,0x4E,0xC2,0x02,0x40,0x42,0xFE,0x42,0x42,0x42,0xFE,0x42,0x42,0x00},
{0x01,0x00,0x3F,0x10,0x9F,0x40,0x20,0x18,0x07,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},/*"研",5*/
{0x00,0x4C,0x24,0x94,0x84,0x84,0xF5,0x86,0x84,0x84,0x14,0x24,0x44,0x0C,0x04,0x00},
{0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78,0x00},/*"究",6*/
{0x00,0xFE,0x12,0x12,0x11,0xF1,0x01,0x00,0xFE,0x22,0x22,0x21,0xE1,0x21,0x21,0x00},
{0x40,0x3F,0x01,0x01,0x81,0x41,0x30,0x0C,0x03,0x00,0x00,0x00,0xFF,0x00,0x00,0x00}/*"所",7*/
};
file://网址:w(0) w(1) w(2) .(3) j(4) s(5) l(6) a(7) s(8) e(9) r(10) .(11) c(12) n(13)
uchar code zf[][16]={
{0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00},/*"w",0*/
{0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00},/*"w",1*/
{0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00},/*"w",2*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00},/*".",3*/
{0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00},/*"j",4*/
{0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00},/*"s",5*/
{0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},/*"l",6*/
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20},/*"a",7*/
{0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00},/*"s",8*/
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00},/*"e",9*/
{0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00},/*"r",10*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00},/*".",11*/
{0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00},/*"c",12*/
{0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20},/*"n",13*/
};
/*忙判别*/
void lcd_busy(void)
{
p_di=0;
p_rw=1;
P0=0xff;//读数据
while (1)
{ p_e=1;
if (!busy) break;//忙标志为0了,则跳出循环
p_e=0;
} file://比汇编灵活,汇编类似于用if判断,自己做循环
p_e=0;
}
/*设置xy*/
void set_xy(uchar x,uchar y)
{
if (x>=64)
{p_csa=0;p_csb=1;x=x-64;}//调整x值
else
{p_csb=0;p_csa=1;}//如果超过一页了则换屏显示,一页一共64行
lcd_busy();//不忙了,再送数据
p_di=p_rw=0;P0=0x40|x;p_e=1;p_e=0;//送的地址是用最左边的地址和x按位或而取得
lcd_busy();
p_di=p_rw=0;P0=0xb8|y;p_e=1;p_e=0;//送页地址采用同样的方法
}
file://写数据子程序
void lw(uchar x,uchar y,uchar dd)
{
set_xy(x,y);
lcd_busy();
p_di=1;p_rw=0;P0=dd;p_e=1;p_e=0;
}
/*显示初始化子程序*/
void lcd_init(void)
{
uchar x,y;
/*开显示*/
p_e=p_di=p_rw=0;//写指令,使能清0
p_csa=p_csb=0;//片选清0
p_csa=1;P0=0x3f;p_e=1;p_e=0;p_csa=0;//写左屏幕,开显示
p_csb=1;P0=0x3f;p_e=1;p_e=0;p_csb=0;//写右屏幕,开显示
/*0行开始显示*/
p_csa=1;lcd_busy();p_di=p_rw=0;P0=0xc0;p_e=1;p_e=0;p_csa=0;//左屏幕从0行开始显示
p_csb=1;lcd_busy();p_di=p_rw=0;P0=0xc0;p_e=1;p_e=0;p_csb=0;//右屏幕从0行开始显示
for (y=0;y<8;y++)
{
for (x=0;x<128;x++) lw(x,y,0);//清屏幕
}
}
file://显示汉字,fb==1:反白显示,x为列,y为页,p为指针(数据的地址)
void disp_hz(uchar x,uchar y,char *p,uchar fb)
{
uchar i,dd;
for (i=0;i<16;i++)//i为一个字的宽度.
{
dd=*(p+i);//取要显示的数据
if (fb) dd=255-dd;//反白就是让它每个位取反
lw(x+i,y,dd);
dd=*(p+16+i);//让它取下一行数组里的数
if (fb) dd=255-dd;
lw(x+i,y+1,dd);
}
}
file://显示字符,fb==1:反白显示
void disp_zf(uchar x,uchar y,char *p,uchar fb)
{
uchar i,dd;
for (i=0;i<8;i++)//i为一个字的宽度.
{
dd=*(p+i);//取要显示的数据
if (fb) dd=255-dd;//反白就是让它每个位取反
lw(x+i,y,dd);
dd=*(p+8+i);//让它取下一行数组里的数
if (fb) dd=255-dd;
lw(x+i,y+1,dd);
}
}
file://显示图象128*32,fb==1:反白显示
void disp_image(uchar x,uchar y,uchar *p,uchar fb)
{
uchar i,dd;
for (i=0;i<64;i++)//i为一个字的宽度.
{
dd=*(p+i);//取要显示的数据
if (fb) dd=255-dd;//反白就是让它每个位取反
lw(x+i,y,dd);
dd=*(p+128+i);//让它取下一行数组里的数
if (fb) dd=255-dd;
lw(x+i,y+1,dd);
dd=*(p+256+i);//取要显示的数据
if (fb) dd=255-dd;//反白就是让它每个位取反
lw(x+i,y+2,dd);
dd=*(p+384+i);//让它取下一行数组里的数
if (fb) dd=255-dd;
lw(x+i,y+3,dd);
}
}
/*延时子程序*/
void delay()
{
data uint i,j;
for(i=0;i<255;i++)
{for(j=0;j<255;j++);}
}
/*滚动子程序*/
mov_line(char i)
{
p_csa=1;lcd_busy();p_di=p_rw=0;P0=0xc0|i;p_e=1;p_e=0;p_csa=0;//左屏幕从i行开始显示
p_csb=1;lcd_busy();p_di=p_rw=0;P0=0xc0|i;p_e=1;p_e=0;p_csb=0;//右屏幕从i行开始显示
}
/*采用中断*/
void timer0() interrupt 1 using 0
{//T/C0中断服务程序入口
file://一个中断时间太短了,我们采用软件延时,利用一个全局变量TIMER来控制时间长短.
TIMER++;
if(TIMER==255){
mov+=1;
if(mov==64) mov=0;
mov_line(mov);
}
TH0=-(1/256);
TL0=-(1%256);//装载记数初值
}
/*主程序,本人的第一个C51程序!*/
void main()
{
uchar i,j,k,p_i,p_k,p_ii;//i为列,j为页,k为二维数组的行,p_i,p_ii为切换左右屏幕显示的变量,p_k为取字模位置的变量调整
lcd_init(); file://初始化LCD
TMOD=0x01;//定时器方式1
TH0=-(1/256);
TL0=-(1%256);//装载记数初值
EA=1;
ET0=1;//开中断,但是还没开定时器
/*先左屏幕显示,再通过+64而切换到右屏幕显示*/
for(p_i=p_ii=p_k=0;p_i<=64&&p_k<=1;p_i+=64,p_ii+=56,p_k++)
{
for(i=j=k=0;k<=6&&i<=48;k+=2,i+=16)
{
disp_hz(i+p_i,j,&hz[k+8*p_k][0],0);
}//显示汉字
for(i=8,j=2,k=0;k<=7&&i<=56;k++,i+=8)
{
disp_zf(i+p_ii,j,&zf[k+7*p_k][0],0);
}//显示字母,空一个字母来显示
disp_image(p_i,4,&image[4*p_k][0],0);
file://显示图象
}
TR0=1;//启动定时器
do{}while(1);//等待中断
}
参考程序2
#include <regx52.h>
#include <intrins.h>
#include <string.h>
file://#define uchar unsigned char file://自定义关键字
file://-----------------------------------------------
file://TS12864并口相关设定//
sbit bitLCDsclk = P1^4 ;
sbit bitLCDsid = P1^1 ;
sbit bitLCDcs = P1^0 ;
file://-----------------------------------------------
unsigned char lcdPosX, lcdPosY ; file://X,Y坐标
unsigned char halfScr, halfLineCnt, basicBlock ; file://半屏,半屏行数,N*8块
file://-----------------------------------------------
unsigned char code powerOnPhoto [] = { file://开机画面
0xFF,0xFF,0xFF,0xFE,0x00,0x3E,0x18,0x00,
0x00,0x00,0x00,0x00,0x1F,0x3F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF2,0x00,0x1E,0x1C,0x00,
0x00,0x00,0x00,0x00,0x07,0xBF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF3,0x00,0x0E,0x0C,0x00,
0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF5,0x80,0x04,0x06,0x00,
0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFC,0x80,0x00,0x06,0x00,
0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFE,0xC0,0x00,0x02,0x00,
0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x7C,0x00,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFD,0x00,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFD,0x1C,0x03,0x00,
0x00,0x00,0x04,0x20,0x00,0x1F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
0x00,0x00,0x3E,0x2C,0x00,0x0F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
0x00,0x00,0x7E,0xE9,0x00,0x0F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,
0x00,0x00,0xFF,0xFF,0x00,0x07,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xF9,0xE0,0x00,
0x00,0x01,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xCF,0xF8,0xE0,0x00,
0x00,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xEF,0xFC,0xE0,0x60,
0x00,0x03,0xDF,0xFF,0xF8,0x03,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x60,
0x00,0x03,0xFF,0xF9,0xFC,0x00,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x60,
0x00,0x00,0x7F,0xF3,0xFE,0x01,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x60,
0x00,0x00,0x1F,0x7F,0xFE,0x01,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x60,
0x00,0x00,0x08,0x1F,0xFA,0x01,0x7F,0xFF,
0xFF,0xFF,0xFF,0xB0,0x60,0x00,0x00,0xE0,
0x00,0x00,0x00,0x00,0x78,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0xD0,0x00,0x00,0x00,0xE0,
0x00,0x00,0x00,0x00,0x39,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0xE0,
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x01,0xE0,
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x01,0xE0,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x01,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x03,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x07,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x07,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x0F,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x0F,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,
0xFF,0xFF,0xFF,0x88,0x00,0x00,0x0E,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0x80,0x00,0x00,0x1C,0x30,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xA0,0x00,0x00,0x1C,0x38,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0x90,0x00,0x00,0x18,0x38,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0x98,0x00,0x00,0x18,0xFC,
0x0E,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0x80,0x00,0x00,0x19,0xFD,
0x1F,0x80,0x00,0x00,0x00,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0xC4,0x00,0x00,0x39,0xFE,
0xBF,0x80,0x00,0x00,0x00,0x00,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x31,0xFE,
0xFF,0x80,0x00,0x00,0x00,0x00,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x38,0xFF,
0xC7,0x80,0x00,0x00,0x00,0x00,0xBF,0xFF,
0xFF,0xFF,0xFF,0xD0,0x00,0x00,0x38,0x75,
0x87,0x80,0x00,0x00,0x00,0x01,0xBF,0xFF,
0xFF,0xFF,0xFF,0xD0,0x00,0x00,0x38,0x70,
0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,
0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x3C,0xC0,
0x00,0x30,0x00,0x00,0x00,0x01,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x1F,0xE0,
0x00,0x20,0x00,0x00,0x00,0x02,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x02,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x06,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x04,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x05,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0B,0xF7,0xFE,
0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x13,0xF7,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x13,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x11,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x11,0xFD,0xFF,
0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x01,0x18,
0x00,0x00,0x00,0x00,0x00,0x01,0xBC,0xF7,
0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x07,0x7F,
0xFE,0x00,0x00,0x00,0x00,0x03,0xBC,0xFF,
0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x0F,0xFF,
0xFE,0xC0,0x00,0x00,0x00,0x03,0xFE,0xEF,
0xFF,0xFF,0xFF,0xF9,0x00,0x00,0x7F,0xFF,
0xFF,0xC0,0x00,0x00,0x00,0x03,0xFE,0x6F,
0xFF,0xFF,0xFF,0xF9,0x00,0x00,0x7F,0xE3,
0x9F,0xC0,0x00,0x00,0x00,0x03,0xFE,0xFF,
0xFF,0xFF,0xFF,0xFC,0x00,0x01,0xFF,0xC0,
0x0F,0xF0,0x00,0x00,0x00,0x07,0xFE,0xFF,
0xFF,0xFF,0xFF,0xFC,0x00,0x01,0xFE,0xC0,
0x05,0xFC,0x00,0x00,0x00,0x07,0xCE,0xFF,
0xFF,0xFF,0xFF,0xFC,0x00,0x03,0xFF,0xCB,
0x4D,0xFF,0x80,0x00,0x00,0x07,0xFE,0xFF,
0xFF,0xFF,0xFF,0xFE,0x00,0x03,0xFC,0x00,
0x00,0xFF,0xC0,0x00,0x00,0x0E,0x00,0xF7,
0xFF,0xFF,0xFF,0xFE,0x00,0x01,0xC0,0x00,
0x00,0x0F,0xC0,0x00,0x00,0x06,0x01,0xFF,
0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x1D,0x00,
0x00,0x01,0xC0,0x00,0x00,0x0E,0x03,0xFF
} ;
unsigned char code filejia[] = // 数据表
{
0x00,0x00,0x00,0x00,0x0F,0xF0,0x10,0x08,
0x7F,0xFE,0x40,0x02,0x40,0x02,0x4F,0xF2,
0x48,0x12,0x48,0x12,0x48,0x12,0x48,0x12,
0x4F,0xF2,0x40,0x02,0x7F,0xFE,0x00,0x00
} ;
file://子程序声明和用法
file://初始化LCD子程序
void lcdClear (void) ;
file://清除LCD文本屏幕子程序
void alldisplayPhoto (unsigned char *bmp, unsigned char bmpCls) ;
void displayPhoto (unsigned char *bmp, unsigned char bmpCls) ;
file://全屏显示图形子程序
file://输入参数:*bmp=图形数据
file://bmpCls=清除图形屏幕选项(OFF为不清屏,即显示图形,ON为清屏)
void convertChar (unsigned char CX, CY, width) ;
file://字符反白显示
file://输入参数:CX=要反白字符的行(0-3)
file://CY=要反白字符的列(0-7)
file://width=要反白字符的长度(1-16)
void wrPosition (void) ;
file://坐标写入子程序
void dispString (unsigned char X, Y, speed, unsigned char *msg) ;
file://显示字符串子程序
file://输入参数:X=行(0-3), Y=列(0-7), speed=显示速度(毫秒), msg=字符数据
void beepBl (void) ;
file://蜂鸣器响一声子程序
void delayMs (unsigned char ms) ;
file://延时(毫秒)子程序
file://输入参数:毫秒数
void delaySec (unsigned char sec) ;
file://延时(秒)子程序
file://输入参数:秒数
void lcdInit (void) ;
file://-------------
void lcd_delay(void) ;
void lcd_wbyte(unsigned char sendbyte) ;
void lcd_wri(unsigned char indata) ;
void lcd_wrd(unsigned char indata) ;
void lcd_nop(void) ;
void delay_ms(unsigned char k) ;
file://void lcd_show_str(unsigned char * strdata, unsigned char len, unsigned char x_tab) ;
file://-------------------
void showPhoto (unsigned char cx,cy,high,width ,unsigned char *bmp) ;
void clearChar (unsigned char CX, CY, width) ;
file://===============================================
void main (void)
{
unsigned char InitLine ;
// unsigned char number ;
// unsigned char totlenumber ;
lcdInit () ;
while(1)
{
lcdClear() ;
dispString(0, 1, 200, "佛山领航电教") ;
dispString(1, 1, 200, "点播演示系统") ;
delaySec(10) ;
file://displayPhoto(0,1) ;
lcdClear() ;
// delaySec(10) ;
displayPhoto(powerOnPhoto, 0) ;
file://displayPhoto(0,1) ;
delaySec(4) ;
alldisplayPhoto(0,1) ;
showPhoto(0x80,1,1,1,filejia) ;
dispString(1, 1, 1, " 陈百强") ;
convertChar(1, 1, 14) ;
delaySec(10) ;
showPhoto(0x88,2,1,1,filejia) ;
dispString(2, 1, 1, " 黄家驹") ;
showPhoto(0x88,3,1,1,filejia) ;
dispString(3, 1, 1, " 郑智化") ;
delaySec(10) ;
clearChar(1, 1, 14) ;
convertChar(2, 1, 14) ;
delaySec(10) ;
clearChar(2, 1, 14) ;
convertChar(3, 1, 14) ;
delaySec(10) ;
clearChar(3, 1, 14) ;
delaySec(10) ;
alldisplayPhoto(0,1) ;
lcdClear() ;
dispString(0, 0, 1, "┏━━━━━━┓") ;
dispString(1, 0, 1, "┃12864LCD测试┃") ;
dispString(2, 0, 1, "┃画面人物宝儿┃") ;
dispString(3, 0, 1, "┗━━━━━━┛") ;
delaySec(6) ;
lcdClear() ;
dispString(0, 1, 100, "请稍等片刻") ;
dispString(2, 0, 100, "系统初始化。。。") ;
for (InitLine = 0 ; InitLine < 17 ; InitLine++)
{
convertChar(2, 0, InitLine) ;
delaySec(2) ;
}
lcdClear() ;
}
}
file://===============================================
void lcdInit (void)
{
lcd_delay() ;
lcd_wri(0x34) ;
lcd_delay() ;
lcd_wri(0x30) ;
lcd_delay() ;
lcd_wri(0x0c) ;
lcd_delay() ;
lcd_wri(0x01) ;
lcd_delay() ;
lcd_wri(0x06) ;
lcd_delay() ;
}
file://===============================================
void lcdClear (void)
{
lcd_wri(0x30) ;
lcd_delay() ;
lcd_wri(0x01) ;
delayMs(4) ;
}
file://===============================================
file://===============================================
file://===============================================
void displayPhoto (unsigned char *bmp, unsigned char bmpCls)
{
lcdPosX = 0x80 ;
halfScr = 2 ;
for ( ;halfScr != 0 ; halfScr--)
{
lcdPosY = 0x80 ;
halfLineCnt = 32 ;
for ( ;halfLineCnt != 0 ; halfLineCnt--)
{
basicBlock = 16 ;
wrPosition () ;
for ( ; basicBlock != 0 ; basicBlock--)
{
if (bmpCls == 0)
{
lcd_wrd (*bmp++) ;
}
else if (bmpCls == 1)
{
lcd_wrd (0x00) ;
}
}
lcdPosY++ ;
}
lcdPosX = 0x88 ;
}
lcd_wri(0x36) ;
lcd_wri(0x30) ;
}
file://===============================================
void showPhoto (unsigned char cx,cy,high,width ,unsigned char *bmp)//指定位置显示小图
{
lcd_wri(0x34) ;
lcdPosX = cx ;//(0x80--------0x8F)
if (cy==0)
{
lcdPosY=0x80 ;
}
else if(cy==1)
{
lcdPosY=0x90 ;
}
else if(cy==2)
{
lcdPosY=0x80 ;
}
else if(cy==3)
{
lcdPosY=0x90 ;
}
file://lcdPosY = cy ;//(lcdposx+(0-----32)
width= 16*width/8 ;
halfLineCnt =high*16 ;
for ( ;halfLineCnt != 0 ; halfLineCnt--)
{
basicBlock =width ;//指的是块(块是8点),2*8=16点
wrPosition () ;//指定坐标
for ( ; basicBlock != 0 ; basicBlock--)
{
lcd_wrd (*bmp++) ;//读入一个字符数据
}
lcdPosY++ ;
}
lcd_wri(0x36) ;//打开绘图模式
lcd_wri(0x30) ;//写入基本指令
}
file://===============================================
void convertChar (unsigned char CX, CY, width)
{
file://displayPhoto(0,1) ;
lcdPosY = 0x80 ;
if (CX == 0)
{
CX = 0x80 ;
halfLineCnt = 16 ;
}
else if (CX == 1)
{
CX = 0x80 ;
halfLineCnt = 32 ;
}
else if (CX == 2)
{
CX = 0x88 ;
halfLineCnt = 16 ;
}
else if (CX == 3)
{
CX = 0x88 ;
halfLineCnt = 32 ;
}
lcdPosX = CX + CY ;
for ( ; halfLineCnt != 0 ; halfLineCnt--)
{
basicBlock = width ;
wrPosition() ;
for ( ;basicBlock != 0 ; basicBlock--)
{
if (halfLineCnt > 16)
{
lcd_wrd(0x00) ;
}
else
{
lcd_wrd (0xff) ;
}
}
lcdPosY++ ;
}
lcd_wri(0x36) ;
// lcd_wri(0x30) ;
}
file://===============================================
void wrPosition (void)
{
lcd_wri(0x34) ;
lcd_wri(lcdPosY) ;
lcd_wri(lcdPosX) ;
lcd_wri(0x30) ;
}
file://===============================================
void dispString (unsigned char X, Y, speed, unsigned char *msg)
{
if (X == 0)
{
X = 0x80 ;
}
else if (X == 1)
{
X = 0x90 ;
}
else if (X == 2)
{
X = 0x88 ;
}
else if (X == 3)
{
X = 0x98 ;
}
Y = X + Y ;
lcd_wri(Y) ;
while (*msg)
{
lcd_wrd(*msg++) ;
delayMs(speed) ;
}
}
file://===============================================
file://===============================================
void delayMs (unsigned char ms)
{
unsigned char i ;
while (--ms)
{
for (i = 0 ; i < 125 ; i++) ;
}
}
file://===============================================
void delaySec (unsigned char sec)
{
unsigned char i ;
while (--sec)
{
for (i = 0 ; i < 200 ; i++)
{
delayMs (6) ;
}
}
}
file://===============================================
void lcd_nop(void)
{
_nop_() ;
_nop_() ;
_nop_() ;
_nop_() ;
_nop_() ;
_nop_() ;
_nop_() ;
_nop_() ;
_nop_() ;
_nop_() ;
_nop_() ;
}
void lcd_wri(unsigned char indata)
{
bitLCDcs = 0 ;
lcd_nop() ;
bitLCDcs = 1 ;
lcd_nop() ;
lcd_wbyte(0xf8) ;
lcd_wbyte(indata & 0xf0) ;
lcd_wbyte((indata << 4) & 0xf0) ;
}
void lcd_wrd(unsigned char indata)
{
bitLCDcs = 0 ;
lcd_nop() ;
bitLCDcs = 1 ;
lcd_nop() ;
lcd_wbyte(0xfa) ;
lcd_wbyte(indata & 0xf0) ;
lcd_wbyte((indata << 4) & 0xf0) ;
}
void lcd_wbyte(unsigned char sendbyte)
{
unsigned char data j=8 ;
for( ;j>0 ;j--)
{
lcd_nop() ;
sendbyte<<=1 ; file://无论C51怎样实现这个操作,始终会使CY=sendbyte^7 ;
bitLCDsid=CY ;
lcd_nop() ;
bitLCDsclk=0 ;
lcd_nop() ;
bitLCDsclk=1 ;
lcd_nop() ;
bitLCDsclk=0 ;
lcd_nop() ;
}
}
void lcd_delay(void)
{
delay_ms(1) ;
}
void delay_ms(unsigned char k)
{
unsigned char i ;
unsigned char j ;
for ( ; k>0 ; k--)
{
for (i=0x0c ; i>0 ; i--)
{
for (j=0xe5 ; j>0 ; j--)
{
}
}
}
}
void alldisplayPhoto (unsigned char *bmp, unsigned char bmpCls)
{
lcdPosX = 0x80 ;
halfScr = 2 ;
for ( ;halfScr != 0 ; halfScr--)
{
lcdClear () ;
lcdPosY = 0x80 ;
halfLineCnt = 32 ;
for ( ;halfLineCnt != 0 ; halfLineCnt--)
{
basicBlock = 16 ;
wrPosition () ;
for ( ; basicBlock != 0 ; basicBlock--)
{
if (bmpCls == 0)
{
lcd_wrd (*bmp++) ;
}
else if (bmpCls == 1)
{
lcd_wrd (0x00) ;
}
}
lcdPosY++ ;
}
lcdPosX = 0x88 ;
}
lcd_wri(0x36) ;
lcd_wri(0x30) ;
}
void clearChar (unsigned char CX, CY, width)
{
lcd_wri(0x36) ;
lcdPosY = 0x80 ;
if (CX == 0)
{
CX = 0x80 ;
halfLineCnt = 16 ;
}
else if (CX == 1)
{
CX = 0x80 ;
halfLineCnt = 32 ;
}
else if (CX == 2)
{
CX = 0x88 ;
halfLineCnt = 16 ;
}
else if (CX == 3)
{
CX = 0x88 ;
halfLineCnt = 32 ;
}
lcdPosX = CX + CY ;
for ( ; halfLineCnt != 0 ; halfLineCnt--)
{
basicBlock = width ;
wrPosition() ;
for ( ;basicBlock != 0 ; basicBlock--)
{
if (halfLineCnt > 16)
{
lcd_wrd(0x00) ;
}
else
{
lcd_wrd (0x00) ;
}
}
lcdPosY++ ;
}
lcd_wri(0x36) ;
file://lcd_wri(0x30) ;
}
参考程序3:
;12864(带字库汉字显示演示程序)
;***************************************************************************
;* sxj1974@163.com (51c51 test web) www.8951.com *
;* Create by :石学军 www.51c51.com 更多例程请登陆网站 *
;***************************************************************************
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
PSB EQU P2.3
RST EQU P2.5
;-----------------------------------------------
LCD_X EQU 30H
LCD_Y EQU 31H
COUNT EQU 32H
COUNT1 EQU 33H
COUNT2 EQU 34H
COUNT3 EQU 35H
;-----------------------------------------------
LCD_DATA EQU 36H
LCD_DATA1 EQU 37H
LCD_DATA2 EQU 38H
STORE EQU 39H
;-----------------------------------------------
ORG 0000H
LJMP MAIN
ORG 0100H
;-----------------------------------------------
MAIN:MOV SP,#5FH
CLR RST ;复位
LCALL DELAY4
SETB RST
NOP
SETB PSB ;通讯方式为8位数据并口
;********************初始化**********************
LGS0: MOV A,#34H ;34H--扩充指令操作
LCALL SEND_I
MOV A,#30H ;30H--基本指令操作
LCALL SEND_I
MOV A,#01H ;清除显示
LCALL SEND_I
MOV A,#06H ;指定在资料写入或读取时,光标的移动方向
LCALL SEND_I ;DDRAM 的地址计数器(AC)加1
MOV A,#0CH ;开显示,关光标,不闪烁
LCALL SEND_I
;===============================================
TU_PLAY1:
MOV DPTR,#TU_TAB1 ;显示图形
LCALL PHO_DISP
LCALL DELAY3
;=================================================
;;显示汉字和字符
;加入80ms的延时,使你能够看清楚显示的过程
;根据汉字显示坐标分段写入(顺序写入)
;=================================================
HAN_WR2:
LCALL CLEAR_P
HAN_WR2A:
MOV DPTR,#TAB1A ;显示汉字和字符
MOV COUNT,#10H ;地址计数器设为16。
MOV A,#80H ;第一行起始地址
LCALL SEND_I
LCALL QUSHU
HAN_WR2B:
MOV DPTR,#TAB1B ;显示汉字和字符
MOV COUNT,#10H ;地址计数器设为16。
MOV A,#90H ;第二行起始地址
LCALL SEND_I
LCALL QUSHU
HAN_WR2C:
MOV DPTR,#TAB1C ;显示汉字和字符
MOV COUNT,#10H ;地址计数器设为16。
MOV A,#88H ;第三行起始地址
LCALL SEND_I
LCALL QUSHU
HAN_WR2D:
MOV DPTR,#TAB1D ;显示汉字和字符
MOV COUNT,#10H ;地址计数器设为16。
MOV A,#98H ;第四行起始地址
LCALL SEND_I
LCALL QUSHU
LCALL DELAY3
LCALL FLASH
LCALL CLEAR_P
JMP TU_PLAY2
;----------------------------------------------
;TU_PLAY1:
MOV DPTR,#TU_TAB1 ;显示图形
LCALL PHO_DISP
LCALL DELAY3
;----------------------------------------------
TU_PLAY2:
MOV DPTR,#TU_TAB2 ;显示图形
LCALL PHO_DISP
LCALL DELAY3
;----------------------------------------------
TU_PLAY3:
MOV DPTR,#TU_TAB4 ;显示图形
LCALL PHO_DISP
LCALL DELAY3
;-----------------------------------------------
;显示点阵
;-----------------------------------------------
LATPLAY1:
MOV A,#01H ;清屏
LCALL SEND_I
MOV LCD_DATA1,#0CCH ;显示点阵
MOV LCD_DATA2,#0CCH
LCALL LAT_DISP
LCALL DELAY3
LCALL CLEAR_P
KU_PLAY2:
LJMP TU_PLAY1
;===============================================
;全屏显示图形子程序
;===============================================
PHO_DISP:
MOV COUNT3,#02H
MOV LCD_X,#80H
PHO_DISP1:
MOV LCD_Y,#80H
MOV COUNT2,#20H
PHO_DISP2:
MOV COUNT1,#10H
LCALL WR_ZB
PHO_DISP3:
CLR A
MOVC A,@A+DPTR
LCALL SEND_D
INC DPTR
DJNZ COUNT1,PHO_DISP3
INC LCD_Y
DJNZ COUNT2,PHO_DISP2
MOV LCD_X,#88H
DJNZ COUNT3,PHO_DISP1
MOV A,#36H
LCALL SEND_I
MOV A,#30H
LCALL SEND_I
RET
;----------------------------------------------
CLRRAM:
MOV LCD_DATA1,#00H ;GDRAM写0子程序
MOV LCD_DATA2,#00H
LCALL LAT_DISP
RET
;==============================================
;显示点阵子程序
;==============================================
LAT_DISP:
MOV COUNT3,#02H
MOV LCD_X,#80H
LAT_DISP1:
MOV LCD_Y,#80H
CLR F0
MOV COUNT2,#20H
LAT_DISP2:
MOV COUNT1,#10H
LCALL WR_ZB
LAT_DISP3:
JB F0,LAT_DISP32
MOV LCD_DATA,LCD_DATA1
AJMP LAT_DISP31
LAT_DISP32:
MOV LCD_DATA,LCD_DATA2
LAT_DISP31:
MOV A,LCD_DATA
LCALL SEND_D
DJNZ COUNT1,LAT_DISP31
INC LCD_Y
CPL F0
DJNZ COUNT2,LAT_DISP2
MOV LCD_X,#88H
DJNZ COUNT3,LAT_DISP1
MOV A,#36H
LCALL SEND_I
MOV A,#30H
LCALL SEND_I
RET
;---------------------------------------------
WR_ZB:
MOV A,#34H
LCALL SEND_I
MOV A,LCD_Y
LCALL SEND_I
MOV A,LCD_X
LCALL SEND_I
MOV A,#30H
LCALL SEND_I
RET
;===============================================
FLASH:
MOV A,#08H ;关闭显示
LCALL SEND_I
LCALL DELAY5
MOV A,#0CH ;开显示,关光标,不闪烁
LCALL SEND_I
LCALL DELAY5
MOV A,#08H ;关闭显示
LCALL SEND_I
LCALL DELAY5
MOV A,#0CH ;开显示,关光标,不闪烁
LCALL SEND_I
LCALL DELAY5
MOV A,#08H ;关闭显示
LCALL SEND_I
LCALL DELAY5
RET
;==================================================
;清屏
;==================================================
CLEAR_P:
MOV A,#01H ;清屏
LCALL SEND_I
MOV A,#34H
LCALL SEND_I
MOV A,#30H
LCALL SEND_I
RET
;==================================================
;查表取数据送显示
;==================================================
QUSHU:
CLR A
MOVC A,@A+DPTR ;查表取数据
LCALL SEND_D ;送显示
INC DPTR
LCALL DELAY4 ;延时80ms,
DJNZ COUNT,QUSHU
RET
;===============================================
;写数据子程序
;RS=1,RW=0,E=高脉冲,D0-D7=数据
;===============================================
SEND_D:
LCALL CHK_BUSY ;写数据子程序
SETB RS
CLR RW
MOV P0,A
SETB E
NOP
NOP
CLR E
RET
;===============================================
;写指令子程序
;RS=0,RW=0,E=高脉冲,D0-D7=指令码
;===============================================
SEND_I:
LCALL CHK_BUSY
CLR RS
CLR RW
MOV P0,A
SETB E
NOP
NOP
CLR E
RET
;================================================
;读数据子程序
;RS=1,RW=1,E=H,D0-D7=数据
;================================================
READ_D:
LCALL CHK_BUSY ;读数据子程序
SETB RS
SETB RW
SETB E
NOP
MOV A,P0
CLR E
MOV STORE,A
RET
;================================================
;;测忙碌子程序
;RS=0,RW=1,E=H,D0-D7=状态字
;================================================
CHK_BUSY:
MOV P0,#0FFH ;测忙碌子程序
CLR RS
SETB RW
SETB E
JB P0.7,$
CLR E
RET
;================================================
;延时子程序
DELAY3:
MOV R5,#16H
DEL31: MOV R6,#100
DEL32: MOV R7,#0FFH
DEL33: DJNZ R7,DEL33
DJNZ R6,DEL32
DJNZ R5,DEL31
RET
DELAY2:
MOV R6,#0CH
DEL21: MOV R7,#18H
DEL22: DJNZ R7,DEL22
DJNZ R6,DEL21
RET
DELAY1:
MOV R6,#06H
DEL11: MOV R7,#08H
DEL12: DJNZ R7,DEL12
DJNZ R6,DEL11
RET
DELAY4:
MOV R6,#100
DEL41: MOV R7,#200
DEL42: DJNZ R7,DEL42
DJNZ R6,DEL41
RET
DELAY5:
MOV R5,#05H
DEL51: MOV R6,#100
DEL52: MOV R7,#0FFH
DEL53: DJNZ R7,DEL53
DJNZ R6,DEL52
DJNZ R5,DEL51
RET
;***********************************************
TAB1:
TAB1A: DB ' 51单片机学习网(深圳学林电子有限公司) ' ;显示在第一行
TAB1C: DB '自学单片机第一站' ;显示在第三行
TAB1B: DB ' WWW.8951.COM ' ;显示在第二行
TAB1D: DB 'TEL 755-89956892' ;显示在第四行
;*-------------------------------------------------------------------- *
;* Bitmap点阵数据表 *
;* 图片: E:\图形8.bmp,横向取模左高位,数据排列:从左到右从上到下 *
;* 图片尺寸: 128 * 64 *
;*-------------------------------------------------------------------- *
TU_TAB1: ; 数据表
db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 3Ch, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 7Fh, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h,0FFh,0C0h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 01h,0BFh,0F8h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 01h,0FFh,0DCh, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 01h, 1Fh,0FEh, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 01h,0DFh,0FFh, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h,0FFh,0FFh, 19h, 8Ch, 03h, 06h, 00h, 18h, 00h,0FFh,0E1h
db 80h, 00h, 00h, 00h, 00h, 3Fh,0FFh, 0Ch,0CCh, 03h, 06h, 00h, 18h, 00h,0FFh,0E1h
db 80h, 00h, 00h, 00h, 00h, 7Fh,0FFh, 04h, 58h, 03h, 06h, 01h,0FFh,0C0h, 00h,0C1h
db 80h, 00h, 00h, 00h, 00h, 7Fh,0DAh, 3Fh,0FEh, 0Fh,0DFh,0C1h,0FFh,0C0h, 01h, 81h
db 80h, 00h, 00h, 00h, 00h, 7Fh, 8Ch, 3Fh,0FEh, 0Fh,0DFh,0C1h, 98h,0C0h, 07h, 01h
db 80h, 00h, 00h, 00h, 00h, 7Fh,0B8h, 30h, 06h, 03h, 06h, 01h, 98h,0C0h, 06h, 01h
db 80h, 00h, 00h, 00h, 00h,0FEh,0C0h, 0Fh,0F8h, 03h, 8Eh, 01h,0FFh,0C3h,0FFh,0F9h
db 80h, 00h, 00h, 00h, 00h, 7Eh, 00h, 0Fh,0F8h, 07h,0CFh, 01h, 98h,0C3h,0FFh,0F9h
db 80h, 00h, 00h, 00h, 00h, 7Fh, 00h, 00h, 60h, 07h, 5Fh, 81h, 98h,0C0h, 06h, 01h
db 80h, 00h, 00h, 00h, 00h, 7Fh, 80h, 3Fh,0FEh, 0Fh, 36h,0C1h,0FFh,0C0h, 06h, 01h
db 80h, 00h, 00h, 00h, 00h, 1Fh, 80h,0BFh,0FEh, 0Bh, 36h, 61h,0FFh,0C0h, 06h, 01h
db 80h, 00h, 00h, 00h, 00h, 1Fh,0C7h, 00h,0C0h, 03h, 66h, 21h, 98h, 30h, 06h, 01h
db 80h, 00h, 00h, 00h, 15h, 5Fh,0C7h, 00h,0C0h, 03h, 06h, 00h, 18h, 30h, 06h, 01h
db 80h, 00h, 02h,0E0h, 06h, 7Fh,0CEh, 03h,0C0h, 03h, 06h, 00h, 1Fh,0F0h, 1Eh, 01h
db 80h, 00h, 04h, 54h, 4Fh,0FFh,0FCh, 01h, 80h, 03h, 06h, 00h, 0Fh,0E0h, 0Ch, 01h
db 80h, 00h, 03h,0FDh, 3Fh,0FFh,0D9h,0C0h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 1Dh,0FFh,0FFh,0FFh, 87h, 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 2Bh,0FFh,0F8h, 7Fh, 06h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 3Fh,0BFh,0F8h, 09h, 0Fh, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 1Fh, 9Fh,0F0h, 00h,0BCh, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 9Dh,0FEh, 1Fh, 8Fh,0F0h, 00h,0F8h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 9Fh,0FCh, 17h, 8Fh,0F0h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 81h,0FFh,0CFh, 9Fh,0E0h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 82h,0FFh,0FFh, 9Ch, 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 81h, 7Fh,0FFh,0FCh, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 6Fh,0FEh, 30h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 03h,0FCh, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 34h, 14h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 0Eh, 18h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 02h, 30h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 01h,0E0h, 00h, 00h, 7Fh, 04h, 00h, 3Fh, 82h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 7Fh, 0Ch, 00h, 3Fh, 86h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 7Fh, 1Ch, 00h, 3Fh, 8Eh, 00h, 00h, 00h, 00h, 01h
db 83h,0BBh, 9Dh,0DCh,0EEh,0E0h, 70h, 7Ch, 38h, 38h, 3Eh, 00h,0E0h, 38h, 3Bh, 31h
db 83h,0BBh, 9Dh,0DCh,0EEh,0E0h, 70h, 7Ch, 3Ch, 38h, 3Eh, 00h,0F0h, 7Ch, 3Fh,0F9h
db 83h,0BBh, 9Dh,0DCh,0EEh,0E0h, 76h, 1Ch, 7Eh, 3Bh, 0Eh, 01h,0F8h,0FEh, 3Fh,0F9h
db 83h,0BBh, 9Dh,0DCh,0EEh,0E0h, 7Fh, 1Ch, 76h, 3Fh, 8Eh, 01h,0D8h,0EEh, 3Bh,0B9h
db 83h,0BBh, 9Dh,0DCh,0EEh,0E0h, 7Fh, 1Ch, 76h, 3Fh, 8Eh, 01h,0D8h,0EEh, 3Bh,0B9h
db 83h,0BBh, 9Dh,0DCh,0EEh,0E0h, 77h, 1Ch, 76h, 3Bh, 8Eh, 01h,0D8h,0EEh, 3Bh,0B9h
db 81h,0BBh, 0Dh,0D8h, 6Eh,0C0h, 07h, 1Ch, 70h, 03h, 8Eh, 01h,0C0h,0EEh, 3Bh,0B9h
db 81h,0ABh, 0Dh, 58h, 6Ah,0C0h, 07h, 1Ch, 70h, 03h, 8Eh, 01h,0C0h,0EEh, 3Bh,0B9h
db 81h,0ABh, 0Dh, 58h, 6Ah,0C0h, 77h, 1Ch, 70h, 3Bh, 8Eh, 01h,0C0h,0EEh, 3Bh,0B9h
db 81h,0ABh, 0Dh, 58h, 6Ah,0C0h, 77h, 1Ch, 76h, 3Bh, 8Eh, 01h,0D8h,0EEh, 3Bh,0B9h
db 81h,0EFh, 0Fh, 78h, 7Bh,0C0h, 77h, 1Ch, 76h, 3Bh, 8Eh, 01h,0D8h,0EEh, 3Bh,0B9h
db 81h,0EFh, 0Fh, 78h, 7Bh,0DCh, 77h, 1Ch, 76h, 3Bh, 8Eh, 39h,0D8h,0EEh, 3Bh,0B9h
db 81h,0EFh, 0Fh, 78h, 7Bh,0DCh, 7Fh, 1Ch, 7Eh, 3Fh, 8Eh, 39h,0F8h,0FEh, 3Bh,0B9h
db 81h,0EFh, 0Fh, 78h, 7Bh,0DCh, 3Eh, 1Ch, 3Ch, 1Fh, 0Eh, 38h,0F0h, 7Ch, 3Bh,0B9h
db 81h,0EFh, 0Fh, 78h, 7Bh,0DCh, 1Ch, 1Ch, 3Ch, 0Eh, 0Eh, 38h,0F0h, 78h, 3Bh,0B9h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
;*-------------------------------------------------------------------- *
;* Bitmap点阵数据表 *
;* 图片: E:\图形12.bmp,横向取模左高位,数据排列:从左到右从上到下 *
;* 图片尺寸: 128 * 64 *
;*-------------------------------------------------------------------- *
TU_TAB2: ; 数据表
db 40h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 03h, 65h,0E8h, 80h, 00h, 01h
db 9Ah,0D6h,0B4h, 42h, 00h, 00h, 00h, 00h, 00h, 00h, 34h,0DAh,0D0h, 00h, 00h, 01h
db 0A4h, 00h, 02h, 10h, 6Bh, 30h, 00h, 00h, 00h, 00h, 8Bh,0FFh, 30h, 00h, 00h, 01h
db 42h,0D6h,0B0h, 42h, 80h, 00h, 00h, 00h, 00h, 16h, 77h,0FEh,0C0h, 00h, 00h, 01h
db 42h,0D6h,0B0h, 42h, 80h, 00h, 00h, 00h, 00h, 16h, 77h,0FEh,0C0h, 00h, 00h, 01h
db 0B9h, 20h, 04h, 00h, 00h, 02h, 10h, 00h, 00h, 00h,0BCh,0BCh, 00h, 00h, 00h, 01h
db 46h,0D6h,0B1h,0ACh, 6Bh, 30h, 00h, 00h, 02h, 29h,0CBh, 40h, 00h, 00h, 00h, 01h
db 0FFh,0F9h, 04h, 01h, 00h, 00h, 00h, 00h, 01h, 16h,0B4h,0A0h, 00h, 00h, 00h, 01h
db 0FFh,0FFh,0F2h, 50h, 00h, 40h, 00h, 00h, 00h, 29h, 4Bh, 00h, 00h, 00h, 00h, 01h
db 0FFh,0FFh,0F2h, 50h, 00h, 40h, 00h, 00h, 00h, 29h, 4Bh, 00h, 00h, 00h, 00h, 01h
db 0FFh,0FFh,0BDh, 82h, 94h, 00h, 40h, 00h, 00h,0C9h, 30h, 02h, 00h, 00h, 00h, 01h
db 0FFh,0FFh,0FBh,0B0h, 00h, 08h, 00h, 00h, 05h, 16h, 44h, 40h, 00h, 00h, 00h, 01h
db 0FFh,0FFh,0FFh,0EFh, 90h, 40h, 00h, 00h, 00h, 21h, 00h, 04h,0C8h, 30h, 00h, 01h
db 0A5h,0FFh,0FFh,0FDh, 6Bh, 00h, 00h, 00h, 00h,0C8h, 00h, 99h, 16h,0FAh, 40h, 01h
db 0A5h,0FFh,0FFh,0FDh, 6Bh, 00h, 00h, 00h, 00h,0C8h, 00h, 99h, 16h,0FAh, 40h, 01h
db 82h, 2Fh,0FFh,0FFh,0E8h, 84h, 00h, 00h, 00h, 00h, 08h, 00h,0DFh,0FFh,0ECh, 01h
db 24h,0C1h, 7Fh,0FFh,0F4h, 30h, 00h, 00h, 00h, 00h, 00h,0A7h,0FFh,0FFh,0FCh, 01h
db 42h, 28h, 05h,0BFh,0FBh, 80h, 00h, 00h, 00h, 00h, 04h, 1Bh,0FFh,0FFh,0FFh, 81h
db 98h,0C1h, 4Ah, 53h,0ECh, 48h, 00h, 00h, 00h, 00h, 40h, 7Fh,0FFh,0FFh,0FFh,0E1h
db 98h,0C1h, 4Ah, 53h,0ECh, 48h, 00h, 00h, 00h, 00h, 40h, 7Fh,0FFh,0FFh,0FFh,0E1h
db 42h, 28h, 00h, 0Ch, 77h, 82h, 00h, 00h, 00h, 00h, 33h,0BFh,0FFh,0FFh,0FFh, 89h
db 18h,0C1h, 4Ah, 51h, 9Bh, 74h, 00h, 00h, 00h, 00h, 04h,0FFh, 3Fh,0FFh,0DFh,0F1h
db 0C2h, 28h, 00h, 0Ch, 04h, 80h, 00h, 00h, 00h, 00h, 40h,0FEh, 1Fh,0F9h,0C3h,0F9h
db 1Ah,0D6h,0B5h,0A1h, 6Bh, 75h, 80h, 00h, 00h, 00h, 8Fh,0FCh, 3Fh,0F2h, 0Fh, 1Fh
db 1Ah,0D6h,0B5h,0A1h, 6Bh, 75h, 80h, 00h, 00h, 00h, 8Fh,0FCh, 3Fh,0F2h, 0Fh, 1Fh
db 0C5h, 29h, 79h, 8Ch, 00h, 88h, 00h, 00h, 00h, 00h, 03h,0F8h, 1Fh,0C8h, 52h, 81h
db 22h,0FFh,0FFh,0F2h, 6Bh, 35h, 80h, 00h, 00h, 00h, 37h,0C2h, 3Fh,0FBh,0FCh, 09h
db 9Ah,0FFh,0FFh,0FFh, 00h, 48h, 00h, 00h, 00h, 00h, 07h,0D8h, 1Fh,0FFh,0E3h, 81h
db 9Ah,0FFh,0FFh,0FFh, 00h, 48h, 00h, 00h, 00h, 00h, 07h,0D8h, 1Fh,0FFh,0E3h, 81h
db 47h,0FFh,0FFh,0FFh,0F3h, 35h, 80h, 00h, 00h, 00h, 8Fh,0C1h, 0Fh,0FFh,0ACh, 01h
db 0B9h,0FFh,0FFh,0FFh,0FCh, 4Ah, 20h, 00h, 00h, 00h, 0Fh,0A4h, 07h,0FEh, 40h, 01h
db 5Fh,0FFh,0C7h,0FFh,0FCh,0B5h, 80h, 00h, 00h, 00h, 4Fh,0DAh,0FFh,0F8h, 00h, 01h
db 0A7h,0FFh,0B7h,0FFh,0FFh, 8Ah, 20h, 00h, 00h, 00h, 0Fh,0FFh,0EFh, 40h, 00h, 01h
db 0A7h,0FFh,0B7h,0FFh,0FFh, 8Ah, 20h, 00h, 00h, 00h, 0Fh,0FFh,0EFh, 40h, 00h, 01h
db 7Fh,0FFh, 47h,0FDh, 7Fh,0C5h, 80h, 00h, 00h, 00h, 3Fh,0DAh,0D0h, 00h, 00h, 01h
db 0A7h,0FEh, 37h,0FFh, 7Ch,0FAh, 50h, 00h, 00h, 00h, 0Ch,0A4h, 08h, 00h, 00h, 01h
db 0DFh,0FEh, 43h,0FFh,0F8h,0C1h, 80h, 00h, 00h, 00h, 48h, 01h, 00h, 00h, 00h, 01h
db 27h,0FFh, 4Bh,0FFh,0FFh,0FAh, 2Ch, 00h, 00h, 00h, 03h, 58h, 20h, 00h, 00h, 01h
db 27h,0FFh, 4Bh,0FFh,0FFh,0FAh, 2Ch, 00h, 00h, 00h, 03h, 58h, 20h, 00h, 00h, 01h
db 9Bh,0FFh,0C3h,0FFh,0FFh,0F1h,0C0h, 00h, 00h, 00h, 08h, 00h, 00h, 00h, 00h, 01h
db 64h, 3Fh,0FDh,0FFh, 6Bh, 7Ch, 10h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 03h,0D7h,0FFh,0FDh, 10h, 01h,0A0h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0D8h, 29h, 4Fh,0A2h, 80h,0B5h, 90h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0D8h, 29h, 4Fh,0A2h, 80h,0B5h, 90h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 05h, 10h,0B0h, 4Ch, 0Bh, 08h, 40h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0A0h,0C9h, 0Ah, 00h, 00h, 42h, 10h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 04h, 10h, 40h, 21h, 64h, 09h,0A0h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0A2h,0C1h, 35h, 8Ch, 00h, 44h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0A2h,0C1h, 35h, 8Ch, 00h, 44h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 00h, 16h, 00h, 21h, 14h, 09h,0A0h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0A5h, 00h,0B5h, 80h, 83h, 44h, 0Ch, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 00h, 26h, 00h, 12h, 08h, 09h,0A0h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0DAh, 00h,0B4h, 40h, 60h, 44h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0DAh, 00h,0B4h, 40h, 60h, 44h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h,0C8h, 00h, 00h, 04h, 01h,0A0h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0A2h, 20h, 89h, 91h, 10h, 8Ah, 10h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 44h, 06h, 00h, 00h, 00h, 30h, 40h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 44h, 06h, 00h, 00h, 00h, 30h, 40h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
;*-------------------------------------------------------------------- *
;*-------------------------------------------------------------------- *
;* Bitmap点阵数据表 *
;* 图片: E:\图形13.bmp,横向取模左高位,数据排列:从左到右从上到下 *
;* 图片尺寸: 128 * 64 *
;*-------------------------------------------------------------------- *
TU_TAB4: ; 漂亮姑娘看过来
db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 11h,0FFh, 80h, 40h, 08h, 30h, 10h, 20h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 68h, 3Fh,0FFh, 08h, 30h, 11h,0F8h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 68h, 3Fh,0FFh, 08h, 30h, 11h,0F8h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h,0FFh, 00h, 00h, 7Fh,0FEh, 7Dh, 08h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 11h, 6Bh, 07h,0FCh, 16h, 30h, 2Dh,0F8h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Dh,0FFh, 04h, 0Ch, 16h, 30h, 2Dh, 08h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 00h, 3Fh,0FFh, 16h, 30h, 2Dh,0F8h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 00h, 3Fh,0FFh, 16h, 30h, 2Dh,0F8h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch,0FFh, 30h, 01h, 66h,0FEh, 2Dh, 26h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 1Ch, 00h, 03h,0F0h, 76h, 82h, 2Dh, 28h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Dh,0FFh, 82h, 11h, 08h, 82h, 11h, 10h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 8Bh, 04h, 11h, 16h, 82h, 2Dh, 28h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Ch, 8Bh, 04h, 11h, 16h, 82h, 2Dh, 28h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 0Dh, 18h,0B8h, 1Fh, 60h,0FEh, 41h,0C6h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 00h, 07h, 8Fh,0FFh, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 00h, 08h, 70h, 40h,0EFh, 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 00h, 08h, 70h, 40h,0EFh, 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 00h, 10h, 00h, 80h, 10h, 60h, 00h, 0Fh,0FFh, 30h, 0Ch, 00h, 80h, 00h, 00h, 00h
db 00h, 20h, 18h, 38h, 20h, 60h, 00h, 00h, 60h, 08h, 0Ch, 1Fh,0FCh, 1Ch, 00h, 00h
db 00h,0C0h, 64h, 45h, 00h, 60h, 00h, 03h,0FCh, 0Bh,0FFh, 00h, 80h, 3Eh, 00h, 00h
db 00h,0C1h, 00h, 01h, 00h, 10h, 00h, 00h, 80h, 00h, 0Ch, 08h, 88h, 3Eh, 00h, 00h
db 00h,0C1h, 00h, 01h, 00h, 10h, 00h, 00h, 80h, 00h, 0Ch, 08h, 88h, 3Eh, 00h, 00h
db 01h, 01h, 00h, 00h,0C0h, 10h, 00h, 1Fh,0FFh,0BDh, 8Ch, 06h,0B0h, 3Eh, 00h, 00h
db 02h, 0Eh, 18h, 1Ch,0C0h, 10h, 00h, 01h, 00h, 04h, 4Ch, 7Fh,0FEh, 1Ch, 00h, 00h
db 02h, 16h, 64h, 22h, 20h, 10h, 00h, 03h,0FCh, 04h, 4Ch, 01h,0C0h, 1Ch, 00h, 00h
db 02h, 16h, 64h, 22h, 20h, 10h, 00h, 03h,0FCh, 04h, 4Ch, 01h,0C0h, 1Ch, 00h, 00h
db 04h,0E8h, 83h, 41h, 1Ch, 08h, 00h, 0Dh, 04h, 04h, 0Ch, 06h,0B0h, 00h, 00h, 00h
db 07h, 10h, 8Fh, 47h, 03h, 88h, 00h, 11h,0FCh, 04h, 3Ch, 08h, 88h, 1Ch, 00h, 00h
db 00h, 20h, 6Ch, 26h, 01h, 78h, 00h, 01h, 04h, 0Ah, 00h, 70h, 86h, 1Ch, 00h, 00h
db 00h,0C0h, 18h, 1Ch, 00h, 80h, 00h, 01h,0FCh, 31h,0FFh, 00h, 80h, 00h, 00h, 00h
db 00h,0C0h, 18h, 1Ch, 00h, 80h, 00h, 01h,0FCh, 31h,0FFh, 00h, 80h, 00h, 00h, 00h
db 00h,0C1h, 87h, 80h, 00h, 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 01h, 06h, 78h, 3Ch, 20h, 60h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 01h, 08h, 07h,0C2h,0C0h, 60h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 01h, 08h, 00h, 01h,0C0h, 60h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 01h, 08h, 00h, 01h,0C0h, 60h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 01h, 08h, 18h, 01h,0C0h, 60h, 00h, 00h, 00h,0F1h,0F3h, 87h,0C0h, 00h, 00h, 00h
db 00h,0C6h, 18h,0C2h, 20h, 80h, 00h, 00h, 03h, 0Eh, 1Ch, 78h, 70h, 00h, 00h, 00h
db 00h,0C1h, 00h,0C2h, 00h, 80h, 00h, 00h, 04h, 44h, 11h, 10h, 38h, 00h, 00h, 00h
db 00h, 26h,0E0h, 04h, 01h, 00h, 00h, 00h, 04h, 80h, 12h, 00h, 38h, 00h, 00h, 00h
db 00h, 26h,0E0h, 04h, 01h, 00h, 00h, 00h, 04h, 80h, 12h, 00h, 38h, 00h, 00h, 00h
db 00h, 11h, 18h, 38h, 03h, 00h, 00h, 00h, 04h, 80h, 12h, 00h, 38h, 00h, 00h, 00h
db 00h, 0Eh, 87h,0C2h, 1Ch, 00h, 00h, 00h, 04h, 00h, 10h, 00h, 38h, 00h, 00h, 00h
db 00h, 01h,0E0h, 04h,0E0h, 00h, 00h, 00h, 03h, 00h, 1Ch, 00h, 70h, 00h, 00h, 00h
db 00h, 1Eh, 18h, 3Fh, 1Eh, 00h, 00h, 00h, 00h, 80h, 32h, 00h,0C0h, 00h, 00h, 00h
db 00h, 1Eh, 18h, 3Fh, 1Eh, 00h, 00h, 00h, 00h, 80h, 32h, 00h,0C0h, 00h, 00h, 00h
db 00h, 38h, 07h,0C0h, 0Fh, 00h, 00h, 00h, 00h, 40h, 61h, 01h, 80h, 00h, 00h, 00h
db 00h,0E9h,0FFh,0FFh, 0Dh, 80h, 00h, 00h, 00h, 31h,0C0h, 87h, 00h, 00h, 00h, 00h
db 01h,0E9h, 1Bh,0B9h, 0Dh,0E0h, 00h, 00h, 00h, 0Bh, 80h, 6Eh, 00h, 00h, 00h, 00h
db 03h,0C9h,0F0h, 1Fh, 0Ch,0F0h, 00h, 00h, 00h, 06h, 00h, 18h, 00h, 00h, 00h, 00h
db 03h,0C9h,0F0h, 1Fh, 0Ch,0F0h, 00h, 00h, 00h, 06h, 00h, 18h, 00h, 00h, 00h, 00h
db 07h, 06h,0E0h, 06h, 10h, 78h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 07h,0C1h, 00h, 00h, 20h,0F8h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 07h,0E0h, 80h, 00h,0C1h,0F8h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 07h,0E0h, 80h, 00h,0C1h,0F8h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 80h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 01h
db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
end