本文节选自:http://www.yfrobot.com/forum.php?mod=viewthread&tid=2255&extra=page%3D1
基本连接图
1602液晶与Arduino连接的电路图
1602液晶与Arduino连接的接线图
程序代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<span style="color: #7E7E7E;">// include the library code:</span> #include <<span style="color: #CC6600;">LiquidCrystal</span>.h> <span style="color: #7E7E7E;">// initialize the library with the numbers of the interface pins</span> <span style="color: #CC6600;">LiquidCrystal</span> lcd(12, 11, 5, 4, 3, 2); <span style="color: #CC6600;">void</span> <span style="color: #CC6600;"><b>setup</b></span>() { <span style="color: #7E7E7E;">// set up the LCD's number of columns and rows: </span> lcd.<span style="color: #CC6600;">begin</span>(16, 2); <span style="color: #7E7E7E;">// Print a message to the LCD.</span> lcd.<span style="color: #CC6600;">print</span>(<span style="color: #006699;">"TAHO LOVE DANER"</span>); } <span style="color: #CC6600;">void</span> <span style="color: #CC6600;"><b>loop</b></span>() { <span style="color: #7E7E7E;">// set the cursor to column 0, line 1</span> <span style="color: #7E7E7E;">// (note: line 1 is the second row, since counting begins with 0):</span> lcd.<span style="color: #CC6600;">setCursor</span>(0, 1); lcd.<span style="color: #CC6600;">print</span>(<span style="color: #006699;">"taholab.com"</span>); } |
官方库函数的使用
1、LiquidCrystal() :创建一个LiquidCrystal类型的变量
语法
4线连接(d0~d3悬空):
LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)
8线连接:
LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)
LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)
参数
rs: rs连接的Arduino的引脚编号
rw: rw连接的Arduino的引脚编号 (可选,当rw直接连接地时可省略)
enable:enable连接的Arduino的引脚编号
d0, d1, d2, d3, d4, d5, d6, d7: 连接的Arduino的引脚编号
2、begin() : 指定尺寸(宽度和高度)的显示
语法
lcd.begin(cols, rows)
参数
lcd: 一个LiquidCrystal类型的变量
cols: 显示器可以显示的列数(1602是16列)
rows: 显示器可以显示的行数(1602是2行)
3、clear() :清除LCD屏幕内容并将光标置位于左上角(起始位)
语法
lcd.clear()
参数
lcd: 一个LiquidCrystal类型的变量
4、home() :将光标置位于左上角(如还需清除屏幕内容请用clear()代替)
语法
lcd.home()
参数
lcd: 一个LiquidCrystal类型的变量
5、setCursor() :设定光标的位置,后文将从此处开始显示
语法lcd.setCursor(col, row)
参数
lcd: 一个LiquidCrystal类型的变量
col: 设定光标显示的列数 (从0开始计数)
row:设定光标显示的行数 (从0开始计数)
6、write() :向LCD写一个字符
语法
lcd.write(data)
参数
lcd: 一个LiquidCrystal类型的变量
data: 写入的字符
返回值
byte
write()将返回写入的字节数,尽管读这个数字是可选的 ps:很少用哦~~
7、print() :将内容显示在LCD上
语法
lcd.print(data)
lcd.print(data, BASE)
参数
lcd: 一个LiquidCrystal类型的变量
data: 要显示的内容 (可以是char, byte, int, long, or string类型)
BASE (可选):数据以何种数制显示(BIN 为二进制, DEC 为十进制, OCT 为八进制, HEX 为十六进制)
返回值
byte
print() 将返回已显示的字节数,尽管读这个数字是可选的
8、cursor() :显示光标(光标所在的位置, 就是下一个字符将会被显示的位置)
noCursor():隐藏光标
语法
lcd.cursor()
lcd.noCursor()
参数
lcd: 一个LiquidCrystal类型的变量
例子
官方例程(关于cursor And noCursor)
9、blink() :显示闪烁的光标(如果和cursor()一起使用,最终结果将取决于您使用的LCD屏幕)
noBlink() :关闭闪烁的光标
语法
lcd.blink()
lcd.noBlink()
参数
lcd: 一个LiquidCrystal类型的变量
例子
10、display() :打开液晶显示器(在调用noDisplay()关闭显示器之后,使用本函数可以恢复显示)
noDisplay() :关闭液晶显示器(原显示内容不会丢失,调用display()函数即可恢复显示)
语法
lcd.display()
lcd.noDisplay()
参数
lcd: 一个LiquidCrystal类型的变量
例子
官方例程(关于 display And noDisplay)
11、scrollDisplayLeft() :使屏幕上显示内容(光标及文字)向左滚动一个字符。
scrollDisplayRight() :使屏幕上显示内容(光标及文字)向右滚动一个字符。
语法
lcd.scrollDisplayLeft()
lcd.scrollDisplayRight()
参数
lcd: 一个LiquidCrystal类型的变量
例子
官方例程(关于scrollDisplay Left or Right)
12、autoscroll() :打开液晶的自动滚动功能
noAutoscroll() :关闭液晶的自动滚动功能
语法
lcd.autoscroll()
lcd.noAutoscroll()
参数
lcd: 一个LiquidCrystal类型的变量
例子
官方例程(关于autoscroll And noAutoscroll)
13、leftToRight() :设置文本从左往右(默认方向)输入液晶,但不影响已显示字符
rightToLeft() :设置文本从右往左(默认方向为从左往右)输入液晶,这意味着后面输入的字符将从右往左显示,但不影响已显示字符
语法
lcd.leftToRight()
lcd.rightToLeft()
参数
lcd: 一个LiquidCrystal类型的变量
例子
官方例程(关于TextDirection leftToRight or rightToLeft)
14、createChar() :为液晶创建一个自定义的字符(可创建8个自定义字符,编号0~7,5*8像素支持),使用write()函数写0~7编号,来显示自定义字符
语法
lcd.createChar(num, data)
参数
lcd: 一个LiquidCrystal类型的变量
num: 创建字符的编号(0 到 7)
data: 字符的像素数据
LCD库使用官方介绍地址: