LCD12864编码显示汉字.docx

上传人:b****2 文档编号:13976489 上传时间:2023-06-19 格式:DOCX 页数:18 大小:17.57KB
下载 相关 举报
LCD12864编码显示汉字.docx_第1页
第1页 / 共18页
LCD12864编码显示汉字.docx_第2页
第2页 / 共18页
LCD12864编码显示汉字.docx_第3页
第3页 / 共18页
LCD12864编码显示汉字.docx_第4页
第4页 / 共18页
LCD12864编码显示汉字.docx_第5页
第5页 / 共18页
LCD12864编码显示汉字.docx_第6页
第6页 / 共18页
LCD12864编码显示汉字.docx_第7页
第7页 / 共18页
LCD12864编码显示汉字.docx_第8页
第8页 / 共18页
LCD12864编码显示汉字.docx_第9页
第9页 / 共18页
LCD12864编码显示汉字.docx_第10页
第10页 / 共18页
LCD12864编码显示汉字.docx_第11页
第11页 / 共18页
LCD12864编码显示汉字.docx_第12页
第12页 / 共18页
LCD12864编码显示汉字.docx_第13页
第13页 / 共18页
LCD12864编码显示汉字.docx_第14页
第14页 / 共18页
LCD12864编码显示汉字.docx_第15页
第15页 / 共18页
LCD12864编码显示汉字.docx_第16页
第16页 / 共18页
LCD12864编码显示汉字.docx_第17页
第17页 / 共18页
LCD12864编码显示汉字.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

LCD12864编码显示汉字.docx

《LCD12864编码显示汉字.docx》由会员分享,可在线阅读,更多相关《LCD12864编码显示汉字.docx(18页珍藏版)》请在冰点文库上搜索。

LCD12864编码显示汉字.docx

LCD12864编码显示汉字

#include

#include

#defineuintunsignedint

#defineucharunsignedchar

#defineDATAP0//LCD12864数据线

sbitRS=P2^2;//数据\指令选择

sbitRW=P2^1;//读\写选择

sbitEN=P2^0;//读\写使能

sbitCS1=P2^3;//片选1

sbitCS2=P2^4;//片选2

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

/*定义中文字库*/

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

