【基于STM32】Stduino拓展学习(三)LCD12864
本文转载自:http://www.stduino.com/forum.php?mod=viewthread&tid=65&extra=page%3D1=
关键词:
51;stm32;arduino;stduino单片机;stduino UNO&Nano;LCD1602
说明:
带中文字库的LCD128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块。其显示分辨率为128×64,内置8192个1616点汉字,和128个168点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字。
LCD12864有多种接线方式,依据数据传输的方式可以分为8位并口、4位并口以及串口接线三种方式。串口接线只需要接一根数据线,节约了端口,因此,我们采用串口接线的方式。
实验目的:
在本例中,我们将利用LCD12864模块输出特定字符,以及让LCD显示图片。
器材:
Stduino UNO/Nano;杜邦线;LCD12864
电路连接:
示例一:输出特定字符代码
#include <LCD12864.h>
Lcd12864 lcd12864;
void setup()
{
// put your setup code here, to run once:
lcd12864.initial(A2,A1,A0,9);// EN,RW,RS,PSB
lcd12864.clean();//清屏
delay(20);
}
void loop()
{
// put your main code here, to run repeatedly:
lcd12864.clean();//清屏
lcd12864.ShowString(0,2,"思特诺");//从第0行第2列开始 输出"思特诺"内容
lcd12864.ShowString(1,2,"Stduino");//从第1行第2列开始 输出"Stduino"内容
lcd12864.ShowString(3,1,"创建时间: 年");//从第3行第1列开始输出"创建时间: 年"内容
lcd12864.ShowInt(3,6,2020);//从第3行第6列开始 输出2020内容
lcd12864.ShowDouble(2,1,123.43);//从第2行第1列开始 输出123.43内容
delay(1000);//延时1000ms
}
示例二:显示128×64像素大小的图画
首先我们需要利用Krita或者其他绘图软件制作一幅128×64大小的黑白bmp格式的图片。接下来,将其导入到取字模软件,获得Stduino IDE可识别的每一像素点的信息。随后利用DrawFullScreen()方法,将像素点的信息传递给LCD上的每一位地址,即可绘制全屏的像素图。
第一步:在Krita中新建128×64大小的文档,并绘制像素图,保存为BMP文件:
因为今年有千年一遇的新智彗星访问地球,因此画了一幅彗星的图片,嘿嘿,算作补上没有看到的遗憾吧。
第二步,利用取字模软件,将BMP图转化为像素信息:
参数确认:选择C语言以及输出大小(128×64),点击参数确认;
第三步:编写代码。
把前面的数据复制到一个无符号字符数组中,再利用DrawFullScreen()方法处理即可。
代码如下:
#include <LCD12864.h>
Lcd12864 lcd12864;
unsigned char newWise[]={
//你的图片的数据
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x19,0x87,0xBC,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,