Arduino和C51开发LCD1602显示屏

技术:51单片机、Arduino、LCD1602
 

概述

本文介绍了LCD1602显示屏,并在LCD1602上显示字符串,对LCD1602常见的问题的解决和开发方法也做了简单介绍。

详细

一、LCD1602

1545654315758066696.pngLCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干个5x7或者5x10的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好的显示图片。

二、51单片机 - LCD1602显示字符串

硬件连接:

1545654450088286909.png

对比度太大或者太小都容易看不到东西,这里要注意了,接着在LCD1602上显示"This is lcd1602":

#include "reg52.h"    //此文件中定义了单片机的一些特殊功能寄存器
#include "lcd.h"
 
typedef unsigned int u16;   //对数据类型进行声明定义
typedef unsigned char u8;
 
u8 Disp[]="This is lcd1602";
 
void main(void)
{
    u8 i;
    LcdInit();
    for(i=0;i<15;i++)
    {
        LcdWriteData(Disp[i]);
    
    } 
    while(1);    
}

LCD1602显示屏效果如下:

图片3.png

除了这些简单的显示字符串功能外,LCD1602显示屏上还可以显示一些简单的中文。LCD1602内部有80个字节的显存,即DDRAM。但LCD1602的显示屏幕只有16×2大小,因此,并不是所有写入DDRAM的字符代码都能在屏幕上显示出来,只有写在范围内的字符才可以显示出来,写在范围外的字符不能显示出来。这样,我们在程序中利用“光标或显示移动指令”使字符慢慢移动到可见的显示范围内,看到字符的移动效果。这些大家可以尝试做一下!!!

三、Arduino - LCD显示字符串

硬件连接:

图片4.png

 

加载库文件:

打开Arduino IDE -> 项目 -> 加载库 -> 管理库中搜索LiquidCrystal,然后安装即可。

1545654707990061071.png

LCD1602显示字符串代码:

#include <LiquidCrystal.h> //引入依赖
 
/* 初始化针脚 */
const int rs = 3;
const int en = 5;
const int d4 = 10;
const int d5 = 11; 
const int d6 = 12;
const int d7 = 13;
const int lcdlight = 9; //调节对比度
 
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
 
void setup() {
   pinMode(lcdlight,OUTPUT);
   analogWrite(lcdlight, 130);//用于调节对比度(0-255)
    
   lcd.begin(16, 2);//设置LCD要显示的列数、行数,即2行16列
    
   lcd.print("This is lcd1602!");//输出Hello World
}
 
void loop() {
   lcd.setCursor(0, 1); //设置光标定位到第0列,第1行(从0开始)
   lcd.print( millis() / 1000);//打印从重置后的秒数
}

 

LCD1602显示字符串:

 

1545654774916076162.png

LCD1602自动滚屏:

四、总结

本文介绍了LCD1602显示屏,并在LCD1602上显示字符串。大家也可以使用LCD1602显示时钟和温湿度值等等,也可以尝试显示中文,后面一篇文章会教大家使用OLED显示屏!!!

五、项目结构图

图片7.png

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

转载于:https://www.cnblogs.com/demodashi/p/10503380.html

### 回答1: 要连接ArduinoLCD1602A显示屏,需要按照以下步骤进行: 1. 将LCD1602A显示屏插入到Arduino的数字引脚13-8上,其中VSS和VDD引脚分别连接到GND和+5V电源。 2. 将LCD1602A显示屏的RS、RW和E引脚分别连接到Arduino的数字引脚12、11和10。 3. 将LCD1602A显示屏的D4-D7引脚分别连接到Arduino的数字引脚5-2上。 4. 在Arduino IDE中打开一个新的空白项目,并添加LiquidCrystal库。 5. 在代码中初始化LiquidCrystal对象,并设置显示屏的列数和行数。 6. 在setup()函数中调用begin()函数以初始化显示屏。 7. 在loop()函数中使用print()函数向显示屏写入数据。 8. 将Arduino连接到电脑,并上传代码。 9. 在显示屏上查看输出结果。 以上就是连接ArduinoLCD1602A显示屏的基本步骤。需要注意的是,具体的引脚连接方式可能会因不同的Arduino板型而有所不同,需要根据具体情况进行调整。 ### 回答2: 首先,需要将LCD1602A连接到Arduino上。连接过程包括16个引脚。 引脚1(VSS):将它连接到Arduino的GND引脚。 引脚2(VDD):将它连接到Arduino的+5V引脚。 引脚3(VO):可通过调整亮度的方式来控制LCD屏幕的对比度。可以连接到一个变阻器或电位器。 引脚4(RS):控制数据是否是指令。将它连接到Arduino的Digital Pin 12。 引脚5(RW):用于读取或写入数据。将它连接到Arduino的GND引脚,因为在这里只需要进行写操作。 引脚6(E):允许整个屏幕进行读取和写入操作。将它连接到Arduino的Digital Pin 11。 引脚7 ~ 14(DB0 ~ DB7):这8个引脚用于LCD模块的数据传输。将它们分别连接到Arduino Digital Pins 2 ~ 9。 引脚15(LED+):如果您使用LCD 1602A带背光,则该引脚应连接到Arduino的+5V引脚。 引脚16(LED-):如果使用LCD 1602A带背光,则该引脚应连接到Arduino的GND引脚。 一旦完成了连接,我们可以电源并初始化LCD屏幕。在进行任何I/O操作之前,我们需要调用lcd.begin(16,2)函数,它会告诉Arduino LCD屏幕的行和列数量。 接下来,我们需要写一些代码,来将文本写入屏幕。我们可以使用lcd.print()函数将字符串写入屏幕上。例如:lcd.print(“ Hello World ”)。 除了字符串以外,我们还可以在屏幕上显示数字和变量。例如:lcd.print(120)或lcd.print(temperature)。 此外,我们还可以使用lcd.setCursor()函数使文本和数字在屏幕上显示在正确的位置。 最后,我们需要注意的是,LCD1602A模块上封装的控制器通常是HD44780。这意味着可以使用类似于液晶库(LiquidCrystal.h)的库,将操作简化成更少的代码。这可以帮助我们更轻松地控制LCD1602A模块,并将与Arduino连接和代码书写的时间更少。 ### 回答3: Arduino连接LCD1602A显示屏需要使用Arduino Uno等开发板和LCD1602A模块。以下是连接步骤: 1. 将LCD1602A模块的VSS引脚连接至Arduino Uno的GND引脚,VDD引脚连接至Arduino Uno的5V引脚。 2. 接下来将V0引脚连接至电位器的中间引脚,另外两个引脚分别连接至VSS和VDD。电位器可以调节显示屏的对比度。 3. 将RS(寄存器选择器)引脚连接至Arduino Uno的数字引脚12,RW(读/写)引脚连接至Arduino Uno的GND引脚,E(使能)引脚连接至数字引脚11。 4. 将D4-D7引脚分别连接至数字引脚5-8。 5. 最后将LCD1602A模块的K(接地)引脚连接至Arduino Uno的GND引脚。 在完成以上的接线之后,需要在Arduino中编写代码使Arduino控制LCD1602A模块的显示。代码示例如下: #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 6, 7, 8); void setup() { lcd.begin(16, 2); //列数和行数 lcd.print("Hello, world!"); // 显示文本 } void loop() { lcd.setCursor(0, 1); //移动光标 lcd.print(millis() / 1000); //显示时间 } 最后,将Arduino Uno与计算机连接,并将代码上传至Arduino上进行测试。通过这种方式,我们就可以实现Arduino控制LCD1602A模块的显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值