只需一步,快速开始
签到天数: 867 天
[LV.10]以坛为家III
本次实验我们要用arduino驱动1602显示。
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它 2x16个5x7点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 1602实物图(正反面): 登录/注册后可看大图 1602正面2.jpg (71.15 KB, 下载次数: 158) 下载附件 2013-6-28 20:42 上传 登录/注册后可看大图 1602背面.jpg (115.52 KB, 下载次数: 149) 下载附件 2013-6-28 20:43 上传 下面我们介绍下LCD1602的管脚功能(共有16个引脚,如下图): 登录/注册后可看大图 LCD1602引脚图.jpg (33.52 KB, 下载次数: 151) 下载附件 2013-6-21 19:04 上传 1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,写操作时,下降沿使能;读操作时,E高电平有效。第7~14脚:D0~D7为8位双向数据端;其中D7为最高位,也是busy flag(忙碌标志位);D0为最低位。第15脚:A(或BLA)背光电源正极第16脚:K(或BLK)背光电源负极 寄存器选择控制表 登录/注册后可看大图 1602时序表.jpg (46.86 KB, 下载次数: 130) 下载附件 2013-6-21 20:05 上传 注:关于E=高脉冲——开始时初始化E为0,然后置E为1,再清0. busy flag(DB7):在此位为1时,LCD忙,将无法再处理其他的指令要求。 1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm 如果各位还想深入了解1602,请点击下载: 1602资料.zip (959.08 KB, 下载次数: 474) 2013-6-21 20:45 上传 点击文件名下载附件 本次实验我们还要使用到一个10K电位器(用来调节对比度的),和一个220欧限流电阻; 下面我们看下1602与Arduino的连接示意图与实物图(4位接法): 登录/注册后可看大图 LCD1602.jpg (70.67 KB, 下载次数: 160) 下载附件 2013-8-15 20:43 上传 下图为原理图: 登录/注册后可看大图 1602连接原理图2.jpg (67.04 KB, 下载次数: 143) 下载附件 2013-6-24 20:29 上传 下面我们看下官方的hello, world!程序:// include the library code: #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000); }复制代码官方的例子使用了自带的库文件,它使得1602的使用更加简便!将例程写入arduino,将看到如图效果: 登录/注册后可看大图 1602演示.jpg (86.19 KB, 下载次数: 142) 下载附件 2013-6-28 20:42 上传 下面我们来介绍下官方库的使用: 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: 写入的字符 返回值bytewrite()将返回写入的字节数,尽管读这个数字是可选的 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 为十六进制) 返回值byteprint() 将返回已显示的字节数,尽管读这个数字是可选的 8、cursor() :显示光标(光标所在的位置, 就是下一个字符将会被显示的位置) noCursor():隐藏光标 语法lcd.cursor()lcd.noCursor() 参数lcd: 一个LiquidCrystal类型的变量 例子官方例程(关于cursor And noCursor) 9、blink() :显示闪烁的光标(如果和cursor()一起使用,最终结果将取决于您使用的LCD屏幕) noBlink() :关闭闪烁的光标 语法lcd.blink()lcd.noBlink() 参数lcd: 一个LiquidCrystal类型的变量 例子官方例程(关于blink And noBlink) 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*7像素支持),使用write()函数写0~7编号,来显示自定义字符 语法lcd.createChar(num, data) 参数lcd: 一个LiquidCrystal类型的变量num: 创建字符的编号(0 到 7)data: 字符的像素数据 例子 CustomCharacter.zip (1.4 KB, 下载次数: 1169) 2013-6-26 20:57 上传 点击文件名下载附件 自定义字符例程 效果图: 登录/注册后可看大图 1602演示2.jpg (86.66 KB, 下载次数: 135) 下载附件 2013-6-28 20:43 上传 LCD库使用官方介绍地址:http://arduino.cc/en/Reference/LiquidCrystal IIC1602模块,连接方法更加方便,只要4根导线就可以驱动1602了,帖子地址: Arduino驱动IIC/I2C LCD1602模块显示(4根线解决连接) -YFROBOT
1602正面2.jpg (71.15 KB, 下载次数: 158)
下载附件
2013-6-28 20:42 上传
1602背面.jpg (115.52 KB, 下载次数: 149)
2013-6-28 20:43 上传
LCD1602引脚图.jpg (33.52 KB, 下载次数: 151)
2013-6-21 19:04 上传
第1脚:VSS为电源地
第2脚:VCC接5V电源正极
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。
第6脚:E(或EN)端为使能(enable)端,写操作时,下降沿使能;读操作时,E高电平有效。
第7~14脚:D0~D7为8位双向数据端;其中D7为最高位,也是busy flag(忙碌标志位);D0为最低位。
第15脚:A(或BLA)背光电源正极
第16脚:K(或BLK)背光电源负极 寄存器选择控制表 登录/注册后可看大图 1602时序表.jpg (46.86 KB, 下载次数: 130) 下载附件 2013-6-21 20:05 上传 注:关于E=高脉冲——开始时初始化E为0,然后置E为1,再清0. busy flag(DB7):在此位为1时,LCD忙,将无法再处理其他的指令要求。 1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm 如果各位还想深入了解1602,请点击下载: 1602资料.zip (959.08 KB, 下载次数: 474) 2013-6-21 20:45 上传 点击文件名下载附件 本次实验我们还要使用到一个10K电位器(用来调节对比度的),和一个220欧限流电阻; 下面我们看下1602与Arduino的连接示意图与实物图(4位接法): 登录/注册后可看大图 LCD1602.jpg (70.67 KB, 下载次数: 160) 下载附件 2013-8-15 20:43 上传 下图为原理图: 登录/注册后可看大图 1602连接原理图2.jpg (67.04 KB, 下载次数: 143) 下载附件 2013-6-24 20:29 上传 下面我们看下官方的hello, world!程序:// include the library code: #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000); }复制代码官方的例子使用了自带的库文件,它使得1602的使用更加简便!将例程写入arduino,将看到如图效果: 登录/注册后可看大图 1602演示.jpg (86.19 KB, 下载次数: 142) 下载附件 2013-6-28 20:42 上传 下面我们来介绍下官方库的使用: 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: 写入的字符 返回值bytewrite()将返回写入的字节数,尽管读这个数字是可选的 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 为十六进制) 返回值byteprint() 将返回已显示的字节数,尽管读这个数字是可选的 8、cursor() :显示光标(光标所在的位置, 就是下一个字符将会被显示的位置) noCursor():隐藏光标 语法lcd.cursor()lcd.noCursor() 参数lcd: 一个LiquidCrystal类型的变量 例子官方例程(关于cursor And noCursor) 9、blink() :显示闪烁的光标(如果和cursor()一起使用,最终结果将取决于您使用的LCD屏幕) noBlink() :关闭闪烁的光标 语法lcd.blink()lcd.noBlink() 参数lcd: 一个LiquidCrystal类型的变量 例子官方例程(关于blink And noBlink) 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*7像素支持),使用write()函数写0~7编号,来显示自定义字符 语法lcd.createChar(num, data) 参数lcd: 一个LiquidCrystal类型的变量num: 创建字符的编号(0 到 7)data: 字符的像素数据 例子 CustomCharacter.zip (1.4 KB, 下载次数: 1169) 2013-6-26 20:57 上传 点击文件名下载附件 自定义字符例程 效果图: 登录/注册后可看大图 1602演示2.jpg (86.66 KB, 下载次数: 135) 下载附件 2013-6-28 20:43 上传 LCD库使用官方介绍地址:http://arduino.cc/en/Reference/LiquidCrystal IIC1602模块,连接方法更加方便,只要4根导线就可以驱动1602了,帖子地址: Arduino驱动IIC/I2C LCD1602模块显示(4根线解决连接) -YFROBOT
1602时序表.jpg (46.86 KB, 下载次数: 130)
2013-6-21 20:05 上传
显示容量:16×2个字符
芯片工作电压:4.5—5.5V
工作电流:2.0mA(5.0V)
模块最佳工作电压:5.0V
字符尺寸:2.95×4.35(W×H)mm 如果各位还想深入了解1602,请点击下载:
1602资料.zip (959.08 KB, 下载次数: 474) 2013-6-21 20:45 上传 点击文件名下载附件 本次实验我们还要使用到一个10K电位器(用来调节对比度的),和一个220欧限流电阻; 下面我们看下1602与Arduino的连接示意图与实物图(4位接法): 登录/注册后可看大图 LCD1602.jpg (70.67 KB, 下载次数: 160) 下载附件 2013-8-15 20:43 上传 下图为原理图: 登录/注册后可看大图 1602连接原理图2.jpg (67.04 KB, 下载次数: 143) 下载附件 2013-6-24 20:29 上传 下面我们看下官方的hello, world!程序:// include the library code: #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000); }复制代码官方的例子使用了自带的库文件,它使得1602的使用更加简便!将例程写入arduino,将看到如图效果: 登录/注册后可看大图 1602演示.jpg (86.19 KB, 下载次数: 142) 下载附件 2013-6-28 20:42 上传 下面我们来介绍下官方库的使用: 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: 写入的字符 返回值bytewrite()将返回写入的字节数,尽管读这个数字是可选的 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 为十六进制) 返回值byteprint() 将返回已显示的字节数,尽管读这个数字是可选的 8、cursor() :显示光标(光标所在的位置, 就是下一个字符将会被显示的位置) noCursor():隐藏光标 语法lcd.cursor()lcd.noCursor() 参数lcd: 一个LiquidCrystal类型的变量 例子官方例程(关于cursor And noCursor) 9、blink() :显示闪烁的光标(如果和cursor()一起使用,最终结果将取决于您使用的LCD屏幕) noBlink() :关闭闪烁的光标 语法lcd.blink()lcd.noBlink() 参数lcd: 一个LiquidCrystal类型的变量 例子官方例程(关于blink And noBlink) 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*7像素支持),使用write()函数写0~7编号,来显示自定义字符 语法lcd.createChar(num, data) 参数lcd: 一个LiquidCrystal类型的变量num: 创建字符的编号(0 到 7)data: 字符的像素数据 例子 CustomCharacter.zip (1.4 KB, 下载次数: 1169) 2013-6-26 20:57 上传 点击文件名下载附件 自定义字符例程 效果图: 登录/注册后可看大图 1602演示2.jpg (86.66 KB, 下载次数: 135) 下载附件 2013-6-28 20:43 上传 LCD库使用官方介绍地址:http://arduino.cc/en/Reference/LiquidCrystal IIC1602模块,连接方法更加方便,只要4根导线就可以驱动1602了,帖子地址: Arduino驱动IIC/I2C LCD1602模块显示(4根线解决连接) -YFROBOT
本次实验我们还要使用到一个10K电位器(用来调节对比度的),和一个220欧限流电阻; 下面我们看下1602与Arduino的连接示意图与实物图(4位接法): 登录/注册后可看大图 LCD1602.jpg (70.67 KB, 下载次数: 160) 下载附件 2013-8-15 20:43 上传 下图为原理图: 登录/注册后可看大图 1602连接原理图2.jpg (67.04 KB, 下载次数: 143) 下载附件 2013-6-24 20:29 上传 下面我们看下官方的hello, world!程序:// include the library code: #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000); }复制代码官方的例子使用了自带的库文件,它使得1602的使用更加简便!将例程写入arduino,将看到如图效果: 登录/注册后可看大图 1602演示.jpg (86.19 KB, 下载次数: 142) 下载附件 2013-6-28 20:42 上传 下面我们来介绍下官方库的使用: 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: 写入的字符 返回值bytewrite()将返回写入的字节数,尽管读这个数字是可选的 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 为十六进制) 返回值byteprint() 将返回已显示的字节数,尽管读这个数字是可选的 8、cursor() :显示光标(光标所在的位置, 就是下一个字符将会被显示的位置) noCursor():隐藏光标 语法lcd.cursor()lcd.noCursor() 参数lcd: 一个LiquidCrystal类型的变量 例子官方例程(关于cursor And noCursor) 9、blink() :显示闪烁的光标(如果和cursor()一起使用,最终结果将取决于您使用的LCD屏幕) noBlink() :关闭闪烁的光标 语法lcd.blink()lcd.noBlink() 参数lcd: 一个LiquidCrystal类型的变量 例子官方例程(关于blink And noBlink) 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*7像素支持),使用write()函数写0~7编号,来显示自定义字符 语法lcd.createChar(num, data) 参数lcd: 一个LiquidCrystal类型的变量num: 创建字符的编号(0 到 7)data: 字符的像素数据 例子 CustomCharacter.zip (1.4 KB, 下载次数: 1169) 2013-6-26 20:57 上传 点击文件名下载附件 自定义字符例程 效果图: 登录/注册后可看大图 1602演示2.jpg (86.66 KB, 下载次数: 135) 下载附件 2013-6-28 20:43 上传 LCD库使用官方介绍地址:http://arduino.cc/en/Reference/LiquidCrystal IIC1602模块,连接方法更加方便,只要4根导线就可以驱动1602了,帖子地址: Arduino驱动IIC/I2C LCD1602模块显示(4根线解决连接) -YFROBOT
LCD1602.jpg (70.67 KB, 下载次数: 160)
2013-8-15 20:43 上传
1602连接原理图2.jpg (67.04 KB, 下载次数: 143)
2013-6-24 20:29 上传
官方的例子使用了自带的库文件,它使得1602的使用更加简便!
将例程写入arduino,将看到如图效果: 登录/注册后可看大图 1602演示.jpg (86.19 KB, 下载次数: 142) 下载附件 2013-6-28 20:42 上传 下面我们来介绍下官方库的使用: 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: 写入的字符 返回值bytewrite()将返回写入的字节数,尽管读这个数字是可选的 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 为十六进制) 返回值byteprint() 将返回已显示的字节数,尽管读这个数字是可选的 8、cursor() :显示光标(光标所在的位置, 就是下一个字符将会被显示的位置) noCursor():隐藏光标 语法lcd.cursor()lcd.noCursor() 参数lcd: 一个LiquidCrystal类型的变量 例子官方例程(关于cursor And noCursor) 9、blink() :显示闪烁的光标(如果和cursor()一起使用,最终结果将取决于您使用的LCD屏幕) noBlink() :关闭闪烁的光标 语法lcd.blink()lcd.noBlink() 参数lcd: 一个LiquidCrystal类型的变量 例子官方例程(关于blink And noBlink) 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*7像素支持),使用write()函数写0~7编号,来显示自定义字符 语法lcd.createChar(num, data) 参数lcd: 一个LiquidCrystal类型的变量num: 创建字符的编号(0 到 7)data: 字符的像素数据 例子 CustomCharacter.zip (1.4 KB, 下载次数: 1169) 2013-6-26 20:57 上传 点击文件名下载附件 自定义字符例程 效果图: 登录/注册后可看大图 1602演示2.jpg (86.66 KB, 下载次数: 135) 下载附件 2013-6-28 20:43 上传 LCD库使用官方介绍地址:http://arduino.cc/en/Reference/LiquidCrystal IIC1602模块,连接方法更加方便,只要4根导线就可以驱动1602了,帖子地址: Arduino驱动IIC/I2C LCD1602模块显示(4根线解决连接) -YFROBOT
1602演示.jpg (86.19 KB, 下载次数: 142)
下面我们来介绍下官方库的使用: 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) 参数
col: 设定光标显示的列数 (从0开始计数)
row:设定光标显示的行数 (从0开始计数) 6、write() :向LCD写一个字符 语法
lcd.write(data) 参数
data: 写入的字符 返回值
byte
write()将返回写入的字节数,尽管读这个数字是可选的 ps:很少用哦~~ 7、print() :将内容显示在LCD上 语法
lcd.print(data)
lcd.print(data, BASE) 参数
data: 要显示的内容 (可以是char, byte, int, long, or string类型)
BASE (可选):数据以何种数制显示(BIN 为二进制, DEC 为十进制, OCT 为八进制, HEX 为十六进制) 返回值
print() 将返回已显示的字节数,尽管读这个数字是可选的 8、cursor() :显示光标(光标所在的位置, 就是下一个字符将会被显示的位置) noCursor():隐藏光标 语法
lcd.cursor()
lcd.noCursor() 参数
lcd: 一个LiquidCrystal类型的变量 例子
官方例程(关于cursor And noCursor) 9、blink() :显示闪烁的光标(如果和cursor()一起使用,最终结果将取决于您使用的LCD屏幕) noBlink() :关闭闪烁的光标 语法
lcd.blink()
lcd.noBlink() 参数
官方例程(关于blink And noBlink) 10、display() :打开液晶显示器(在调用noDisplay()关闭显示器之后,使用本函数可以恢复显示) noDisplay() :关闭液晶显示器(原显示内容不会丢失,调用display()函数即可恢复显示) 语法
lcd.display()
lcd.noDisplay() 参数
官方例程(关于 display And noDisplay) 11、scrollDisplayLeft() :使屏幕上显示内容(光标及文字)向左滚动一个字符。 scrollDisplayRight() :使屏幕上显示内容(光标及文字)向右滚动一个字符。 语法
lcd.scrollDisplayLeft()
lcd.scrollDisplayRight() 参数
官方例程(关于scrollDisplay Left or Right) 12、autoscroll() :打开液晶的自动滚动功能 noAutoscroll() :关闭液晶的自动滚动功能 语法
lcd.autoscroll()
lcd.noAutoscroll() 参数
官方例程(关于autoscroll And noAutoscroll) 13、leftToRight() :设置文本从左往右(默认方向)输入液晶,但不影响已显示字符
rightToLeft() :设置文本从右往左(默认方向为从左往右)输入液晶,这意味着后面输入的字符将从右往左显示,但不影响已显示字符 语法
lcd.leftToRight()
lcd.rightToLeft() 参数
官方例程(关于TextDirection leftToRight or rightToLeft)
14、createChar() :为液晶创建一个自定义的字符(可创建8个自定义字符,编号0~7,5*7像素支持),使用write()函数写0~7编号,来显示自定义字符 语法
lcd.createChar(num, data) 参数
num: 创建字符的编号(0 到 7)
data: 字符的像素数据 例子
CustomCharacter.zip (1.4 KB, 下载次数: 1169) 2013-6-26 20:57 上传 点击文件名下载附件 自定义字符例程 效果图: 登录/注册后可看大图 1602演示2.jpg (86.66 KB, 下载次数: 135) 下载附件 2013-6-28 20:43 上传 LCD库使用官方介绍地址:http://arduino.cc/en/Reference/LiquidCrystal IIC1602模块,连接方法更加方便,只要4根导线就可以驱动1602了,帖子地址: Arduino驱动IIC/I2C LCD1602模块显示(4根线解决连接) -YFROBOT
1602演示2.jpg (86.66 KB, 下载次数: 135)
LCD库使用官方介绍地址:
http://arduino.cc/en/Reference/LiquidCrystal
Arduino驱动IIC/I2C LCD1602模块显示(4根线解决连接) -YFROBOT
使用道具 举报
签到天数: 241 天
[LV.8]以坛为家I
签到天数: 1 天
[LV.1]初来乍到
该用户从未签到
签到天数: 22 天
[LV.4]偶尔看看III
签到天数: 2 天
签到天数: 65 天
[LV.6]常住居民II
本版积分规则 发表回复 回帖后跳转到最后一页
|小黑屋|联系我们|YFROBOT ( 苏ICP备20009901号-2 )
GMT+8, 2024-11-21 21:08 , Processed in 0.078988 second(s), 31 queries .
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.