您的位置 首页 被动

12864液晶深化学习笔记_2——根据msp430g2553

7,下面的代码是控制液晶全屏显示图片,代码如下:程序功能:在12864液晶上显示两幅图片,一个为阴码图片,一个为阳码图片*本程序我已经

7,下面的代码是操控液晶全屏显现图片,代码如下:

//程序功用:在12864液晶上显现两幅图片,一个为阴码图片,一个为阳码图片

//*本程序我现已试过,调通,能够运用液晶是有两根线WREN串行操控的

//*这儿是液晶的串行衔接操控,能够大大节约单片机的IO口,可是数据处理起来要比并行衔接的要慢,所以假如要求显现内容数据较大,

//*对显现的实时性要求较高的话(比方接连显现多幅图画,演示动画等),应该考虑并行衔接。假如单片机的IO口不行,或对显现内容的容

//*量和实时性要求不高的话,能够考虑用串行衔接的办法

//有或许是由于msp430g2553的处理才能较强,我现在用串行衔接办法,显现下面的几幅图画,显现作用很好,看不出有什么数据传输速度慢的问题

//msp430g2553有16K的flash512B的RAM所以能够寄存的下几张图片的数据的

#include“msp430g2553.h”

#include“ser_12864.h”

#include“qq.h”//要显现图片的数据信息

voidmain(void)

{

WDTCTL=WDTPW+WDTHOLD;//关狗

BCSCTL1=CALBC1_12MHZ;//设定cpu时钟DCO频率为12MHz

DCOCTL=CALDCO_12MHZ;

P2DIR|=BIT5+BIT4;//液晶的两条线

init_lcd();//初始化液晶

Clear_GDRAM();//铲除GDRAM中的随机数据

//Draw_PM(qq1);

for(;;)

{

//wr_lcd(comm,0x34);//翻开扩展功用方式,绘图显现封闭

////反白指令

//wr_lcd(comm,0x04);//一起反白1、3行

//wr_lcd(comm,0x05);//一起反白2、4行

//wr_lcd(comm,0x36);

//

//delay_ms(1000);

//

//wr_lcd(comm,0x34);

//wr_lcd(comm,0x04);//再次反白1、3行,适当于封闭1、3行反白

//wr_lcd(comm,0x05);//再次反白2、4行,适当于封闭2、4行反白

//wr_lcd(comm,0x36);

//delay_ms(1000);

Draw_PM(qq1);//显现图画显现阴码格局的图形

delay_ms(1000);//推迟调查液晶屏幕显现

Draw_PM(qq2);//显现阳码格局的图形

delay_ms(1000);

Draw_PM(zhu);

delay_ms(1000);//显现心爱猪的图片

Draw_PM(zifu);//显现汉字的图片

delay_ms(1000);

Draw_PM(monkey1);//显现山公的阴码图片

delay_ms(1000);

Draw_PM(monkey2);//显现山公的阳码图片

delay_ms(1000);

Draw_PM(QQ);//显现Q哥Q妹形象

delay_ms(1000);

Draw_PM(zhangbin);//显现我自己制造的字符图片

delay_ms(1000);

Draw_PM(dianxin0903xiaolian1);//显现我自己制造的字符图片阴码图片

delay_ms(1000);

Draw_PM(dianxin0903xiaolian2);//显现我自己制造的字符图片阳码图片

delay_ms(1000);

}

}

//本程序的功用完成了,是阴码格局的图形和阳码格局的图形替换循环显现

//我本想是用反白的办法完成这种作用的,可是没有成功,估量是由于反白不能一起整屏反白的原因吧

8,好了,上面的代码是msp430g2553串行操控液晶的,是能够直接用的。把上面的代码看理解,液晶的基本功用应该就把握了,下面就在贴出一些常用的显现函数,这些函数都是我常常用的,很不错:

////

{

ucharpos=0;//初始化

ucharcnt=0;//传递过来的是指针,cnt为偏移量,然后一个字符一个字符的写入。

switch(y0)

{

case0:pos=0x80+x;break;

case1:pos=0x90+x;break;

case2:pos=0x88+x;break;

case3:pos=0x98+x;break;

default:break;

}

wr_lcd(comm,pos);//写地址

while(*(p+cnt)!=)

{

wr_lcd(dat,*(p+cnt));//写数据

cnt++;

};

}

//*******************************************************************************************

voidwr_int(ucharx,uchary0,uintNUM)//**********************************************整型数据显现

{

uchara_SHOW[5];

a_SHOW[0]=(NUM/1000)+0;//qian//只能显现数据的最终4位

a_SHOW[1]=(NUM/100)+0;//bai

a_SHOW[2]=(NUM/10)+0;//shi

a_SHOW[3]=NUM+0;//ge

a_SHOW[4]=;//加上字符串的计数标志

wr_string(x,y0,a_SHOW);

}

