简介

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. Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(三)

    在前面两篇文章中,我介绍了基于IdentityServer4的一个Identity Service的实现,并且实现了一个Weather API和基于Ocelot的API网关,然后实现了通过Ocelot ...

  2. 【Java8新特性】接口中的默认方法和静态方法,你都掌握了吗?

    写在前面 在Java8之前的版本中,接口中只能声明常量和抽象方法,接口的实现类中必须实现接口中所有的抽象方法.而在Java8中,接口中可以声明默认方法和静态方法,本文,我们就一起探讨下接口中的默认方法 ...

  3. 如何短时间内快速通过Java面试

    当然是刷题啊 1-10期[10期]Redis 面试常见问答[09期]说说hashCode() 和 equals() 之间的关系?[08期]说说Object类下面有几种方法呢?[07期]Redis中是如 ...

  4. cisco-GNS3-pix防火墙基本配置实操(持续更新)

    一.ASA和PIX基础配置 1.ASA防火墙配置 1.GNS配置 因为使用的GNS3的版本可能不同,gns配置asa防火墙的步骤可能不同 在低版本的gns中直接在qemu选项里可以直接配置,参考:ht ...

  5. Rocket - debug - Example: Selecting Harts

    https://mp.weixin.qq.com/s/HjG5S9binyniG_amC3Dr5Q 介绍riscv-debug的使用实例:如何选择核心,执行Halt/Resume请求. 1. Sele ...

  6. Rocket - jtag - JtagStateMachine

    https://mp.weixin.qq.com/s/cFXVOBHayV2w27jpT5RglA 简单介绍JtagStateMachine的实现. 1. 简单介绍 根据IEEE 1149.1-200 ...

  7. Java实现 LeetCode 828 统计子串中的唯一字符(暴力+转数组)

    828. 统计子串中的唯一字符 我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数. 例如:s = "LEETCODE" ...

  8. Java实现 LeetCode 778 水位上升的泳池中游泳(二分+DFS)

    778. 水位上升的泳池中游泳 在一个 N x N 的坐标方格 grid 中,每一个方格的值 grid[i][j] 表示在位置 (i,j) 的平台高度. 现在开始下雨了.当时间为 t 时,此时雨水导致 ...

  9. Java实现 LeetCode 724 寻找数组的中心索引(暴力)

    724. 寻找数组的中心索引 给定一个整数类型的数组 nums,请编写一个能够返回数组"中心索引"的方法. 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧 ...

  10. Java实现 LeetCode 514 自由之路

    514. 自由之路 视频游戏"辐射4"中,任务"通向自由"要求玩家到达名为"Freedom Trail Ring"的金属表盘,并使用表盘拼写 ...