Arduino教程12864绘图功能库的使用(并口通信,仅适用ST7920)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

12864液晶除了显示字符、汉字之外,还有绘图的功能,接下来将介绍一下如何使用12864的绘图功能库,进行绘图操作。首先来看一下12864液晶的坐标关系:通过坐标关系图,我们可以看到,12864液晶将屏幕分成了上下两块,所以显示的时候,是分两部分显示的。至于具体的地址位,功能库的作者已经转换成比较容易理解的方式,就是我们最常见的坐标(X,Y),X的取值范围是(0,127),Y的取值范围是(128,160)。接着是连线,由于是并口通信,所以占用比较多的端口,找时间把它改成串口的,或者哪位大牛有空就顺便改了吧,上图:我们来看看如何使用这个库,上代码:ARDUINO代码#includeLCD12864.h#includeLCDSprite.h//这是一个图片voidsetup(){LCDA.Initialise();//初始化12864液晶delay(100);LCDA.Render();//打开绘图显示delay(100);}voidloop(){LCDA.DumpScreenBuffer();//清屏,这个函数包含一个16x32的二维数组,功能就是把数组内的数据全部置0//LCDA.DumpScreenBuffer(0,0,1,32);//(a0,b0,a1,b1)设置数组的地址位,也就是说,可以只对一部分进行置0LCDA.DrawPixel(0,128);//(0=x=128,128=y=160)画点,在一个半屏内的取值范围LCDA.DrawBrLine(0,148,20,148);//(x0,y0,x1,y1)画线,不仅可以画垂直、水平的线,也可以画斜线,用的是Bresenham算法,有兴趣的可以自己研究一下LCDA.DrawCircle(40,144,15);//(x,y,r)画圆,设定起始位置,和半径,如果半径超过一个半屏的大小就不能正常显示了,可以自己体验LCDA.DrawRectangle(60,128,20,31);//(x,y,width,height)画空心矩形,设置好起始位置,还有长宽大小LCDA.FillRectangle(100,128,20,32);//(x,y,width,height)画实心矩形,也可以认为是填充矩形,设置好起始位置,长宽大小//LCDA.DrawSprite(2,1);//这是一个例图,可以自己试试,需要配合sprite.HLCDA.RenderScreenBuffer(1);//显示,括号内的值为1,则在上半屏显示,值为2,则在下半屏显示(根据库文件的内容,只有值为2的时候,在下半屏显示,其他什么值都是显示的上半屏)//LCDA.RenderScreenBuffer(0,0,1,32);//这个是和DumpScreenBuffer(0,0,1,32)配合使用的,也就是说,开始设定了多大的范围,最后显示多大的范围LCDA.Duplicate(true);//复制,可以把上半屏的内容复制到下半屏,括号里的值是一个bool型,所以初始为falseLCDA.RenderScreenBuffer(2);//在下半屏显示while(1);//如果不加这个while(1)停止loop的循环,两个半屏同时显示的时候,上半屏会不停的刷新}需要用到的库文件:LCD12864_DRAW.zip(8.33KB,下载次数:397)祝大家玩得愉快,有什么问题相互交流哈。

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功