不带字库12864程序实例
基于无字库12864液晶模块的日历钟设计制作

基于无字库12864液晶模块的日历钟设计制作时间:2010-10-18 21:07:14 来源:作者:本文我们要利用无字库12864液晶模块来自制一个小小日历钟,最图终效果图见图1。
这个小小日历钟有什么特点呢?1、电路简单,使用元件少,容易制作,核心就是单片机ATMega8L和日历钟忡1302。
2、全部使用低压元件,3V电压就可以工作。
3,使用自编的小字模和图形界面使得显示具有特色:在文字界面可以清晰地读出当前的日期和时间,而且加入一个小动画使显示更加生动,在图形界面使用模拟刻度和指针动态指示当前时间,两个界面柙按键切换。
图2电路原理4、电源制作在独立的小电路板上,调试程序时插入使用USB供电的3.3V稳压电源,完毕后可以取下,插上开关,使用电池供电。
5、不用背光时耗电很小(全机约3mA),可以使用圆片锂电池CR2O32供电。
日历钟安装在一块50mm x50mm小万用板上。
外形见图1。
电路原理电原理图见图2,液晶型号如前述,单片机就是AVR的ATMega8L-8PU(以下简称M8),可以在低电压下工作,M8 的PD口控制液晶,主要就是控制串行写入显示数据。
DS13O2(以下简称1302)是常用的日历时钟芯片,32768Hz晶体B是它的振荡源。
在它内部有10个命令寄存器用来存储日期、时间的数值并控制芯片工作,M8通过PB0PB1、PB2控制1302的RST、SCLK、I/O:RST为高时才能读写1302,读写都是让数据在I/O串行传送,当SCLK上升沿时写入1位地址或数据,写入1位地址或数据。
写入地址后每当SCLK 下降沿时则读出数据。
读写都是从最低位开始,受SCLK时钟同步。
接通电源后它必须通过单片机程序启动计时,只要有电源或者各用电源存在,它就能一直工作下去,和单片机是否工作无关。
连接在M8的PC口的4个轻触按键,S1,S2,S3用于调校时问:分别为确认修改、移动光标,修改数值;S4用于界面切换。
LCD12864原理与应用

LCD12864原理与应用1、LCD12864简介:LCD12864分为两种,带字库的和不带字库的,不带字库的液晶显示汉字的时候可以选择自己喜欢的字体。
而带字库的液晶,只能显示GB2312字体,当然也可以显示其他的字体,不过是用图片的形式显示。
下面介绍不带字库的LCD12864,以Proteus中的AMPIRE128×64为例,如下图所示,它的液晶驱动器为KS0108。
引脚功能:引脚符号状态引脚名称功能,输入芯片片选端,都是低电平有效CS1=0开左屏幕,CS1=1关左屏幕CS2=0开右屏幕,CS2=1关右屏幕RS输入数据/命令选择信号RS=1为数据操作,RS=0为写指令或读状态RW输入读写选择信号R/W=1为读选通,R/W=0为写选通E输入读写使能信号在E下降沿,数据被锁存(写)入液晶,在E高电平期间,数据被读出DB0—DB7三态数据总线数据或指令的传送通道输入复位信号,低电平时复位复位时,关闭液晶显示,使显示起始行为0,可以跟单片机的复位引脚RST相连,也可以直接接VCC,使之不起作用V0液晶显示器驱动电压-Vout-10V LCD驱动负电压与带字库的液晶不同,此块液晶含有两个液晶驱动器,每块驱动器都控制64*64个点,分为左右两个屏幕显示,总共为128*64个点(即有128×64个点)。
这就是为什么AMPIRE128*64有CS1和CS2两个片选端的原因。
此液晶有8页,一页有8行点阵点,左右各64列,共128列。
如下图所示:2、LCD12864中的几条重要指令(一)行(line)设置命令:由此可见显示的起始行地址为0XC0,共64行,有规律地改变起始行号,可以实现滚屏效果。
(二)页(page)设置指令:起始页地址为0XB8,因为液晶有64行点,分为8页,每页就有8行点。
(三)列(column)地址设置指令每块驱动器的列地址都是从0X40到0X7F,共64列,所以此液晶共有128列点。
菜鸟学习51单片机之12864液晶(无字库)

