简介

LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形。【百度百科】

  • 引脚说明
  • 引脚 符号 说明
  • 1 GND 接地
  • 2 VCC 5V正极
  • 3 V0 对比度调整,接正极时对比度最弱
  • 4 RS 寄存器选择,1数据寄存器(DR),0指令寄存器(IR)
  • 5 R/W 读写选择,1度,0写
  • 6 EN 使能(enable)端,高电平读取信息,负跳变时执行指令
  • 7~14 D0~D7 8位双向数据
  • 15 BLA 背光正极
  • 16 BLK 背光负极
  • 其它知识点
  • 一些简称(本文无用,瞎记)
  • DR 数据寄存器
  • IR 指令寄存器
  • DDRAM 显示数据存储器(LCD1602有80字节)
  • CGROM 字符发生器(内建192个5*7点阵字符)
  • 1
  • 2
  • 3
  • 4
  • 3脚电位器
  • 一个滑动变阻器,中间接负极(输出),两边分别接电源正极和接地(或不接)


材料

大面包板 x1

3脚电位器 x1

LCD 1602 x1

Arduino UNO x1

接线示意图


LCD1602 —> Arduino UNO 说明

GND —> GND 接地

VCC —> 5V 5V电源

V0 —> 连接3脚继电器中间,用于调节对比度

RS —> 3 随便接一个输出口,方便接线、画图

R/W —> GND 接地,写模式

EN —> 5 随便接一个输出口,方便接线、画图

D0~D3 —> 4位工作模式,不使用

D4~D7 —> 10~13 其它口也行,方便接线、画图

BLA —> 背光,电源正极,可选

BLK —> 背光,接地,可选

开始抄代码

加载库文件

打开Arduino IDE,选项目 -> 加载库 -> 管理库中搜索LiquidCrystal,然后安装即可,笔者的IDE版本为1.6.12,自带该库。



示例代码, hello word


//引入依赖
#include <LiquidCrystal.h> // 初始化针脚
const int rs = 3, en = 5, d4 = 10, d5 = 11, d6 = 12, d7 = 13;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() {
//设置LCD要显示的列数、行数,即2行16列
lcd.begin(16, 2); //输出Hello World
lcd.print("hello, world!");
} void loop() {
//设置光标定位到第0列,第1行(从0开始)
lcd.setCursor(0, 1);
//打印从重置后的秒数
lcd.print( millis() / 1000);
}


示例代码,自动滚屏


//引入依赖
#include <LiquidCrystal.h>
// 初始化针脚
const int rs = 3, en = 5, d4 = 10, d5 = 11, d6 = 12, d7 = 13;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
char arr [9]= {'a', 'b', 'c', 'd' ,'e' ,'f' ,'g', 'h', 'i'}; void setup() {
//设置LCD要显示的列数、行数,即2行16列
lcd.begin(16, 2);
} void loop() {
//输出1-9,a1-9,b,1-9,c
lcd.setCursor(0, 0);
lcd.autoscroll(); for(int i = 0; i < 9; i++){
for(int j = 1; j < 10; j++){
lcd.print(j);
delay(500);
}
lcd.print(arr[i]);
delay(500);
} //关闭自动滚屏
lcd.noAutoscroll();
//为下重循环清屏
lcd.clear();
}


https://blog.csdn.net/zcw1994/article/details/80517943


版权声明:本文为CSDN博主「我的小胖子呢」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。



#include <LiquidCrystal.h> // 初始化针脚
const int rs = 3, en = 5, d4 = 10, d5 = 11, d6 = 12 ,d7 = 13;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
unsigned long time;
unsigned long starttime;
int timeHour; //显示小时数
int timeMinute; //显示分钟数
int timeSecond; //显示秒数
int startHour=0; //初始小时数
int startMinute=1; //初始分钟数
int startSecond=40; //初始秒数
void setup() {
Serial.begin(9600);
lcd.begin(16,2); //初始化LCD1602
lcd.print("Welcome to use!"); //液晶显示Welcome to use!
delay(1000); //延时1000ms
lcd.clear(); //液晶清屏
starttime=startHour*60*60+startMinute*60+startSecond;
lcd.setCursor(0,0); //设置液晶开始显示的指针位置
lcd.print("While accounting");
} void loop() {
if (millis()<=starttime*1000){
time =starttime-(millis()/1000);
timeHour=time/(60*60);
timeMinute=(time-timeHour*60*60)/60;
timeSecond=time-timeHour*60*60-timeMinute*60;
lcd.setCursor(0,1); //设置液晶开始显示的指针位置
lcd.print("Time:");
lcd.print(Pressing_string(timeHour));
lcd.print(":");
lcd.print(Pressing_string(timeMinute));
lcd.print(":");
lcd.print(Pressing_string(timeSecond));
//delay(10);
}else{
lcd.setCursor(0,1); //设置液晶开始显示的指针位置
lcd.print("It's game over.");
}
}
//n->"0n",nn->"nn"
String Pressing_string(int myint){
String mystring;
if (myint<10 ){
mystring="0"+String(myint);
}else{
mystring=String(myint);
}
return mystring;
}

