液晶显示汉字程序.doc

液晶显示汉字程序.doc

ID:52857426

大小:33.50 KB

页数:7页

时间:2020-03-31

液晶显示汉字程序.doc_第1页
液晶显示汉字程序.doc_第2页
液晶显示汉字程序.doc_第3页
液晶显示汉字程序.doc_第4页
液晶显示汉字程序.doc_第5页
资源描述:

《液晶显示汉字程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1602液晶显示汉字程序利用1602显示汉字也不是新鲜的内容,今天不想颓废了。只是需要自己事先定义一下汉字的字模,就是显示出来的汉子字体结构。要定义字模就需要知道1602的CGRAM地址和显示字符的地址DDRAM图1:12345678910111213141516000102030405060708090A0B0C0D0E0F404142434445464748494A4B4C4D4E4F第一行第一个字符的地址是(0x80),后面的字符地址以此类推第二行第一个字符的地址为(0x80+0x40),需要在第一行的基地址后面加上一个偏移量0x40,后面的地址在此基址上再依次加一

2、。voiddelay(unsignedinttime_i){inti。for(。tim>0。tim--){for(i=0。i<10。i++)。}}voidcommand_out(charout_data){RW=0。RS=0。EN=1。DB=out_data。EN=0。delay(10)。}voidOUTD(charout_data){RS=1。RW=0。EN=1。DB=out_data。EN=0。delay(10)。}OUTI()是写入指令的函数,OUTD()是写入数据的函数。如:左上角第一个5*7的显示数据为:0x00,0x01,0x81,0x12,0x24,0x41

3、,0x81,0x10蓝色区域的相应位为17/7这样就可以写出全部4个5*7点阵的显示数据了,把它封装在一个数组中,如数组,hanzi[]={0x00,0x01,0x81,0x12,0x24,0x41,0x81,0x10,………………}之后利用命令:OUTI(0X40)。for(i=0。i<64。i++){OUTD(neu[i])。}将这个数组中的数据赋值到1602内部CGRAM中。完成后,再设置数据在1602上的显示地址,根据图1的结构,设置好位置,如在第一行第一个字符和第二个字符以及第二行第一个字符和第二个字符处显示:Command_out(0x80+0x00)。for

4、(i=0。i<4。i++){data_out(i)。}Command_out(0x80+0x40)。for(i=4。i<8。i++){data_out(i)。}command_out()的作用是设置显示的起始地址,data_out()的作用是将hanzi[]数组中的16进制数据发送出去,每一个16进制数字对应之5*7点阵上的每一行内容。第1行第1个字符需要8个16进制数据,第1行第2个字符处也需要816进制数据。还有第2行的两个字符点阵,这样显示一个汉字需要32个16进制数据。下面列举一个实例(proteus仿真通过)//*************************

5、**************************************************************//硬件连接:1602VDD接5V,VO接地,BL1接5V,BL2接地,8根数据线接P0口,RSRWE分别接P2.0、P2.1、P.4口//***************************************************************************************#include#include#defineBusy0x80//用于检测LCM状态字中的Busy标识

6、#defineLCM_DataP0sbitLCM_RS=P2^0。//寄存器选择sbitLCM_RW=P2^1。//读/写控制sbitLCM_E=P2^4。//读/写使能inti,j。//自定义字符列表//=====================================================================================unsignedcharcharacter0[8]={0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02},//年character1[8]={0x0f,0x09,0x0f,

7、0x09,0x0f,0x09,0x0b,0x11},//月7/7character2[8]={0x0f,0x09,0x09,0x09,0x0f,0x09,0x09,0x0f},//日characterN[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}。//日//==========================================================//======================================================

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。