五、LCD库函数:
在Arduino的安装目录下\libraries\LiquidCrystal可以查看到函数的原型
LiquidCrystal()——定义你的LCD的接口:各个引脚连接的I/O口编号,格式为LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal(rs,rw, enable, d4, d5, d6, d7)
LiquidCrystal(rs,enable, d0, d1, d2, d3, d4, d5, d6, d7)
LiquidCrystal(rs,rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)
begin()——定义LCD的长宽(n列×n行),格式lcd.begin(cols, rows)
clear()——清空LCD,格式lcd.clear()
home()——把光标移回左上角,即从头开始输出,格式lcd.home()
setCursor()——移动光标到特定位置,格式lcd.setCursor(col, row)
write()——在屏幕上显示内容(必须是一个变量,如”Serial.read()”),格式lcd.write(data)
print()——在屏幕上显示内容(字母、字符串,等等),格式lcd.print(data)
lcd.print(data,BASE)
cursor()——显示光标(一条下划线),格式lcd.cursor()
noCursor()——隐藏光标,格式lcd.noCursor()
blink()——闪烁光标,格式lcd.blink()
noBlink()——光标停止闪烁,格式lcd.noBlink()
display()——(在使用noDisplay()函数关闭显示后)打开显示(并恢复原来内容),格式lcd.display()
noDisplay()——关闭显示,但不会丢失原来显示的内容,格式为lcd.noDisplay()
scrollDisplayLeft()——把显示的内容向左滚动一格,格式lcd.scrollDisplayLeft()
scrollDisplayRight()——把显示的内容向右滚动一格,格式为lcd.scrollDisplayRight()
autoscroll()——打开自动滚动,这使每个新的字符出现后,原有的字符都移动一格:如果字符一开始从左到右(默认),那么就往左移动一格,否则就向右移动,格式lcd.autoscroll()
noAutoscroll()——关闭自动滚动,格式lcd.noAutoscroll()
leftToRight()——从左往右显示,也就是说显示的字符会从左往右排列(默认),但屏幕上已经有的字符不受影响,格式lcd.leftToRight()
rightToLeft()——从右往左显示,格式lcd.rightToLeft()
createChar()——自造字符,最多5×8像素,编号0-7,字符的每个像素显示与否由数组里的数(0-不显示,1-显示)决定,格式lcd.createChar(num, data),有点难理解,可以看一个例子
参考源程序如下:
#include<LiquidCrystal.h> //申明1602液晶的函数库
//申明1602液晶的引脚所连接的Arduino数字端口,8线或4线数据模式,任选其一
LiquidCrystallcd(12,11,10,9,8,7,6,5,4,3,2); //8数据口模式连线声明
//LiquidCrystallcd(12,11,10,5,4,3,2); //4数据口模式连线声明
int i;
void setup()
{
lcd.begin(16,2); //初始化1602液晶工作 模式
//定义1602液晶显示范围为2行16列字符
while(1)
{
lcd.home(); //把光标移回左上角,即从头开始输出
lcd.print("Hello World"); //显示
lcd.setCursor(0,1); //把光标定位在第1行,第0列
lcd.print("Welcometo BST-Arduino"); //显示
delay(500);
for(i=0;i<3;i++)
{
lcd.noDisplay();
delay(500);
lcd.display();
delay(500);
}
for(i=0;i<24;i++)
{
lcd.scrollDisplayLeft();
delay(500);
}
lcd.clear();
lcd.setCursor(0,0); //把光标移回左上角,即从头开始输出
lcd.print("Hi,"); //显示
lcd.setCursor(0,1); //把光标定位在第1行,第0列
lcd.print("Arduino is fun"); //显示
delay(2000);
}
}
void loop()
{}//初始化已完成显示,主循环无动作