/* 选择屏幕来清屏 */
菜鸟学习 51 单片机
while(1)世界
void Lcd12864Clear(uint8 selet)
{
uint8 i,j;
Lcd12864SeletScreen(selet); //选择屏,分左屏和又屏,这个函数在程序中有
for(i = 0;i < 8 ;i++)
二.写入地址
void Lcd12864Point(uint8 page,uint8 x,uint8 y)
{
Lcd12864Write(CMD,0xb8 + page);
//确定页
Lcd12864Write(CMD,0xC0 + x);
//设定起始行
Lcd12864Write(CMD,0x40 + y);
菜鸟学习 51 单片机
while(1)世界
现在开始讲解如何使用,看这篇讲解前,请先到网盘去下载本教 程的仿真图和程序,结合起来更容易明白。
上图是仿真的结果。 在仿真软件中找出的 12864 液晶是没有字库的,对于仿真软件中 液晶的控制和平常的有点不同。一块液晶是由两块 64×64 的液晶显 示模块组合而成。下面是各管脚的介绍。
//有 8 页,循环 8 次
{
Lcd12864Point(i,0,0); //这个就是上面讲到的函数,确定位置
for(j = 0 ;j < 64;j++) //每一块液晶显示模块有 64 列
{
Lcd12864Write(DAT,0x00); //写入 0x00 来清屏
}
}
}
具体的使用如下:初始化函数中调用了清全屏 Lcd12864Clear(3); //清全屏
FYD12864无字库3A中文使用手册

FYD12864-0403A 液晶显示模块服务文件实物图片一.基本特性* 电源电压5V* 显示分辨率:128×64点* 显示方式:STN、半透、正显* 驱动方式:1/64DUTY,1/9BIAS* 视角方向:6点* 背光方式:底部黄绿LED背光* 通讯方式:8线并口* 内置DC-DC转换电路,无需外加负压* 工作温度:-10℃ - +60℃ ,存储温度: -20℃ - 70℃二.外形尺寸1.外形尺寸图2.主要外形尺寸项 目 标 准 尺 寸 单 位模 块 体 积 93.0×70.0×12.8 mm定 位 尺 寸 88.0×65.0 mm视 域 71.7×39 mm点 阵 数 128×64 像素点 距 离 0.52×0.52 mm点 大 小 0.48×0.48 mm三.硬件说明1.引脚特性引脚号 引脚名称 电 平 引 脚 功 能 描 述1 VSS 0V 电源地2 VDD +5V 电源电压3 V0 0~-10V LCD驱动负电压,调节LCD对比度4 D/I H/L H:DB0-DB7为显示数据L:DB0-DB7为显示指令数据5 R/W H/L R/W=H,E=H数据被读到DB0-DB7R/W=L,E=H—L,DB0-DB7数据写到IR或DR6 E H/L 使能信号:R/W=L.E信号下降沿锁存DB0-DB7;R/W=H,E=H,DDRAM数据读到DB0-DB77 DB08 DB19 DB210 DB3H/L 8位三态并行数据总线11 DB412 DB513 DB614 DB715 CS1 H/L 片选信号,当CS1=H时,液晶右半屏显示16 CS2 H/L 片选信号,当CS2=H时,液晶左半屏显示17 /RET H/L 复位信号,RET=0有效18 VEE -10V 输出-10V的负电压(单电源供电)19 A +5V背光电源,背光功耗≤300mA20 K 0V2.原理简图背光接线图 3.硬件功能描述1)显示数据RAM(DDRAM)DDRAM(64×8×8 bits)是存储图形显示数据的。
无字库12864使用protues仿真

