0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机液晶汉字显示的C语言程序

Wildesbeast 来源:单片机教程网 作者:单片机教程网 2020-12-06 17:31 次阅读

/*液晶屏分为4行*12列汉字,全部使用模拟接口方式。

/* TGLCMLIMIT64A接口程序(模拟方式)

;**********************单片机液晶汉字显示c语言程序*****************************************************

;连线图:

;*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 *

;*****************************单片机液晶汉字显示c语言程序**********************************************/

//画线部分请参照avr的c程序。

/*#pragma src /*生成ASM文件开关,必要时打开 */

#include《REG52.H》

#include《math.h》

#include《INTRINS.H》

#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[]; //

/********************************/

/* 单片机液晶汉字显示c语言程序 */

/********************************/

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;xs《length;xs++){

col = ys + xs;

point();}

}

else {xs = row;

for (ys=0;ys《length;ys++){

row = xs + ys;

point();}

}

}

/***************单片机液晶汉字显示c语言程序*************************/

/* 画点 */

/****************************************/

void point(void)

{

Uchar x1,y1,x,y;

x1=col;

y1=row;

row=y1》》3; /*取Y方向分页地址 */

Rddata();

y=y1&0x07; /*字节内位置计算 */

x=0x01;

x=x《《y; /*移入所画点 */

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《i;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《LCMLIMIT;col++) Wrdata(0);

}

/****************************************/

/* 从液晶片上读数据,保留在全局变量中 */

/****************************************/

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*/

}

/*****************单片机液晶汉字显示c语言程序***************************************/

/* 分区操作允许等待,返回时保留分区选择状态 */

/********************************************************/

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;

}

/********************单片机液晶汉字显示c语言程序************************************/

/*根据设定的坐标数据,定位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,

};

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5990

    文章

    43904

    浏览量

    619603
  • 液晶显示
    +关注

    关注

    6

    文章

    572

    浏览量

    39848
收藏 人收藏

    评论

    相关推荐

    基于单片机的VRAM型彩色液晶显示模块设计

    介绍一种基于AVR 单片机和硬件汉字库的VRAM 型彩色液晶显示模块的设计。给出彩色液晶显示器的显示原理、硬件接口设计框图以及硬件
    发表于 10-12 14:54 1620次阅读
    基于<b class='flag-5'>单片机</b>的VRAM型彩色<b class='flag-5'>液晶显示</b>模块设计

    AT89C51单片机液晶显示程序(c语言编写)

    AT89C51单片机液晶显示程序(c语言编写)
    发表于 08-14 11:09

    单片机高级语言FranklinC51在LCD汉字显示程序设计中的应用

    单片机高级语言FranklinC51在LCD汉字显示程序设计中的应用
    发表于 08-17 23:12

    单片机原理及c语言程序设计

    0417、C语言程序设计及应用实例单片机C语言应用程序
    发表于 08-14 16:31

    【下载】《单片机语言C51应用实战集锦》

    一种在C51中写二进制的方法程序十 CRC算法原理及C语言实现程序十一 软件陷阱程序十二 一个
    发表于 02-09 15:30

    【下载】《单片机语言C51应用实战集锦》

    算法原理及C语言实现程序十一 软件陷阱程序十二 一个简单的VB串口发送程序程序十三 12864
    发表于 04-08 16:51

    1602液晶屏51单片机C语言驱动程序和1602液晶屏的接口资料下载

    上传一个1602液晶屏的51单片机C语言程序给大家参考下。附上1602液晶屏的接口资料。kxm
    发表于 07-19 05:23

    单片机C语言程序设计与应用

    单片机C语言程序设计与应用-第4章(PPT)》由会员分享,可在线阅读,更多相关《单片机C
    发表于 07-14 08:06

    单片机是如何实现液晶汉字库的显示

    液晶屏使用的汉字库的原理是什么?单片机是如何实现液晶汉字库的显示呢?
    发表于 01-19 06:13

    液晶显示多级汉字菜单的方法及电路

    液晶显示多级汉字菜单的方法 摘  要:以8031单片机控制MGLS-240128液晶显示器为例,介绍利用CCDOS中的汉字库(H
    发表于 05-24 09:22 1836次阅读

    液晶显示器的汉字显示方法

    本文介绍了图形液晶汉字显示方法, 并以8051 单片机为基础, 并给出C51 程序例子, 具有很强的使用指导性。
    发表于 04-13 10:04 1.2w次阅读
    <b class='flag-5'>液晶显示</b>器的<b class='flag-5'>汉字</b><b class='flag-5'>显示</b>方法

    基于单片机液晶屏1602-LCD滚动显示程序【C语言】

    基于单片机液晶屏1602-LCD滚动显示程序【C语言】,感兴趣的可以看看。
    发表于 12-30 13:48 11次下载

    基于单片机液晶屏12864带字库_C液晶显示【C语言

    基于单片机液晶屏12864带字库_C 液晶显示【C语言
    发表于 12-30 14:08 58次下载

    使用单片机实现1602液晶显示的密码锁C语言程序免费下载

    使用单片机实现1602液晶显示的密码锁C语言程序免费下载
    发表于 03-30 09:32 60次下载

    使用单片机实现液晶1602显示的C语言程序免费下载

    本文档的主要内容详细介绍的是使用单片机实现液晶1602显示的C语言程序免费下载。
    发表于 04-02 16:01 26次下载