LCD12864编码显示汉字_第1页
LCD12864编码显示汉字_第2页
LCD12864编码显示汉字_第3页
LCD12864编码显示汉字_第4页
LCD12864编码显示汉字_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.#include #include #define uint unsigned int#define uchar unsigned char#define data p0 /lcd12864数据线sbit rs=p22; /数据 指令选择sbit rw=p21; /读 写 选择sbit en=p20; /读 写使能sbit cs1=p23; /片选 1sbit cs2=p24; /片选 2/*/*定义中文字库*/*/uchar code hzk=/*-文字 : 各 -*/*-宋体 12; 此字体下对应的点阵为:宽x 高 =16x16-*/0x00,0x20,0x20,0x10,0x08,0x

2、8f,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,0x2

3、0,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,

4、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,

5、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-*/0

6、x00,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,0x

7、00,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

8、高 =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,

9、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;此字

10、体下对应的点阵为:宽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,0x0

11、0,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、-*/*-宋体 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,

13、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,0

14、x00,/*-文字 :多-*/*-宋体 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,0x0

15、8,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

16、,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,0

17、x62,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,

18、0x00,0x00,0x00,0x00,0x00,0x00,;/*/*定义 ascii 字库 8 列 *16 行*/*/uchar code ezk=/*-文字 :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

19、,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

20、高 =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

21、,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-*/*-宋体 1

22、2;此字体下对应的点阵为:宽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

23、,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,

24、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 高

25、 =8x16 -*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,;/* 状态检查, lcd 是否忙 */void checkstate().uchar dat;/状态信息(判断是否忙)rs=0; / 数据 指令选择, d/i ( rs) =“ l ” ,表示db7 db0 为显示指令数据rw=1; /r/w= “ h” , e=“ h”数据被读到db7 db0dodata=0x00;en=1; /en下降源_nop_(); / 一个时钟延时dat=data;en=0;dat=0

26、x80 & dat; / 仅当第 7 位为 0 时才可操作 (判别 busy 信号 )while(!(dat=0x00);/* 写命令到lcd 中 */sendcommandtolcd(uchar com)checkstate();/ 状态检查, lcd 是否忙rs=0;/向 lcd 发送命令。 rs=0 写指令, rs=1 写数据rw=0;/r/w= “ l ” , e=“h l ”数据被写到ir 或 drda ta=com;/com : 命令en=1;/en 下降源_nop_();_nop_();en=0;/* 设置页0xb8 是页的首地址*/void setline(uchar page

27、)page=0xb8|page; /1011 1xxx 0=page=7 设定页地址 -x 0-7,8 行为一页 64/8=8 ,共 8 页 sendcommandtolcd(page);/* 设定显示开始行,0xc0 是行的首地址*/void setstartline(uchar startline)startline=0xc0|startline; /1100 0000sendcommandtolcd(startline); / 设置从哪行开始:0-63,一般从0 行开始显示/* 设定列地址 -y 0-63 , 0x40 是列的首地址 */void setcolumn(uchar colu

28、mn).column=column &0x3f; /column最大值为64,越出0=column=63column= 0x40|column; /01xx xxxxsendcommandtolcd(column);/* 开关显示, 0x3f 是开显示, 0x3e 是关显示 */void setonoff(uchar onoff)onoff=0x3e|onoff; /0011 111x,onoff 只能为0 或者 1sendcommandtolcd(onoff);/* 写显示数据*/void writebyte(uchar dat)checkstate();/ 状态检查, lcd 是否忙rs=

29、1; /rs=0 写指令, rs=1 写数据rw=0;/r/w= “ l” , e=“ h l ”数据被写到ir 或 drda ta=dat;/dat: 显示数据en=1; /en 下降源_nop_();_nop_();en=0;/* 选择屏幕screen: 0-全屏 ,1-左屏 ,2-右屏 */void selectscreen(uchar screen)switch(screen) case 0: cs1=0;/ 全屏_nop_(); _nop_(); _nop_();cs2=0;_nop_(); _nop_(); _nop_();break;case 1: cs1=1;/左屏_nop_(

30、); _nop_(); _nop_();cs2=0;_nop_(); _nop_(); _nop_();break;case 2: cs1=0;/右屏_nop_(); _nop_(); _nop_();.cs2=1;_nop_(); _nop_(); _nop_();break;/* 清屏 screen: 0-全屏 ,1-左屏 ,2-右 */void clearscreen(uchar screen)uchar i,j;selectscreen(screen);for(i=0;i8;i+)/ 控制页数0-7,共 8 页setline(i);setcolumn(0);for(j=0;j64;j+

31、)/控制列数0-63,共 64 列writebyte(0x00); / 写点内容,列地址自动加1/* 延时程序 */void delay(uint z)uint i,j;for(i=0; iz; i+)for(j = 0; j 110; j+);/* 向上滚屏 */* 这里用做滚动显示*/*voidlcd_rol()uint i;for(i = 0; i 64; i+)cs1=0; / 片选 1sendcommandtolcd(0xc0+i);cs1=1;cs2=0;/ 片选 2sendcommandtolcd(0xc0+62-i);cs2=0; / 片选 2.delay(6);*/* 初始化

32、 lcd*/void initlcd()checkstate();selectscreen(0);setonoff(0); / 关显示selectscreen(0);setonoff(1); / 开显示selectscreen(0);clearscreen(0);/清屏setstartline(0); / 开始行 :0/* 显示全角汉字 */void display(uchar ss,uchar page,uchar column,uchar number)int i; / 选屏参数, pagr 选页参数, column 选列参数, number 选第几汉字输出selectscreen(ss);column=column&0x3f;setline(page); /写上半页setcolumn(column); / 控制列for(i=0;i16;i+)/控制 16 列的数据输出writebyte(hzki+32*number); /i+32*number汉字的前16 个数据输出setline(page+1);/写下半页setcolumn(column);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论