无字库12864使用protues仿真:原理图:原程序:#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define Port P0 //DB0~DB7数据口sbit EN=P2^2;//使能sbit RW=P2^1;//读写sbit RS=P2^0;//数据/命令sbit CS2=P2^3;//片选sbit CS1=P2^4;/*图片“生活不易,知行合一”*/unsigned char code tu[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0xC0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF8,0xF8,0xF 8,0xF8,0x7C,0x7C,0x7C,0x7C,0x3E,0x3E,0x3E,0x3E,0x3E,0x3F,0x1F,0x1F,0x1F,0x1F,0x1 F,0x1F,0x1F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F,0x0F,0x0F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x3E,0x3E,0x3E,0x3E, 0x3E,0x7C,0x7C,0x7C,0x7C,0xF8,0xF8,0xF8,0xF8,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xC 0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF0,0xF8,0xFC,0xF E,0x7E,0x3F,0x3F,0x1F,0x0F,0x0F,0x07,0x07,0x07,0x03,0x83,0x61,0x39,0x29,0x20,0x2 0,0xFC,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x64,0xC8,0x10,0x40,0x48,0x48,0x 48,0x48,0xF8,0x48,0x44,0x44,0x44,0x40,0x00,0x04,0x04,0x04,0x04,0x84,0x64,0xF4,0x0 C,0x84,0x04,0x04,0x04,0x04,0x04,0x00,0x00,0x7C,0x54,0xD4,0x54,0x54,0x54,0x54,0x 54,0x54,7,0x0F,0x0F,0x1F,0x1F,0x3F,0x7E,0x7E,0xFC,0xF8,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0xC0,0xF0,0xF8,0xFE,0xFF,0x7F,0x3F,0x0F,0x07,0x03,0x01,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x42,0x42,0x42,0x42,0x4 2,0x7F,0x42,0x42,0x42,0x42,0x42,0x40,0x40,0x00,0x70,0x1E,0x00,0x00,0x7E,0x22,0x2 2,0x22,0x23,0x22,0x22,0x22,0x7E,0x00,0x10,0x08,0x0C,0x06,0x01,0x00,0x00,0x7F,0x0 0,0x00,0x01,0x02,0x06,0x04,0x08,0x00,0x2C,0x26,0x13,0x13,0x4A,0x26,0x22,0x12,0x 4E,0x42,0x42,0x62,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x7F,0xFF,0xF E,0xFC,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF F,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x01,0x0F,0x3F,0x7F,0xFF,0xFF,0xFC,0xF0,0xE0,0x80,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x70,0x40,0x40,0x40,0x 40,0x00,0xE0,0x20,0x20,0x20,0x20,0xE0,0x00,0x00,0x80,0x40,0x20,0x90,0x00,0x10,0x1 0,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0x60,0x30,0x 30,0x40,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xF0,0xF8,0xFF,0xF F,0x7F,0x3F,0x0F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x0F,0x1F,0x1F,0x3F,0x7E,0xFE,0xF C,0xF8,0xF0,0xF0,0xE0,0xE0,0xC0,0xC0,0x80,0x80,0x05,0x84,0xC4,0x36,0x1C,0x24,0x C4,0x00,0xFF,0x80,0x80,0x80,0x80,0xFF,0x00,0x10,0x08,0x0C,0xFE,0x01,0x00,0x02,0x0 2,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x02,0x03,0x8B,0x8A,0x8A,0x8A,0x8A,0x 8A,0x8A,0x8A,0x8B,0xFB,0x02,0x02,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x 04,0x04,0x04,0x04,0x04,0x04,0x00,0x80,0x40,0x40,0x80,0x00,0x00,0x00,0x80,0x80,0x C0,0xC0,0xE0,0xE0,0xF0,0xF0,0xF8,0xFC,0x7E,0x7E,0x3F,0x1F,0x1F,0x0F,0x07,0x03,0x0 1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x01,0x01,0x03,0x03,0x07,0x07,0x0F,0x0F,0x7F,0xFF,0xFF,0xFF,0xFE,0xFE,0x1C,0x00 ,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x80,0x81,0xC0,0xC0,0xE0,0x E0,0xE1,0xE1,0xE1,0xE1,0xE0,0xE0,0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0x E0,0xE0,0xE0,0xE0,0xE1,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0 ,0xF8,0xF8,0xF8,0xF8,0x7C,0x7C,0x7D,0x7E,0x3E,0x3F,0x3F,0x1F,0x1F,0x1F,0x0F,0x0 F,0x07,0x07,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xF0,0xF0 ,0xF8,0xF8,0xFC,0x7C,0x7C,0x7E,0x3E,0x3F,0x1F,0x1F,0x1F,0x0F,0x0F,0x07,0x07,0x0 7,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x07,0x07,0x07,0x07,0x03,0x03,0x0 3,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x01,0x01,0x01,0x01,0x01,0x0 1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,};void delay_ms(unsigned char x){unsigned char i,j;for(i=0;i<x;i++)for(j=0;j<250;j++);}/******************************************/void Wcmd(unsigned char cmd){RS=0;RW=0;EN=0;EN=1;Port=cmd;delay_ms(10); //一般情况下,如果此前有checkbusy函数这里就不用写delay了EN=0;}/**************************************************/void Wdata(unsigned char dat){RS=1;RW=0;EN=0;EN=1;Port=dat;delay_ms(10);EN=0;}/***********************************************/void Setpage(unsigned char page){page=page|0xb8;Wcmd(page);}/***********************************/ void Setx(unsigned char x){x=0xc0|x;Wcmd(x);}/***********************************/ void Sety(unsigned char y){y=0x3f&y;y=0x40|y;Wcmd(y);}/************************************/ void Setonoff(unsigned char key) {key=0x3e|key;Wcmd(key);}/*******************************/ void Select(unsigned char x){switch(x){case 0: CS1=0; CS2=0; break;case 1: CS1=0; CS2=1; break;case 2: CS1=1; CS2=0; break;}}/************************************/ void Clear(unsigned char screen){unsigned char i,j;Select(screen);for(i=0;i<8;i++){Setpage(i);for(j=0;j<64;j++)Wcmd(0x00);}}/*****************************************/ void Initial(){Select(0);Setonoff(1);Setonoff(0);Setonoff(1);Select(0);}/**************************************/void Display(unsigned char a,b,c,unsigned char *d) {unsigned char i;Select(a);Setpage(b);Sety(c);for(i=0;i<16;i++)Wdata(d[i]);Setpage(b+1);Sety(c);for(i=16;i<32;i++)Wdata(d[i]);}void Displaytu(unsigned char a[][64]){unsigned char i,j;for(i=0;i<8;i++){Select(1);Setpage(i);Sety(0);for(j=0;j<64;j++)Wdata(a[2*j][i]);Select(2);Setpage(i);Sety(0);for(j=0;j<64;j++)Wdata(a[2*j+1][i]);}}/******************************************/ void main(){unsigned int i,j;Initial();while(1){Select(1);for(i=0;i<8;i++){Select(1);Setpage(i);Sety(0);for(j=0;j<64;j++)Wdata(tu[128*i+j]);Select(2);Setpage(i);Sety(0);for(j=0;j<64;j++)Wdata(tu[128*i+64+j]);}}}注:关于图片的处理,网上有不少取模软件。
无字库12864液晶屏滚动显示程序共17页文档

