用1602液晶显示自定义字符

上传人:第*** 文档编号:33596146 上传时间:2018-02-16 格式:DOCX 页数:6 大小:168.15KB
返回 下载 相关 举报
用1602液晶显示自定义字符_第1页
第1页 / 共6页
用1602液晶显示自定义字符_第2页
第2页 / 共6页
用1602液晶显示自定义字符_第3页
第3页 / 共6页
用1602液晶显示自定义字符_第4页
第4页 / 共6页
用1602液晶显示自定义字符_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《用1602液晶显示自定义字符》由会员分享,可在线阅读,更多相关《用1602液晶显示自定义字符(6页珍藏版)》请在金锄头文库上搜索。

1、1602 是一款最常用也是最便宜的液晶显示屏。最多可以显示两行标准字符,每行最多可以显示 16 个字符。1602 可以显示内部常用字符(包括阿拉伯数字,英文字母大小写,常用符号和日文假名等),也可以显示自定义字符( 单或多个字符组成的简单汉字,符号,图案等,最多可以产生 8 个自定义字符)。一、显示常用字符。1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,如下表所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是 41H,显示时模块把地址 41H 中的点阵字符图形显

2、示出来,我们就能看到字母“A”十进制 十六进制 ASCII 字符 十进制 十六进制 ASCII字符 十进制 十六进制 ASCII 字符 00 00 自定义字符 1 56 38 8 96 60 01 01 自定义字符 2 57 39 9 97 61 a 02 02 自定义字符 3 58 3A : 98 62 b 03 03 自定义字符 4 59 3B ; 99 63 c 04 04 自定义字符 5 60 3C 102 66 f 07 07 自定义字符 8 63 3F ? 103 67 g 08 08 自定义字符 1 64 40 104 68 h 09 09 自定义字符 2 65 41 A 105

3、 69 i 10 0A 自定义字符 3 66 42 B 106 6A j 11 0B 自定义字符 4 67 43 C 107 6B k 12 0C 自定义字符 5 68 44 D 108 6C l 13 0D 自定义字符 6 69 45 E 109 6D m 14 0E 自定义字符 7 70 46 F 110 6E n 15 0F 自定义字符 8 71 47 G 111 6F o 32 20 空格 72 48 H 112 70 p 33 21 ! 73 49 I 113 71 q 34 22 74 4A J 114 72 r 35 23 # 75 4B K 115 73 s 36 24 $ 7

4、6 4C L 116 74 t 37 25 % 77 4D M 117 75 u 38 26 & 78 4E N 118 76 v 39 27 79 4F O 119 77 w 40 28 ( 80 50 P 120 78 x 41 29 ) 81 51 Q 121 79 y 42 2A * 82 52 R 122 7A z 43 2B + 83 53 S 123 7B 44 2C , 84 54 T 124 7C | 45 2D - 85 55 U 125 7D 46 2E . 86 56 V 126 7E 47 2F / 87 57 W 48 30 0 88 58 X 49 31 1 89

5、 59 Y 50 32 2 90 5A Z 51 33 3 91 5B 52 34 4 92 5C 53 35 5 93 5D 54 36 6 94 5E 55 37 7 95 5F _ 显示操作的过程:首先确认显示的位置,即在第几行,第几个字符开始显示。也就是要显示的地址,如下表所示的显示地址。第一行的显示地址是 0x800x8F,第二行的显示地址是 0xC00xCF。例如想要在第 2 行,第 3 个位置显示一个字符,那么地址码就是 0xC2。在编程过程中,通常编写一个函数确定在某行某个位置显示数据。函数需要 行参数(y ) ,和 列参数( x)来确定显示位置。程序参考如下:/*设置显示位置

6、*/ void LCD_set_xy( unsigned char x, unsigned char y ) unsigned char address; if (0 = y) x |= 0x80; /当要显示第一行时地址码+0x80;else x |= 0xC0; /在第二行显示是地址码 +0xC0;Write_com(x); /发送地址码 0x80-0x8F 或者 0xC00xCF以上地址码,在显示过程中,可以直接应用,至于地址码的计算原理,如果想要研究,请参考其它资料,这里不做描述。其次设置要显示的内容,即上面提到的 CGROM 内的字符编码。如显示“A”,将编码 41H 写入到液晶屏显

7、示即可。通常设置地址和显示内容用一个函数来完成。代码参考如下:/功能:按指定位置显示一个字符/输入:列显示地址 x(取值范围 0-15) 行显示地址 y(取值范围 0-1), 指定字符void DisplayOneChar(unsigned char x, unsigned char y, unsigned char Data)if (0 = y) x |= 0x80; /当要显示第一行时地址码+0x80;else x |= 0xC0; /在第二行显示是地址码 +0xC0; Write_com(x); /发送地址码Write_dat(Data); /发送要显示的字符编码显示字符“A”调用过程如

8、下代码:DisplayOneChar(0,0,0x41) ;/功能:在第 1 行 第 1 个字符 显示一个大写字母 A在 C 语言操作时,还可以显示整个字符串。定义一个字符串显示函数,可以通过直接输入字符方式进行显示。/功能:按指定位置显示一串字符/输入:列显示地址 x(取值范围 0-15) 行显示地址 y(取值范围 0-1), 指定字符串指针*p,要显示的字符个数 count (取值范围 1-16)void Disp_1602(unsigned char x,unsigned char y,unsigned char *p,unsigned char count)unsigned char

9、i; for(i=0;icount;i+)if (0 = y) x |= 0x80; /当要显示第一行时地址码+0x80;else x |= 0xC0; /在第二行显示是地址码+0xC0;Write_com(x); /发送地址码Write_dat(*p); /发送要显示的字符编码x+;p+; 调用方法如下:DisplayListChar(0,0,hello world,11); /液晶 1602 第一行显示DisplayListChar(0,1,,12); /液晶 1602 第二行显示二、显示自定义字符。1、首先取得想要的中文或者图形的字模数组。通过字模软件不能直接提取 5*8 点阵的字模数据,可以通过手动提取的方法。如下图所示,对应一个字符显示区域。每 8 个字节,组成一个点阵数组。“日 ”的点阵数组即为 0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x002 个点阵组成一个汉字取模举例:“车 ”字取模数组为:0x00,0x0f,0x02,0x04,0x07,0x00,0x0f,0x00,0x10,0x1e,0x00,0x10,0x1c,0x10,0x1e,0x10将生成的点阵数组保存到 CGRAM 存储器中,生成自定义字符。1602 内部 CGRAM 用于自定义的字符点阵的存储,总共 64 字节。由上一步点阵提取可知,每一个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号