- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
12864图片动画程序
12864液晶从图像到动画
在开始之前你必须了解12864液晶的原理,我开始看原理的时候也看不懂,不要紧,我理解,但是你必须看,等你写程序的时候你还是要回头看的。
?
12864点阵液晶显示模块(LCM)就是由128*64个液晶显示点组成的一个128列*64行的阵列。每个显示点对应一位二进制数,1表示亮,0表示灭。存储这些点阵信息的RAM称为显示数据存储器。要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。图形或汉字的点阵信息由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。
??????????????????????????????????????? 芯片的结构一定要清楚!
点阵LCD的显示原理??????? 在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。实际上是用字模来显示一个字符的。
?????????????????????????????????????????????? 图1 “A”字模图
而中文的“你”在字模中如图2所示:
?????????????????????????????
图2 .“你”字模图
?
??????????????????????????????????????
?????????????????????
??????????????????
???????? ? 注意:可能这里你就不明白了,我曾经到论坛上问过,为什么上半屏垂直坐标是00——1F,水平坐标水平坐标分别为0X80+(00~07)。画个图也许你会懂得这样就清楚了,其实只有两行生产的时候把本来右边的部分折到下边就形成了128*64,两个64*64液晶屏的组合。
图片显示芯片结构分块与汉字显示不一样
?? ? 图象显示过程是这样的:首先设置垂直地址,再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址,然后在每个地址里写入16位数据)。
????????? 绘图RAM 的地址计数器(AC)只会对水平地址(X 轴)自动加一,当水平地址=0FH 时会重新设为00H ????????? 但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定。GDRAM的坐标地址与资料排列顺序如图5:分上下屏写入。
/*================================================================
函数功能:向12864中写入一幅图片
函数参数:lcd_x为水平显示位置,lcd_y为垂直显示位置,
函数将12864屏分成上下两屏写入,上半屏LCD_x=0x80,下半屏lcd_x=0x88
=================================================================*/
void write_image(uchar *p)
{
uchar i,j,k;
lcd_x=0x80;
lcd_y=0x80;
for(i=0;i2;i++) //分为上下两屏
{
for(j=0;j32;j++)
{
write_lcd_cmd(lcd_y+j);
write_lcd_cmd(lcd_x);
for(k=0;k16;k++) //写入显示数据
{
write_lcd_date(*p++);
}
}
lcd_x=0x88;
}
}
这里就到了写入图像函数的精华,了解这一步了,就成功了一大半,
????????????????????????????????????????????????????????????????????? 图5:垂直坐标:上半屏00~1F,总共为32?;水平坐标:上半屏水平标分别为0X80+(00~07);下半屏00~1F,??下半屏水平坐标分别为0X88+(00~07)??。????????????????
??????????
/*汉字显示相
您可能关注的文档
最近下载
- 宣城市畜禽规模养殖场粪污资源化利用技术指导手册.doc VIP
- 部编版语文五年级上册第七单元大单元作业设计1.docx VIP
- 词汇表--阿尔及利亚高速公路法语词分析.doc
- 全新版大学英语综合教程第三册Unit 3PPT.ppt VIP
- 《神经根型颈椎病》课件 .ppt VIP
- 道路交通信息显示设备设置规范(GAT 993-2021).pdf VIP
- 蒸发水量3000Kgh三效降膜并流蒸发系统设计.doc
- 【专项复习】小升初英语课件-核心考点+题型专项突破:专题 02 语音(48个音标)全国通用版.pptx VIP
- 封闭式母线安装施工图集.pdf VIP
- 营销部门2025客户画像分析与精准投放策略复盘PPT方案.pptx VIP
文档评论(0)