无字库12864液晶屏滚动显示程序[转] #include<reg52.h>#include<intrins.h>#include<absacc.h>#define Lcd_Bus P0 //MCU P0<------> LCM#define Disp_On 0x3f//开显示#define Disp_Off 0x3e//关显示#define Col_Add 0x40//列地址#define Page_Add 0xb8//页地址#define Start_Line 0xc0//起始页sbit cs1=P2^3; //Master chip enablesbit cs2=P2^4; //Slave chip enablesbit Enable=P2^2; // mode Enable singlesbit Di=P2^0; //Data or Instrument Selectsbit RW=P2^1; //Write or Readsbit Lcd_Rst=P2^5; //Lcm reset/*****************************字模,此字体下对应的点阵为:宽x高=16x16*****************************/unsigned char code Chinese_character[][32]={{0x02,0xF2,0x12,0x12,0x12,0xFE,0x12,0x12,0x12,0xFE,0x12,0x12,0x 12,0xF2,0x02,0x00 ,0x00,0x7F,0x28,0x24,0x22,0x21,0x20,0x20,0x20,0x21,0x22 ,0x22,0x22,0x7F,0x00,0x00},/*"西",0*/{0x80,0x90,0x8C,0x84,0x84,0xF4,0xA5,0x86,0x84,0x84,0x84,0x84,0x 94,0x8C,0x84,0x00,0x80,0x80,0x80,0x40,0x47,0x28,0x28,0x10,0x28,0x24,0x43 ,0xC0,0x40,0x00,0x00,0x00},/*"安",1*/{0x00,0x42,0x62,0x5A,0xC6,0x10,0x54,0x54,0x54,0xFF,0x54,0x54,0x 7C,0x10,0x10,0x00,0x40,0x23,0x14,0x08,0x17,0x28,0x29,0x49,0x49,0x7F,0x49 ,0x49,0x49,0x49,0x40,0x00},/*"建",2*/{0x10,0x48,0x47,0xCC,0x54,0x44,0x14,0xE8,0x27,0x24,0x2C,0xF4,0x 04,0x04,0x04,0x00,0x10,0x30,0x10,0x0F,0x88,0x48,0x30,0x0F,0x01,0x06,0x00 ,0x3F,0x40,0x40,0x70,0x00},/*"筑",3*/{0x10,0x12,0x92,0x72,0xFE,0x51,0x91,0x00,0x22,0xCC,0x00,0x00,0x FF,0x00,0x00,0x00,0x04,0x02,0x01,0x00,0xFF,0x00,0x04,0x04,0x04,0x02,0x02 ,0x02,0xFF,0x01,0x01,0x00},/*"科",4*/{0x08,0x08,0x88,0xFF,0x48,0x28,0x00,0xC8,0x48,0x48,0x7F,0x48,0x C8,0x48,0x08,0x00,0x01,0x41,0x80,0x7F,0x00,0x40,0x40,0x20,0x13,0x0C,0x0C ,0x12,0x21,0x60,0x20,0x00},/*"技",5*/{0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F,0xA0,0x20,0x20,0x20,0x 20,0x20,0x20,0x00,0x00,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x01,0x06,0x08 ,0x30,0x60,0xC0,0x40,0x00},/*"大",6*/{0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x 57,0x32,0x10,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02 ,0x02,0x02,0x02,0x02,0x00},/*"学",4*/{0x00,0x02,0x1C,0xE8,0x00,0x40,0x60,0x58,0x47,0x22,0x20,0x28,0x 30,0xE0,0x40,0x00,0x02,0x02,0x7F,0x00,0x00,0x00,0x7F,0x21,0x21,0x21,0x21 ,0x21,0x7F,0x00,0x00,0x00},/*"冶",0*/{0x40,0x40,0x20,0x20,0x50,0x48,0x44,0xC3,0x44,0x48,0x50,0x50,0x 20,0x60,0x20,0x00,0x40,0x40,0x42,0x42,0x4A,0x72,0x42,0x7F,0x42,0x62,0x5A ,0x42,0x42,0x40,0x40,0x00},/*"金",1*/{0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x 02,0x02,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20 ,0x20,0x20,0x20,0x20,0x00},/*"工",2*/{0x10,0x12,0xD2,0xFE,0x91,0x11,0x80,0xBF,0xA1,0xA1,0xA1,0xA1,0x BF,0x80,0x00,0x00,0x04,0x03,0x00,0xFF,0x00,0x41,0x44,0x44,0x44,0x7F,0x44 ,0x44,0x44,0x44,0x40,0x00},/*"程",3*/{0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x 57,0x32,0x10,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02 ,0x02,0x02,0x02,0x02,0x00},/*"学",4*/{0xFE,0x02,0x32,0x4A,0x86,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0x 24,0x0C,0x04,0x00,0xFF,0x00,0x02,0x04,0x83,0x41,0x31,0x0F,0x01,0x01,0x7F ,0x81,0x81,0x81,0xF1,0x00},/*"院",5*/{0x10,0x10,0xD0,0xFE,0x50,0x90,0x00,0x10,0x10,0x10,0xD0,0xFE,0x 10,0x10,0x10,0x00,0x08,0x06,0x01,0xFF,0x00,0x01,0x10,0x08,0x04,0x43,0x80 ,0x7F,0x00,0x00,0x00,0x00},/*"材",0*/{0x20,0x24,0xA8,0x70,0xFF,0x68,0xA4,0x20,0x42,0x8C,0x00,0x00,0x FF,0x00,0x00,0x00,0x08,0x06,0x01,0x00,0xFF,0x00,0x01,0x02,0x02,0x03,0x02 ,0x02,0xFF,0x01,0x01,0x00},/*"料",1*/{0x00,0x08,0x08,0x08,0xFF,0x08,0x08,0xF8,0x00,0xF8,0x08,0x 08,0x08,0xF8,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x20,0x40,0x3F,0x00,0x7F,0x10 ,0x10,0x10,0x3F,0x00,0x00},/*"加",2*/{0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x 02,0x02,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20 ,0x20,0x20,0x20,0x20,0x00},/*"工",4*/{0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x 02,0x02,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20 ,0x20,0x20,0x20,0x20,0x00},/*"工",4*/{0x10,0x12,0xD2,0xFE,0x91,0x11,0x80,0xBF,0xA1,0xA1,0xA1,0xA1,0x BF,0x80,0x00,0x00,0x04,0x03,0x00,0xFF,0x00,0x41,0x44,0x44,0x44,0x7F,0x44 ,0x44,0x44,0x44,0x40,0x00},/*"程",5*/};unsigned char code E[][16]={{0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00},/*"C",0*/{0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x 20,0x00,0x01,0x00},/*"r",1*/{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x 22,0x22,0x3F,0x20},/*"a",2*/{0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x 24,0x24,0x19,0x00},/*"s",3*/{0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x 18,0x06,0x01,0x00},/*"y",4*/{0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x 20,0x11,0x0E,0x00},/*"b",5*/{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x 20,0x20,0x1F,0x00},/*"o",6*/{0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x 18,0x06,0x01,0x00},/*"y",7*/{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x 22,0x22,0x13,0x00},/*"e",8*/};/***********************延时子程序***********************/ void delay(unsigned int k){unsigned int i;unsigned int j;for(i=0;i<k;i++)for(j=0;j<20;j++);}/***********************写命令左***********************/ void write_cmd_1(unsigned char command){cs1=1;cs2=0;Di=0;RW=0;Lcd_Bus=command; //P0口delay(0);Enable=1;delay(0);Enable=0;}/***********************写命令右***********************/ void write_cmd_2(unsigned char command){cs1=0;cs2=1;Di=0;RW=0;Lcd_Bus=command;delay(0);Enable=1;delay(0);Enable=0;}/***********************写数据左***********************/ void write_data_1(unsigned char dis_data){cs1=1;cs2=0;Di=1;RW=0;Lcd_Bus=dis_data;delay(0);Enable=1;delay(0);Enable=0;}/***********************写数据右***********************/ void write_data_2(unsigned char dis_data){cs1=0;cs2=1;Di=1;RW=0;Lcd_Bus=dis_data;delay(0);Enable=1;delay(0);Enable=0;}/***********************清内存左***********************/ void clear_1(void){unsigned char j,k;cs1=1;cs2=0;write_cmd_1(Page_Add+0);write_cmd_1(Col_Add+0);for(k=0;k<8;k++){write_cmd_1(Page_Add+k);for(j=0;j<64;j++)write_data_1(0x00);}}/***********************清内存右***********************/ void clear_2(void){unsigned char j,k;cs1=0;cs2=1;write_cmd_2(Page_Add+0);write_cmd_2(Col_Add+0);for(k=0;k<8;k++){write_cmd_2(Page_Add+k);for(j=0;j<64;j++)write_data_2(0x00);}}/***********************显示汉字16*16左************************/void Chinese_disp_1(unsigned char pag,unsigned char col,unsigned char n){unsigned char i=0;unsigned char j=0;cs1=1;cs2=0;for(i=0;i<2;i++){write_cmd_1(Page_Add+pag+i);write_cmd_1(Col_Add+col);for(j=0;j<16;j++)write_data_1(Chinese_character[n][16*i+j]);}}/***********************显示汉字16*16右***********************/ void Chinese_disp_2(unsigned char pag,unsigned char col,unsigned char n){unsigned char i=0;unsigned char j=0;cs1=0;cs2=1;for(i=0;i<2;i++){write_cmd_2(Page_Add+pag+i);write_cmd_2(Col_Add+col);for(j=0;j<16;j++)write_data_2(Chinese_character[n][16*i+j]);}}/***********************显示英文16*8左************************/ void E_disp_1(unsigned char pag,unsigned char col,unsigned char n) {unsigned char i=0;unsigned char j=0;cs1=1;cs2=0;for(i=0;i<2;i++){write_cmd_1(Page_Add+pag+i);write_cmd_1(Col_Add+col);for(j=0;j<8;j++)write_data_1(E[n][8*i+j]);}}/***********************显示英文16*8右***********************/ void E_disp_2(unsigned char pag,unsigned char col,unsigned char n) {unsigned char i=0;unsigned char j=0;cs1=0;cs2=1;for(i=0;i<2;i++){write_cmd_2(Page_Add+pag+i);write_cmd_2(Col_Add+col);for(j=0;j<8;j++)write_data_2(E[n][8*i+j]);}}/***********************液晶屏初始化***********************/ void init_lcd(){Lcd_Rst=0;delay(100);Lcd_Rst=1;delay(100);write_cmd_1(Disp_Off); write_cmd_2(Disp_Off);write_cmd_1(Page_Add+0); write_cmd_2(Page_Add+0);write_cmd_1(Start_Line+0); write_cmd_2(Start_Line+0);write_cmd_1(Col_Add+0); write_cmd_2(Col_Add+0);write_cmd_1(Disp_On); write_cmd_2(Disp_On);}/***********************LCD显示子程序***********************/ void display(void){unsigned char i;for(i=Start_Line;i<0xff;i++){Chinese_disp_1(0,0, 0);Chinese_disp_1(0,16,1);Chinese_disp_1(0,32,2);Chinese_disp_1(0,48,3);Chinese_disp_2(0,0, 4);Chinese_disp_2(0,16,5);Chinese_disp_2(0,32,6);Chinese_disp_2(0,48,7);//西安建筑科技大学Chinese_disp_1(2,16,8);Chinese_disp_1(2,32,9);Chinese_disp_1(2,48,10);Chinese_disp_2(2,0,11);Chinese_disp_2(2,16,12);Chinese_disp_2(2,32,13);//冶金工程学院Chinese_disp_1(4,16,14);Chinese_disp_1(4,32,15);Chinese_disp_1(4,48,16);Chinese_disp_2(4,0,17);Chinese_disp_2(4,16,18);Chinese_disp_2(4,32,19);//材料加工工程E_disp_1(6,24,0);E_disp_1(6,32,1);E_disp_1(6,40,2);E_disp_1(6,48,3);E_disp_1(6,56,4);E_disp_2(6,0,5);E_disp_2(6,8,6);E_disp_2(6,16,7);E_disp_2(6,24,8);//Crasyboyewrite_cmd_1(i);write_cmd_2(i);delay(3000);//调整滚动速度}//delay(60000);}/***********主程序************/ void main(void){ init_lcd();clear_1();clear_2();while(1){display();}}希望以上资料对你有所帮助,附励志名言3条:1、宁可辛苦一阵子,不要苦一辈子。
LCD12864(不带字库)