ucharcodeHzk[]={

/*--文字:

各--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x20,0x20,0x10,0x08,0x8F,0xB4,0x44,0x44,0xA4,0x9C,0x04,0x00,0x00,0x00,0x00,

0x02,0x02,0x02,0x01,0x7F,0x42,0x42,0x42,0x42,0x42,0x42,0x7F,0x01,0x03,0x01,0x00,

/*--文字:

位--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0xC0,0x30,0xEC,0x03,0x2A,0xC8,0x09,0x0A,0x0E,0x08,0xE8,0x48,0x08,0x00,0x00,

0x01,0x00,0x00,0x7F,0x20,0x20,0x20,0x27,0x20,0x30,0x2E,0x21,0x20,0x20,0x20,0x00,

/*--文字:

单--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x00,0xF8,0x28,0x29,0x2E,0x2A,0xF8,0x28,0x2C,0x2B,0x2A,0xF8,0x00,0x00,0x00,

0x08,0x08,0x0B,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x0B,0x08,0x08,0x00,

/*--文字:

机--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x08,0x08,0xC8,0xFF,0x48,0x88,0x08,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,

0x04,0x03,0x00,0xFF,0x00,0x41,0x30,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x78,0x00,

/*--文字:

爱--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x40,0xB2,0x96,0x9A,0x92,0xF6,0x9A,0x93,0x91,0x99,0x97,0x91,0x90,0x30,0x00,

0x40,0x20,0xA0,0x90,0x4C,0x47,0x2A,0x2A,0x12,0x1A,0x26,0x22,0x40,0xC0,0x40,0x00,

/*--文字:

好--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x10,0x10,0xF0,0x1F,0x10,0xF0,0x80,0x82,0x82,0x82,0xF2,0x8A,0x86,0x82,0x80,0x00,

0x80,0x43,0x22,0x14,0x0C,0x73,0x20,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,

/*--文字:

者--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x20,0x24,0x24,0x24,0x24,0xA4,0xBF,0x64,0x24,0x34,0x28,0x26,0x24,0x20,0x00,

0x04,0x04,0x04,0x02,0x02,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,

/*--文字:

你--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x80,0x40,0xF0,0x2C,0x43,0x20,0x98,0x0F,0x0A,0xE8,0x08,0x88,0x28,0x1C,0x08,0x00,

0x00,0x00,0x7F,0x00,0x10,0x0C,0x03,0x21,0x40,0x3F,0x00,0x00,0x03,0x1C,0x08,0x00,

/*--文字:

们--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x80,0x40,0xF0,0x1C,0x03,0xF0,0x01,0x0E,0x04,0x00,0x04,0x04,0x04,0xFC,0x00,0x00,

0x00,0x00,0x7F,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x40,0x3F,0x00,0x00,

/*--文字:

辛--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x80,0x84,0x84,0x94,0xA4,0xC4,0x85,0x86,0x84,0xC4,0xA4,0x94,0x84,0x84,0x80,0x00,

0x00,0x04,0x04,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x00,0x00,0x00,

/*--文字:

苦--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x40,0x44,0x44,0x44,0x44,0x5F,0x44,0xF4,0x44,0x44,0x5F,0x44,0x44,0x44,0x44,0x00,

0x00,0x00,0x00,0x7E,0x22,0x22,0x22,0x23,0x22,0x22,0x22,0x7E,0x00,0x00,0x00,0x00,

/*--文字:

了--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x02,0x02,0x02,0x02,0x02,0x02,0xF2,0x12,0x0A,0x0A,0x06,0x06,0x02,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--文字:

希--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x20,0x20,0x30,0x30,0xA9,0x6A,0x3A,0x24,0xE4,0x2A,0x29,0x30,0x20,0x20,0x20,0x00,

0x08,0x04,0x02,0x01,0x3F,0x01,0x01,0x01,0xFF,0x01,0x21,0x61,0x3F,0x00,0x00,0x00,

/*--文字:

望--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x04,0x04,0xFC,0x85,0x46,0x24,0x04,0x80,0x7E,0x2A,0x2A,0xAA,0xAA,0xFE,0x00,0x00,

0x00,0x40,0x42,0x4A,0x4A,0x4A,0x4A,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x42,0x40,0x00,

/*--文字:

大--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F,0xA0,0x20,0x20,0x20,0x20,0x20,0x20,0x00,

0x00,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x01,0x06,0x08,0x30,0x60,0xC0,0x40,0x00,

/*--文字:

家--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x18,0x04,0x14,0x94,0x94,0xD5,0xB6,0x14,0x14,0x94,0x04,0x14,0x0C,0x04,0x00,

0x00,0x29,0x29,0x15,0x14,0x4A,0x89,0x44,0x3F,0x06,0x09,0x09,0x10,0x30,0x10,0x00,

/*--文字:

能--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x10,0xB8,0x97,0x92,0x90,0x94,0xB8,0x10,0x00,0x7F,0x48,0x48,0x44,0x74,0x20,0x00,

0x00,0xFF,0x0A,0x0A,0x4A,0x8A,0x7F,0x00,0x00,0x3F,0x44,0x44,0x42,0x72,0x20,0x00,

/*--文字:

多--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x00,0x00,0x20,0x90,0x88,0x54,0x53,0xA2,0x22,0x12,0x0A,0x06,0x00,0x00,0x00,

0x00,0x81,0x89,0x89,0x44,0x44,0x42,0x25,0x29,0x11,0x11,0x09,0x05,0x03,0x01,0x00,

/*--文字:

多--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x00,0x00,0x20,0x90,0x88,0x54,0x53,0xA2,0x22,0x12,0x0A,0x06,0x00,0x00,0x00,

0x00,0x81,0x89,0x89,0x44,0x44,0x42,0x25,0x29,0x11,0x11,0x09,0x05,0x03,0x01,0x00,

/*--文字:

交--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x08,0x88,0x48,0x38,0x28,0x09,0x0E,0x0C,0x08,0x98,0x28,0x68,0x48,0x08,0x00,

0x00,0x80,0x80,0x40,0x41,0x22,0x14,0x18,0x0C,0x16,0x23,0x61,0xC0,0x40,0x00,0x00,

/*--文字:

流--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x10,0x60,0x01,0x86,0x60,0x04,0x44,0x64,0x55,0x4E,0x44,0x64,0xC4,0x04,0x04,0x00,

0x04,0x04,0xFC,0x03,0x40,0x30,0x0F,0x00,0x00,0x7F,0x00,0x3F,0x40,0x40,0x70,0x00,

/*--文字:

学--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,0x00,

0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00,

/*--文字:

习--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x00,0x02,0x02,0x0A,0x12,0x22,0x62,0x02,0x82,0x82,0x42,0x02,0xFE,0x00,0x00,

0x00,0x00,0x04,0x0C,0x04,0x02,0x02,0x01,0x01,0x00,0x20,0x40,0x80,0x7F,0x00,0x00,

/*--文字:

24--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

 

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

/*定义ASCII字库8列*16行*/

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

ucharcodeEzk[]={

/*--文字:

Q--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,

/*--文字:

Q--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,

/*--文字:

3--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,

/*--文字:

4--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,

/*--文字:

5--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,

/*--文字:

4--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,

/*--文字:

1--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,

/*--文字:

5--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,

/*--文字:

2--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,

/*--文字:

4--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,

/*--文字:

4--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,

 

/*--文字:

--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--文字:

--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--文字:

--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--文字:

--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--文字:

--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--文字:

--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=8x16--*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

/*状态检查,LCD是否忙*/

voidCheckState()

{

uchardat;//状态信息(判断是否忙)

RS=0;//数据\指令选择,D/I(RS)=“L”,表示DB7∽DB0为显示指令数据

RW=1;//R/W=“H”,E=“H”数据被读到DB7∽DB0

do{

DATA=0x00;

EN=1;//EN下降源

_nop_();//一个时钟延时

dat=DATA;

EN=0;

dat=0x80&dat;//仅当第7位为0时才可操作(判别busy信号)

}while(!

(dat==0x00));

}

 

/*写命令到LCD中*/

SendCommandToLCD(ucharcom)

{

CheckState();//状态检查,LCD是否忙

RS=0;//向LCD发送命令。

RS=0写指令,RS=1写数据

RW=0;//R/W=“L”,E=“H→L”数据被写到IR或DR

DATA=com;//com:

命令

EN=1;//EN下降源

_nop_();

_nop_();

EN=0;

}

/*设置页0xb8是页的首地址*/

voidSetLine(ucharpage)

{

page=0xb8|page;//10111xxx0<=page<=7设定页地址--X0-7,8行为一页64/8=8,共8页

SendCommandToLCD(page);

}

/*设定显示开始行,0xc0是行的首地址*/

voidSetStartLine(ucharstartline)

{

startline=0xc0|startline;//11000000

SendCommandToLCD(startline);//设置从哪行开始:

0--63,一般从0行开始显示

}

/*设定列地址--Y0-63,0x40是列的首地址*/

voidSetColumn(ucharcolumn)

{

column=column&0x3f;//column最大值为64,越出0=

column=0x40|column;//01xxxxxx

SendCommandToLCD(column);

}

/*开关显示,0x3f是开显示,0x3e是关显示*/

voidSetOnOff(ucharonoff)

{

onoff=0x3e|onoff;//0011111x,onoff只能为0或者1

SendCommandToLCD(onoff);

}

/*写显示数据*/

voidWriteByte(uchardat)

{

CheckState();//状态检查,LCD是否忙

RS=1;//RS=0写指令,RS=1写数据

RW=0;////R/W=“L”,E=“H→L”数据被写到IR或DR

DATA=dat;//dat:

显示数据

EN=1;//EN下降源

_nop_();

_nop_();

EN=0;

}

 

/*选择屏幕screen:

0-全屏,1-左屏,2-右屏*/

voidSelectScreen(ucharscreen)

{

switch(screen)

{case0:

CS1=0;//全屏

_nop_();_nop_();_nop_();

CS2=0;

_nop_();_nop_();_nop_();

break;

case1:

CS1=1;//左屏

_nop_();_nop_();_nop_();

CS2=0;

_nop_();_nop_();_nop_();

break;

case2:

CS1=0;//右屏

_nop_();_nop_();_nop_();

CS2=1;

_nop_();_nop_();_nop_();

break;

}

}

/*清屏screen:

0-全屏,1-左屏,2-右*/

voidClearScreen(ucharscreen)

{

uchari,j;

SelectScreen(screen);

for(i=0;i<8;i++)//控制页数0

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2