微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 12864液晶显示串行程序(英飞凌xc824)

12864液晶显示串行程序(英飞凌xc824)

时间:11-30 来源:互联网 点击:


利用这张图,结合两个子程序,很容易看出,我在投机取巧,呵呵。

显示数字的子程序是显示汉字子程序的翻版,也就是说,一个汉字等于两个数字。


我还有个想法,正在酝酿,设计一个子程序,输入横,竖,数字(浮点型的,比如12.345)让这个子程序可以自动判断小数点的位置,然后进行相应的显示。

大家有什么好思路和方法,不妨谈谈。

最后,抛砖引玉,这款液晶还能显示图片,但是刷新速度实在不敢恭维。而且占用内存也不小。这里就来个左半屏幕显示图形的程序,如果有兴趣可以改一改,做一个右半屏幕的,或者上半屏幕,下半屏幕的,当然了,单片机内存足够大,就来全屏的。取模用相应的软件,相信大家都知道的,网上很多也很好找。

//-------------左半屏显示图形--------------
void img_displeft (unsigned char code *img) // 注意0---31,0---31上下分半
{
unsigned char i,j,m,n;
unsigned int a=0;
for(j=0;j<32;j++)
{
for(i=0;i<4;i++)
{
send_command(0x34);//扩展指令,显示绘图
send_command(0x80+j);//更新坐标
send_command(0x80+i);
send_command(0x30);//基本指令集
send_data(img[j*8+i*2]); //高字节
send_data(img[j*8+i*2+1]); //低字节
}
}
for(n=0;n<32;n++)
{
for(m=0;m<4;m++)
{
send_command(0x34);//扩展指令,显示绘图
send_command(0x80+n);//更新坐标
send_command(0x88+m);
send_command(0x30);//基本指令集
send_data(img[n*8+256+m*2]); //高字节
send_data(img[n*8+256+m*2+1]); //低字节
}
}
send_command(0x36); //扩充功能指令,开绘图开关。
}


至此,我的这次尝试算是简单收尾,还有不足和需要改进的地方,希望各位同仁能提出宝贵意见和思路方法。以便进一步完善。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top