LCD12864(不带字库)LCD12864(不带字库)其实看了本版的1602教程以后很容易就可以掌握12864了。
刚才看到有网友要12864教程,俺就把博客里以前练习的一个程序弄过来,算作参考吧。
不足之处请见谅。
这个程序浪费了我很多时间,因为我一直没有找到datasheet,12864的型号实在太多了。
为了这个程序,我在网上找了很多相关的例程,但大多都是C语言写的,可惜俺没学过C,用起来不顺手,遂将其转成汇编,但是转后,程序运行不正常,郁闷啊。
好不容易找个汇编的吧,又写得很乱,没有头绪,没有datasheet,看起来很费劲,最后终于找到一个相关的datasheet,这才完成这个程序。
总结一下:与其费力分析别人的程序,不如看datasheet自己写。
下面总结一下datasheet。
→↑←ONE→且看datasheet:12864点阵型LCD简介12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。
可完成图形显示,也可以显示8×4个(16×16点阵)汉字。
在使用12864LCD前先必须了解以下功能器件才能进行编程。
12864内部功能器件及相关功能如下:1. 指令寄存器(IR)IR是用于寄存指令码,与数据寄存器数据相对应。
当D/I=0时,在E信号下降沿的作用下,指令码写入IR。
2.数据寄存器(DR)DR是用于寄存数据的,与指令寄存器寄存指令相对应。
当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7∽DB0数据总线。
DR和DDRAM之间的数据传输是模块内部自动执行的。
3.忙标志:BFBF标志提供内部工作情况。
BF=1表示模块在内部操作,此时模块不接受外部指令和数据。
BF=0时,模块为准备状态,随时可接受外部指令和数据。
利用STATUS READ指令,可以将BF读到DB7总线,从检验模块之工作状态。
LCD12864无字库 的运用(DOC)

