icesongjie的成长旅途 https://bbs.21ic.com/?543774 [收藏] [复制] [RSS]

日志

51驱动ILI9320

已有 2944 次阅读2010-1-14 22:22 |个人分类:51驱动触摸屏|系统分类:单片机

今天对液晶屏的摸索有了进展。翻译了一部分控制器的资料,因为我的英语能力有限,基本靠在线翻译。不过还是有所收获的。目录全翻完了,挑了一部分看了下参考的程序流程和时序,折腾了一段代码,然后消化了部分网上下载的程序。虽然不全懂,总算是开始干活了,就是让他显示字的时候有点乱78糟的。一开始是因为一个数学问题。设定了一个起始的坐标,然后在设定结束坐标的时候没有-1 。结果凭空多了33个点。试验是先吧屏幕刷成白色,没有问题,然后从(3,3)的坐标开始显示一个16*16的绿色矩阵,函数是这么写的


void Display_Matrix(start_x,start_y,long_x,long_y,display_color)


{


    unsigned int i;


     write_command(0x0050,start_x);


    write_command(0x0051,start_y);


    write_command(0x0052,start_x+long_x);


    write_command(0x0053,start_y+long_y);


    for(i=0;i<(long_x*ong_y);i++)write_command(0x0022,display_color);


 }


猛一看是个方的,然后在把这个矩阵刷成兰的,结果问题出现了,中间夹了一段绿色~急得我差点就去找放大镜数点数了,还好,猛的想通了,start_x+long_x-1和start_y+long_y-1就OK了。


还有就是显示方向的问题,用户手册说明书上写错了,就是那AM和DI[1:0]的用法,和说明书上完全不是一个反向,害得我调试了半天,有点郁闷。


这个算是我写的第一篇关于技术方面的日志吧,希望着并不是最后一篇。暂时就定以为“51驱动ili液晶驱动器”吧。本来想用ARM或者DSP驱动的,无奈本人不会,还是先用51把整个流程摸熟在去移植吧,反正控制流程是一样的,明天吧显示文字的程序调好。调好了在写下一篇日志吧。


希望已经研究透彻的大侠嫩给点指导,真正研究的同人能一起探讨,准备研究的后来人一点参考。


 


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (2 个评论)

回复 icesongjie 2010-1-15 14:39
void Display_Matrix(start_x,start_y,long_x,long_y,display_color) 这个定义有问题,不知道为什么昨天编译能过,而且显示也没有错,奇怪。 今天在编译了一下,不对了。 应是void Display_Matrix(u16 start_x,u16 start_y,u16 long_x,u16 long_y,u16 display_color)
回复 icesongjie 2011-2-24 12:45
愿望是美好的~如果不在继续写的话,估计是真的要成为最后一篇了。