【外设】1602液晶显示器(LCD)-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11005|回复: 9

【外设】1602液晶显示器(LCD)

[复制链接]
发表于 2016-8-25 19:59 | 显示全部楼层 |阅读模式
一、介绍:
1602LCD主要技术参数:
1. 显示容量为16×2个字符;
2. 芯片工作电压为4.5~5.5V;
3. 工作电流为2.0mA(5.0V);
4. 模块最佳工作电压为5.0V;
5. 字符尺寸为2.95×4.35(W×H)mm。
二、引脚以及引脚功能
1602采用标准的16脚接口,其中:
第1脚:VSS为地电源
第2脚:VDD接5V正电源
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度---电位器即可调电阻,改变电阻大小可以改变屏幕对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。---定义LCD参数时指定,由函数内部使用,不直接使用
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读信号,当RS为高电平RW为低电平时可以写入数据。---定义LCD参数时指定,由函数内部使用,不直接使用
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。--定义LCD参数时指定,由函数内部使用,不直接使用
第7~14脚:D0~D7为8位双向数据线。--定义LCD参数时指定,由函数内部使用,不直接使用
第15脚:背光电源正极 ---接电源正极5V
第16脚:背光电源负极---接电源负极0V
三、时序:

四、电路图:
1. 8位连接法

2. 4位连接法

五、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()
{}//初始化已完成显示,主循环无动作


1.png
2.png
3.png
4.png
发表于 2016-9-30 09:26 来自手机 | 显示全部楼层
支持,1602和liquidcrystal库连用,是黄金搭档啊。
发表于 2016-9-30 09:32 来自手机 | 显示全部楼层
给arduino单片机装上简单的显示屏,就可以极大改善我们创客作品的用户使用界面,让普通使用者更好的理解我们的作品。
发表于 2016-10-14 23:00 | 显示全部楼层
顶啊  求助区 [未解决] 求助 无法创建项目文件夹 急急急   大神们谁来帮我解决下!!!
发表于 2016-10-27 21:16 | 显示全部楼层
lcd1602只能接到12,11针脚么
发表于 2016-10-31 19:00 | 显示全部楼层
'lcd' was not declared in this scope   我的出现了这个错误呢
发表于 2017-5-11 20:13 | 显示全部楼层
//LiquidCrystal lcd(12,11,10,9,8,7,6,5,4,3,2);   //8数据口模式连线声明
LiquidCrystal lcd(12, 10, 5, 4, 3, 2); //4数据口模式连线声明
发表于 2017-5-12 09:04 | 显示全部楼层
xf_pinyu 发表于 2016-10-27 21:16
**** 作者被禁止或删除 内容自动屏蔽 ****

每个I/O口都可以,定义变下就行
发表于 2017-5-18 19:22 | 显示全部楼层
想问一下,怎么把一个字符串完整的显示在LCD上。谢谢,
发表于 2017-7-19 20:06 | 显示全部楼层
请问可以把lcd库函数的zjp压缩格式发送以下么
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 13:50 , Processed in 0.125223 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表