二、LCD12864液晶的使用之无字库型(一)2011年02月15日星期二 14:07过年回家没办法联网,没办法上传LCD12864教程,还请大家见谅!现在就和大家一起LCD12864的使用!LCD12864分为两种,带字库和不带字库的,个人比较喜欢不带字库的,因为显示汉字的时候可以选择自己喜欢的字体,而带字库的液晶,只能显示GB2312的宋体,当然了,也可以显示其他的字体,不过不是液晶本身字库中带的了,而是用图片的形式显示。
本讲由于内容较多,故分两篇进行讲解,本人水平有限,难免有错误之处,还望大家批评改正!首先介绍下不带字库的LCD12864,现就以Proteus中的LCD12864为例进行讲解,Proteus 中AMPIRE128*64,其液晶驱动器为KS0108,我在网上搜了好就都没找到它的datasheet,不过我们可以找到类似的芯片的手册,它的控制逻辑和HD61202是类似的,我们可以网上下载它的datasheet进行参考。
与带字库液晶不同,此块液晶中含有两个液晶驱动器,一块驱动器控制64*64个点,左右显示,这就是为什么AMPIRE128*64引脚有CS1和CS2的原因。
学习液晶主要看的它的指令系统,再次先说明一下“页”的概念,此液晶有8页,一页有8行。
68/8=8;再介绍一下其他的几个重要指令:指令一、行设置命令由此可见其显示的其实行为0xC0,有规律的改变起始行号,可以实现滚屏的效果指令二、页(page)设置指令起始页为0xB8显示的RAM共64行,分为8页,每页有8行,刚才在上面已经讲过。
指令三、列(Y address)地址设置指令第一列为0x40一直到0x7F共64列,因为此液晶有128列,所以有两块驱动芯片驱动。
指令四、读状态指令Busy:为1内部忙,不能对液晶进行操作。
0--工作正常。
ON/OFF:1------显示关闭;0------显示打开RESET:1-----复位状态;0------正常。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/******************************************************************** *************************///程序部分开始///******************************************************************** *************************//头文件定义///******************************************************************** *************************/#include <reg52.h> // 包含头文件#include <string.h> //用于指针/******************************************************************** *************************//接口定义///******************************************************************** *************************/#define LCM12864_DB7_DB0 P0 // 定义LCM12864的数据总线sbit LCM12864_RS = P2 ^ 3; // 定义LCM12864的RS控制线sbit LCM12864_RW = P2 ^ 4; // 定义LCM12864的RW控制线sbit LCM12864_E = P2 ^ 2; // 定义LCM12864的E控制线sbit LCM12864_CS1 = P2 ^ 7; // 定义LCM12864的CS1控制线sbit LCM12864_CS2 = P2 ^ 6; // 定义LCM12864的CS2控制线sbit LCM12864_RESET = P2 ^ 5; // 定义LCM12864的RESET控制线sbit LCM12864_LEDK = P2 ^ 0; // 定义LCM12864的LEDK(BLK)控制线/******************************************************************** *************************//数据定义//定义LCM12864的命令字/******************************************************************** *************************/#define LCM12864_DISP_ON 0x3f // 打开LCM12864显示#define LCM12864_DISP_OFF 0x3e // 关闭LCM12864显示#define LCM12864_START_ROW 0xc0 // 显示起始行0,可以用LCM12864_START_ROW+x设置起始行。
(x<64)#define LCM12864_PAGE_START_ADDR 0xb8 // 页起始地址,可以用LCM12864_PAGE_START_ADDR+x设置当前页。
(x<8)#define LCM12864_COL_START_ADDR 0x40 // 列起始地址,可以用LCM12864_COL_START_ADDR+x设置当前列。
(x<64)//定义LCM12864的状态屏蔽码//在BUSY和REST状态时,除读状态指令外,其他指令均不对LCM12864产生作用。
//在对LCM12864操作之前要查询BUSY状态,以确定是否可以对LCM12864进行操作。
#define LCM12864_STATUS_BUSY 0x80 // LCM12864忙状态屏蔽码#define LCM12864_STATUS_DISP_OFF 0x20 // LCM12864显示关闭状态屏蔽码#define LCM12864_STATUS_REST 0x10 // LCM12864复位状态屏蔽码/******************************************************************** *************************//字符/图像定义库///******************************************************************** *************************//*-- 文字: 欢--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*//* 纵向取模,字节倒序*/unsigned char code huan1[]={0x0C,0x6C,0xEC,0x8C,0xFC,0x3C,0x40,0x70,0x3F,0xCF,0xCC,0x0C,0x3C ,0x3C,0x00,0x00,0x10,0x38,0x1C,0x07,0x07,0x4C,0x60,0x30,0x18,0x0F,0x07,0x0C,0x18,0 x30,0x20,0x00,};/*-- 文字: 迎--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*//* 纵向取模,字节倒序*/unsigned char code ying2[]={0x60,0x66,0xEE,0xE8,0x00,0xFE,0xFE,0x07,0x03,0xFE,0xFE,0x06,0xFE,0 xFE,0x00,0x00,0x40,0x60,0x3F,0x1F,0x30,0x67,0x67,0x62,0x60,0x6F,0x6F,0x62,0x67,0x 67,0x60,0x00};///////////////////////////////////////////////////////////////////// ASCII字模的数据表//// 码表从0x20~0x7e //// 字库:Asc8X16E.dat 纵向取模下高位/////////////////////////////////////////////////////////////////////unsigned char code nAsciiDot[] = // ASCII0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00, // -D-0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00,0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00, // -y-0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00,0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00, // -1-0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00,0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00, // -2-0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00, // -8-0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00, // -6-0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00, // -4-0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,};/////////////////////////////////////////////////////////////////////////// Bitmap点阵数据表//// 图片: C:\..鎈doyleee.bmp,纵向取模下高位,数据排列:从左到右从上到下//// 图片尺寸: 128 * 64 /////////////////////////////////////////////////////////////////////////// unsigned char code doyleee[] = // 数据表{0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x81,0xF1,0xF1,0xF1,0x71,0x31,0x31,0x71,0xF1,0xF1,0xE1,0xC1,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x81,0xF1,0xF1,0xF1,0x71,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF, 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xF0,0xFF,0xFF,0xFF,0x0F,0x00,0x00, 0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x7F,0x00, 0x00,0xF0,0xFC,0xFE,0xFE,0x0F,0x03,0x03, 0x07,0xFF,0xFE,0xFE,0xF8,0x00,0xE0,0xE0, 0xE0,0xE0,0x00,0x03,0x3F,0xFF,0xFF,0xFC, 0xC0,0xF0,0xFE,0x3F,0x0F,0x03,0x00,0xF0, 0xFF,0xFF,0xFF,0x0F,0x00,0x00,0xF0,0xFC, 0xFE,0xFE,0x3F,0x33,0x33,0x33,0x3F,0x3F, 0x3E,0x38,0x00,0x00,0xF0,0xFC,0xFE,0xFE, 0x3F,0x33,0x33,0x33,0x3F,0x3F,0x3E,0x38, 0x00,0x00,0xF0,0xFC,0xFE,0xFE,0x3F,0x33, 0x33,0x33,0x3F,0x3F,0x3E,0x38,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80, 0x8E,0x8F,0x8F,0x8F,0x8C,0x8C,0x8C,0x8C, 0x8E,0x8F,0x87,0x87,0x83,0x81,0x80,0x80, 0x80,0x81,0x87,0x87,0x8F,0x8E,0x8C,0x8C, 0x8F,0x87,0x87,0x83,0x80,0x80,0x80,0xC0, 0xC0,0xC0,0xC0,0xC0,0xC0,0xF3,0x7F,0x3F, 0x0F,0x03,0x00,0x00,0x00,0x00,0x0E,0x0F, 0x0F,0x0F,0x00,0x00,0x00,0x00,0x01,0x07, 0x07,0x0F,0x0E,0x0C,0x0C,0x0F,0x07,0x03, 0x01,0x00,0x00,0x00,0x01,0x07,0x07,0x0F, 0x0E,0x0C,0x0C,0x0F,0x07,0x03,0x01,0x00, 0x00,0x00,0x01,0x07,0x07,0x0F,0x0E,0x0C, 0x0C,0x0F,0x07,0x03,0x01,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, 0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0x40,0x40,0x00,0x00,0xFC, 0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x00,0xF0, 0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x40, 0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x10, 0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x18, 0x1C,0x84,0xC4,0x7C,0x38,0x00,0x00,0xB8, 0xFC,0x64,0xC4,0xFC,0xB8,0x00,0x00,0xE0, 0xF0,0x3C,0x2C,0xE4,0xC0,0x00,0x00,0x80, 0xFC,0x7C,0x00,0xF0,0xF0,0x00,0x00,0xFC,0xFC,0x04,0x04,0x1C,0x18,0x00,0x00,0x40, 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF, 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07, 0x07,0x04,0x06,0x03,0x01,0x00,0x20,0x23, 0x27,0x34,0x1C,0x0F,0x03,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x07,0x07,0x04,0x00,0x00,0x06, 0x07,0x05,0x04,0x04,0x04,0x00,0x00,0x03, 0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x03, 0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x01, 0x01,0x01,0x01,0x07,0x07,0x01,0x00,0x07, 0x07,0x04,0x04,0x04,0x04,0x00,0x00,0x03, 0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0, 0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00, 0x00,0x20,0x20,0xF0,0xF0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF0, 0x10,0x10,0x90,0x50,0xF0,0xE0,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, 0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x81,0x83, 0x86,0x8C,0x8C,0x86,0x83,0x81,0x80,0x80,0x88,0x88,0x88,0x8F,0x8F,0x88,0x88,0x88,0x80,0x80,0x8C,0x8C,0x80,0x80,0x87,0x8F,0x8A,0x89,0x88,0x88,0x8F,0x87,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF};/******************************************************************** ************************//软件延时Delay()//********************************************************************* ************************/void Delay(unsigned int count){unsigned char i;while(--count != 0){for(i = 0; i < 125; i++); // ";" 表示空语句,CPU空转。