将16x2 LCD与Arduino连接方法
原文地址:https://circuitdigest.com/microcontroller-projects/arduino-lcd-interfacing-tutorial
将16x2 LCD与Arduino连接方法
所需组件
硬件: ARDUINO UNO,电源(5v),JHD_162ALCD(16x2LCD),100uF电容器。
软体: Arduino IDE(Arduino nightly)。
电路图和说明
16x2 LCD显示模块
之所以命名为**16×2 LCD,**是因为;它有16列和2行。有很多可用的组合,例如8×1、8×2、10×2、16×1等。但是最常用的是16 * 2 LCD,因此我们在这里使用它。
上面提到的所有LCD显示屏都将具有16针,并且编程方法也相同,因此选择权留给您。以下是16x2 LCD模块的引脚排列和引脚描述:
序号 | 引脚号 | 引脚名称 | 引脚类型 | 引脚说明 | 引脚连接 |
---|---|---|---|---|---|
1 | 引脚1 | GND | 电源极引脚 | 这是LCD的接地引脚 | 连接到MCU /电源的接地 |
2 | 引脚2 | VCC | 电源极引脚 | 这是LCD的电源电压引脚 | 连接到电源的电源引脚 |
3 | 引脚3 | V0 / VEE | 控制引脚 | 调整液晶显示屏的对比度。 | 连接到可以提供0-5V电源的可变POT |
4 | 引脚4 | 寄存器选择 | 控制引脚 | 在命令/数据寄存器之间切换 | 连接到MCU引脚并获得0或1。0- > Command Mode 1-> Data Mode |
5 | 引脚5 | 读/写 | 控制引脚 | 在读/写操作之间切换LCD | 连接到MCU引脚并获得0或1。0- >写入操作 1->读取操作 |
6 | 引脚6 | 使能 | 控制引脚 | 必须保持高电平才能执行读/写操作 | 连接到MCU并始终保持高电平。 |
7 | 引脚7-14 | 数据位(0-7) | 数据/命令引脚 | 用于将命令或数据发送到LCD的引脚。 | 在4线模式下, 只有4个引脚(0-3)连接到MCU。在8线模式下,所有8个引脚(0-7)连接到MCU。 |
8 | 引脚15 | LED正极 | LED接脚 | 正常的LED状操作可照亮LCD | 连接到+ 5V |
9 | 引脚16 | LED负极 | LED接脚 | 正常的LED像操作一样点亮连接到GND的LCD。 | 接地 |
如果您不了解所有引脚的功能也可以,我将在下面详细解释。现在,让我们回头看一下LCD:
所以现在,我们知道每个字符都有(5 * 8 = 40)40个像素,对于32个字符,我们将有(32 * 40)1280个像素。此外,还应指示LCD有关像素的位置。
让我们讨论必须由控制引脚控制的LCD中可用的不同类型的模式和选项。
而**在8位模式下,**由于我们使用了所有8条数据线,因此可以一键直接发送8位数据。
大多数LCD中使用的接口IC是**HD44780U,**为了对LCD进行编程,我们应该学习IC的完整数据表。该数据表是这里给出。
LCD中有一些预设命令指令,我们需要通过一些微控制器将这些指令发送到LCD。以下是一些重要的命令说明:
十六进制代码 | LCD指令寄存器的命令 |
---|---|
0F | LCD亮,光标亮 |
01 | 清除显示画面 |
02 | 回家 |
04 | 减少光标(向左移动光标) |
06 | 增量光标(向右移动光标) |
05 | 右移显示 |
07 | 左移显示 |
0E | 显示开,光标闪烁 |
80 | 强制光标到第一行的开头 |
C0 | 强制光标移至第二行的开头 |
38 | 2行和5×7矩阵 |
83 | 光标线1位置3 |
3C | 激活第二行 |
08 | 显示关闭,光标关闭 |
C1 | 跳至第二行,位置1 |
0C | 显示开启,光标关闭 |
C1 | 跳至第二行,位置1 |
C2 | 跳至第二行,位置2 |
PIN1或VSS接地
PIN2或VDD或VCC至+ 5v电源
PIN3或VEE接地(为初学者提供最大对比度)
PIN4或RS(寄存器选择)到ARDUINO UNO的PIN0
PIN5或RW(读/写)接地(将LCD置于读模式可简化用户的通信)
PIN6或E(启用)到ARDUINO UNO的PIN1
PIN11或D4至ARDUINO UNO的PIN8
PIN12或D5至ARDUINO UNO的PIN9
PIN13或D6至ARDUINO UNO的PIN10
PIN14或D7至ARDUINO UNO的PIN11
ARDUINO IDE允许用户以4位模式使用LCD。这种通信类型使用户能够减少ARDUINO上的引脚使用,这与其他ARDUINO无需单独编程以在4 it模式下使用有关,因为默认情况下ARDUINO设置为以4位模式进行通信。在电路中,您可以看到我们使用了4位通信(D4-D7)。
因此,仅从上表的观察,我们就将LCD的6个引脚连接到控制器,其中4个引脚是数据引脚,另外2个是控制引脚。
上图显示了连接到ARDUINO UNO的16x2 LCD的电路图。
原理
要将LCD连接到ARDUINO UNO,我们需要了解一些事情。
#include <LiquidCrystal.h>lcd.begin(16,2);
LiquidCrystal LCD(0,1,8,9,10,11);
lcd.print(“ hello,world!”);
如上表所示,我们只需要查看这四行即可在ARDUINO和LCD之间建立通信。
首先,我们需要启用头文件(’#include <LiquidCrystal.h>’),该头文件中写入了指令,这使用户能够以4位模式将LCD连接到UNO,而不会产生任何绒毛。使用此头文件,我们不必将数据一点一点地发送到LCD,这一切都将得到解决,我们也不必编写用于向LCD发送数据或命令的程序。
其次,我们需要告诉主板我们在这里使用哪种类型的LCD。由于我们有许多不同类型的LCD(例如20x4、16x2、16x1等)。在这里,我们将16x2 LCD连接到UNO,因此得到“ lcd.begin(16,2);”。对于16x1,我们得到’lcd.begin(16,1);’。
在此说明中,我们将告诉主板我们引脚的连接位置。连接的引脚需要按“ RS,En,D4,D5,D6,D7”的顺序表示。这些引脚应正确表示。由于我们已将RS连接到PIN0等,如电路图所示,我们将板上的引脚号表示为LiquidCrystal lcd(0,1,8,9,10,11);
。需要在LCD中显示的数据应写为lcd.print(“ hello,world!”);
。使用此命令,LCD会显示“ hello,world!”。
如您所见,我们不必担心任何其他事情,我们只需要初始化即可,UNO将准备显示数据。我们不必在此处编写程序循环来通过BYTE发送数据BYTE。
LCD和UNO之间的通信方式在下面给出的C代码中逐步说明:
#include <LiquidCrystal.h>// initialize the library with the numbers of the interface pinsLiquidCrystal lcd(0, 1, 8, 9, 10, 11); /// REGISTER SELECT PIN,ENABLE PIN,D4 PIN,D5 PIN, D6 PIN, D7 PINvoid setup()
{// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
}void loop()
{
// set the cursor to column 0, line 1
lcd.print(" CIRCUIT DIGEST");//print name
lcd.setCursor(0, 1); // set the cursor to column 0, line 2
lcd.print("www.circuitdigest.com");//print name
delay(750);//delay of 0.75sec
lcd.scrollDisplayLeft();//shifting data on LCD
lcd.setCursor(0, 0);// set the cursor to column 0, line1
}
将16x2 LCD与Arduino连接方法相关推荐
- 使用Arduino连接一个LCD显示屏
本文转载自https://www.yiboard.com/thread-1086-1-1.html 使用Arduino连接一个LCD显示屏,为您的项目提供显示. 将字符LCD显示屏连接到Arduino ...
- arduino连接1602LCD方法
arduino连接1602LCD方法 测试代码: /*LiquidCrystal Library - display() and noDisplay()Demonstrates the use a 1 ...
- 树莓派触摸屏连接方法(微雪7寸LCD)
微雪 7寸LCD 触摸屏 显示器 适用 树莓派 BB BLACK 电脑 HDMI高清,购买地址如下: https://detail.tmall.com/item.htm?spm=a220o.10008 ...
- 使用Arduino 连接旋转编码器
文章目录 1. 所需的材料 2. 连接导线旋转编码器是如何工作的? 3. 旋转编码器的类型 4. KY-040旋转编码器引脚和说明 5. Arduino与旋转编码器的连接电路图 6. 编写用于旋转编码 ...
- 【从零开始的ROS四轴机械臂控制】(七)- ROS与arduino连接
从零开始的ROS四轴机械臂控制(七) 十.ROS与arduino连接 1.虚拟机与arduino的连接 (1)arduino连接与IDE (2)PCA9685模块支持与测试 2.ROS与arduino ...
- 用撸Arduino的方法撸STM32F103xx
http://www.pret-page.com/%E7%94%A8%E6%92%B8arduino%E7%9A%84%E6%96%B9%E6%B3%95%E6%92%B8stm32f103xx/ 2 ...
- 关于Arduino连接L298N供电问题
关于Arduino连接L298N供电问题 查看原文 该L298N板声称有一个5V稳压器为Arduino供电,在这种情况下,您可以使用单个电源,并让电机板为Arduino供电. 关于为Arduino和电 ...
- 笔记本投影仪连接方法
一.笔记本电脑和投影机的链接 出现投影机罢工的原因以及解决方法.请各位教师严格按照以下的操作步骤来进行操作,以下是链接的正确方法: 1.链接投影仪和笔记本前一定要将投影仪和笔记本关掉,否则可能会产生严 ...
- 红外传感器模块与 Arduino 连接
红外传感器模块与 Arduino 连接 原文地址 Arduino 红外传感器接口 红外**接近传感器或红外传感器它发射红外光以感知周围环境,并可用于检测物体的运动.由于这是一个无源传感器,它只能测量红 ...
最新文章
- Vue生命周期函数详解
- 泊松分布E(X^2)
- 线程间怎么交换数据_2 万字长文详解 10 大多线程面试题|原力计划
- python经济_python生成器——懒到欠揍,但很经济
- ERROR: Process pool report error: Can‘t pickle
- jquery中AddClass()方法问题
- js实现购物车,原理简单,代码解释-->详细
- vdbench数据校验翻译
- SpaceVim - 让你的vim变得更加高效和强大
- 马云:全面进军芯片领域!打响第一炮!中国科技当自强!!
- 树莓派mysql重置密码_树莓派忘记密码了?四步重设密码 | 树莓派实验室
- Android判断手机的电池状态
- OpenAI在Dota 2游戏中虽败犹荣
- 串口通讯协议和RS-232的介绍以及USB/TTL转232模块的工作原理
- 2017年8月21日 星期一
- SICE:基于CNN的多曝光图像增强网络论文解读
- Oracle表空间扩展
- 外部环境因素分析(转载)
- EXCEL 图表相关,如何在一个图表里有2种图形?比如折线+ 柱状图?
- php安装sqlsrv扩展
热门文章
- 【JavaWeb 爬虫】Java文本查重网页版 爬取百度搜索结果页全部链接内容
- 语音合成 java_语音合成 JAVA SDK
- 移动端web页面响应式布局(文字、图片、表格)
- 树莓派3B+ubunt server配置WiFi
- C++转换为C需要注意的各项问题
- 安卓查询助手 q绑查 前端源码+测试apk+新接口
- 如何快速找到小红书素人资源?怎么找到大量素人
- 控制空间光调制器(SLM)的不同控制方法小结
- 2 thinkcmf5.0 pc端和移动端自动切换
- 飞桨创意赛火热进行中,总有一款AI时代Chatbot适合你