//*******************************************************************************************

voidwr_float(ucharx,uchary0,floatNUM)//********************************8浮点型数据显现

{

uchara_SHOW[7];

longintt;

t=NUM*1000;//先乘以1000,再按整数办法显现,方式只能为xx.xxx,所以精度只能到小数点后三位

a_SHOW[0]=(t/10000)+0;//shi

a_SHOW[1]=(t/1000)+0;//ge

a_SHOW[2]=.;//

a_SHOW[3]=(t/100)+0;//shifen

a_SHOW[4]=(t/10)+0;//baifen

a_SHOW[5]=t+0;//qianfen

a_SHOW[6]=;

wr_string(x,y0,a_SHOW);

}

好了关于液晶方面就介绍到这儿吧,介绍的比较粗糙。假如要更具体的介绍的话,能够参阅液晶的手册。不过假如把上面的程序都看懂,弄理解的话,对液晶的一般运用应该是没问题的。

下面就介绍一下液晶显现图片所用到的取模软件的运用。

二,液晶取模软件的运用

要运用液晶显现图片,或字符型的图片,那么这幅图片的数据信息肯定是要的,并且这些数据往往都很巨大。那么如何来发生这些巨大的数据,靠咱们手艺编写,那个太不实际了。着就需要取模软件的协助了。我用到的这款软件是PCtoLCD2002,作者是陈新汀,感谢作者供给了这么好用的一款软件。

这款软件功用强大,运用方便,下面我就我常常用到的一些功用介绍一下吧,更具体的介绍能够参阅其他的材料。

下面的设置对应的为12864液晶的ST7920操控器,

一),用PCtoLCD2002液晶取模软件对图片取模,注意事项及常用设置如下:

1,PCtoLCD2002取模只支撑.bmp格局的图画

2,用12864显现图片时,取模用的图片像素巨细不要超越128*64,假如超越会呈现一些问题。能够比它小

3,还能够调整像素方位,上下左右移动要显现图片的方位,也能够上下左右翻转,镜像等。

4,也能够针对每一个像素点进行修改操作,对某一个像素点单击左键,显现。单击右键,撤销显现,假如一向按住左键,就能够进行画图等操作了。

5,也能够只正对有像素点的图片规模进行取模,其他边上的空白不取模,这有能够削减数据量,节约存储容量。

6,也能够在PCtoLCD2002新建一个图片,然后设置像素的巨细,然后就能够直接在上面进行绘图了,相同也是点击左键显现,点击右键撤销显现。就好像是直接针对液晶屏进行绘图相同,然后能够保存。

7,假如在方式中挑选为字符方式,就能够直接在该软件中输入要显现的字符,直接制造成字符图片。还能够更改字体,巨细等字符特点。

8,12864液晶显现默许是逐行的,所以在取模时,一般挑选逐行取模

9,由于在单片机向液晶传输数据时是高位在前,所以在取模时设置为顺向(高位在前)

10,输出数制选为16进制数

11,自定义格局选为C51格局,由于咱们是用C言语进行编程的。假如是用汇编编程,挑选A51格局

12,由于生成的数据最终要放在一个数组中,所以要去掉行前缀大括号,行后缀仅保存一个逗号。不然的话生成的数据的每一行的前面和后边都会有一对大括号。

二),假如想自己制造文字的图片,然后取模让液晶显现,除了直接在PCtoLCD2002中的字符方式中进行制造外,还能够运用windows自带的画图附件,运用设置办法如下:

1,在图画的特点选项中设置图画的分辨率:宽度为128,高度为64,其他的为默许值即可。点击确认。

2,然后能够向设置好的图纸上增加字符(点击左面工具栏上的A,增加字符),写入汉字,能够调理字符的巨细字体等特点。好了之后,保存

3,由于PCtoLCD2002取模只支撑.bmp格局的图画,所以保存时要保存成.bmp格局。(一般保存成24位图.bmp格局)

4,然后就能够依照对图片取模的办法,对刚刚制造保存的字符图片进行取模了。

依照上面的办法,应该就能够自己制造图片和字符图片的数据了。

好了,上面,对12864进行了比较全面可是适当粗糙的介绍,更全面具体的用法请参阅数据手册。在运用液晶或许其他任何一款单片机或芯片时,最具体,最威望的材料永远都是它对应的数据手册。

全部其他的材料,不管多么的具体,丰厚都是以手册为根底的,所以我们在运用是必定不必依靠这种材料,只能作为一种参阅。遇到问题,自己多看手册,多考虑,才能把常识转化为自己的。

运用12864实时显现曲线图,演示动画我还没有做,做好了再补上来。其实把前面的把握了,应该不难的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/256244.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部