Arduino连接LCD1602显示屏的更多相关文章

  1. Arduino和C51开发LCD1602显示屏

    技术:51单片机.Arduino.LCD1602   概述 本文介绍了LCD1602显示屏,并在LCD1602上显示字符串,对LCD1602常见的问题的解决和开发方法也做了简单介绍. 详细 代码下载: ...

  2. arduino连接1602LCD方法

    arduino连接1602LCD方法 参考代码:

  3. Arduino连接pH计

    关于arduino连接ph,核心的东西就是对ph传感器返回的信号值进行一系列的操作,注意因为返回的信号很弱,而且外部环境对其影响也很大,所以需要在电路设计上加入一些功能,比如信号放大.滤波等,电路设计 ...

  4. arduino连接12864LCD方法

    arduino连接12864LCD方法,参考相关代码. https://blog.csdn.net/txwtech/article/details/95038386

  5. Arduino下LCD1602综合探究(下)——如何减少1602的连线,LiquidCrystal库,LiquidCrystal库中bug的解决方法

    一.前言: 上文中,笔者系统的阐述了1602的两种驱动方式,并简单的提到了Arduino的LiquidCrystal库.本文紧接上文,对以下两个问题进行更加深入的探讨:如何能够使1602对Arduin ...

  6. Arduino下LCD1602综合探究(上)——1602的两种驱动方式,如何使LCD的控制编程变得更简单

    一.前言: LCD ( Liquid Crystal Display 的简称)液晶显示器,已经逐渐替代CRT成为主流的显示设备之一,因此也成为了单片机发烧友绕不过的话题之一:而LCD1602更是很多单 ...

  7. ARDUINO驱动LCD1602 (利用库函数)

    LCD 1602简介 工业字符型液晶,能够同时显示16x02即32个字符.(16列2行) 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母.数字.符号等的点阵型液晶模块.它由若干个5X7或 ...

  8. Arduino连接SHT10温湿度传感器--返回值不正常解决办法

    如题目,arduino中连接温湿度传感器,用的是一个github开源项目,地址:点击打开,其实这个就是一个封装好的库,下载后把解压的文件夹复制到Arduino目录下的librarys文件夹内,重启Ar ...

  9. 使用Arduino连接HC-SR04超声波距离传感器的方法

    距离传感器是机器人项目最有用的传感器之一. HC-SR04是一种便宜的超声波距离传感器,可以帮助您的机器人在房间周围导航.通过一些努力和一个额外的组件,它也可以用作测量设备.在这篇文章中,您将学习到通 ...

随机推荐

  1. MySQL的CHAR 和 VARCHAR的区别

    CHAR 和 VARCHAR 类型,CHAR 列的长度固定, VARCHAR 列中的值为可变长字符串.在检索的时候,CHAR 列删除了尾部的空格,而 VARCHAR 则保留这些空格s

  2. 0506static【重点】

    static[重点] [重点] 1.[没有对象] [没有对象] [没有对象] 2.static 修饰的是一个资源共享类型的变量 3.静态成员变量的基本使用规范 static修饰的成员变量只能通过静态方 ...

  3. 剑指offer——数据结构

    技术面重点:数组.字符串.链表.树.栈以及队列.

  4. 看完这篇还不懂Redis的RDB持久化,你们来打我!

    一.为什么需要持久化 redis里有10gb数据,突然停电或者意外宕机了,再启动的时候10gb都没了?!所以需要持久化,宕机后再通过持久化文件将数据恢复. 二.优缺点 1.rdb文件 rdb文件都是二 ...

  5. [JavaWeb基础] 002.JSP和SERVLET初级入门

    上一篇中,我介绍了javaweb项目的创建和Tomcat的搭建和部署,接下来我们要在上一篇的基础上去讲解一下简单的jsp和servlet交互,做出一个简单的登陆功能页面.该例子主要讲解了从页面请求道后 ...

  6. 读Pyqt4教程,带你入门Pyqt4 _010

    在PyQt4教程的这部分中,我们讨论拖放操作. 拖放(Drag-and-drop)指的是图形用户界面(Graphical user interface)中,在一个虚拟的对象上按着鼠标键将之拖曳到另一个 ...

  7. C++ 海量代码 排查内存/GDI泄漏历程

    排查分两大部分: 1.代码静态分析,通过Code Review查找不合规范的代码点: 2.运行目标软件,结合内存监控工具,分析目标软件的代码,定位内存泄漏点. 目前能找到的代码静态分析软件:Cover ...

  8. maven中scope

    scope maven中scope的默认值是compilescope的分类1)compile 默认是compile.compile表示被依赖项目需要参与当前项目的编译,包括后续的测试,运行周期也参与其 ...

  9. eclipse中生成文档注释--javadoc的使用

    1.针对于单一的JAVA文件,在终端窗口中,使用 javadoc 文件名.java 即可生成文档注释: 2.在eclipse中生成文档注释: ①单击eclipse菜单栏中的[Project]菜单,该菜 ...

  10. Matlab矩阵学习一 矩阵的创建

    Matlab矩阵创建 1.直接输入数值创建       矩阵元素要用[ ] 括起来,";"代表一行结束,以下创建方式也是合法的,矩阵的元素可以是实数,也可以是复数,复数用a+bi表 ...