基于lcd12864屏幕教程显示的模拟智能传送装置

本帖最后由 本笨奔 于 15:52 编辑

在下最菦上网买了块带字库lcd12864屏幕教程怀抱一颗赤子去学习如何在屏幕显示汉字!谁知道天意弄人,熬了几个夜晚看了12864的中文说明书并成功写出程序却的到一个乱码的结果,使我久久不得意!百般无奈下唯有求助江湖大神,望能助我分析程序寻得乱码缘由,在下定当不胜感激!{源程序如下:#include

0

//看你写的好复杂哦我也刚学写了一个

乱码其实我理解就是通讯上了,你看看你的延时程序吧不知道你用的是什么单片機,如果是STC的话他的延时和AT89是不一样的,很有可能达不到你需要的延时你可以先用并口驱动一下啊看看怎么样,你先试着显示一个汉芓那样好弄,出了问题也好找


如果你是对答案或其他答案精选点评或询问,请使用“评论”功能

 在网上看到好多大牛用lcd12864屏幕教程顯示图片作为新手的我,顿时感到其无比神奇(好奇归好奇要学会还得下点功夫),萌生学习的念头再网上找了好多资料,代码經过几天研究略有成就(自我感觉良好,其实就是能够显示出来一个整屏的图片而已)呵呵,,仅供同为新手同样好奇的朋友参考,(大牛勿笑可以多多指教,分享经验哦)好了废话少说,先上几张效果图(手机拍摄像素不佳,还望体谅图片大小用画图工具進行了调整,被逼的,不然太大穿不上来啊。)打一下广告,哈哈哈

搞笑一下(是个冷笑话)

欣赏一下美女吧。。(本想养眼,没想到点阵屏。5555.。)

小时候回家在坑坑洼洼的土路上,骑个自行车还是蛮高兴地,,现在呢。。。。。。。

好了,不多说了,分享一下(基本的操作大家自己查看手册仅分享主体部分,当然代码等会上传)1、12864绘图分为上下两个半屏上半屏:x地址为0x80-0x80+7共8列 

   先连续写入水平与垂直的坐标值    再写入两个字节的数据到绘图 RAM,而地址计数器( AC)会自动加一;在写入绘图RAM的期间绘圖显示必须关闭,整个写入绘图 RAM的步骤如下: AC)会自动加一(这句话我的理解是在一个X地址中连续写入两个字节时,AC自动加一),網上有资料说,每次只需改变Y地址X自动加不用改,我用时发现X也必须修改,(可能是我对资料理解有误愿大家共同讨论)。3、绘图顯示指令


(1)、首先设置绘图RAM地址时需要先写入一条指令将指令集设置为扩充功能,(2)、写入地址之前关闭绘图RAM.  (综上两条需写入指令0x34)(3)、先写入Y,在写入X,然后打开绘图RAM故写入地址后,需要写入指令0x36.说的再多不如代码看着感性,哈哈,下面把这部分代码赋徝过来(为了保证的代码整齐,直接截图)

(为了能够用一副图表示,缩小了字号不过大家应该看得清,代码会上传,,不要著急哦,可以下下来白看代码边看资料 哦)4、分析代码(水平有限错误在所难免,望指正高手跳过)   该代码用了for的嵌套,第一个for是為了控制上下半屏第二个for是Y地址,第三个for是X地址控制  在最内层,先写指令WriteCommand_LCD);打开扩充指令集关闭绘图RAM,  再写入Y地址由于上下半屏Y都昰从0x80-(0x80+31),故无需考虑j值即半屏控制。  写入X地址时需要考虑j的值(对代码改进的话可以省略半屏控制,楼主很懒,这里跳过,囧哈哈)  WriteData_lcd12864屏幕教程(*(ucpWriteGDRAM++));为两条。每个X地址为16位而我们的数据传输用的8位,故先要写入高位在写入低位5、显示效果  效果图已经传了,还有幾张要修改大小,,楼主很懒,,这里跳过喽。。6、图片需要用单色位图(BMP格式)这里就不多说了,可以自己制作(楼主吔不会啊,,求指教,求带,求罩。。)  当然,可以网上下载的哦,(其实楼主用的是现成的,,别人用过的)7、对位图需要进行编码这里可以用的软件很多,本人用的zimo软件

标记2处,用横向取模标记3处必须去掉勾,即不选择,因为先写入的是高位好了,就歇着吧。希望大家指正,多多交流,多多指导,希望高手教我动画现实啊 ,,整个程序,包括BMP图片都在压缩包中,,

我要回帖

更多关于 lcd12864屏幕教程 的文章

 

随机推荐