两个div在同一行显示_Arduino液晶显示---1602液晶带IIC模块

在开始之前,我们先了解一下什么是IIC。我们长话短说,只让大家了解就行了。IIC就是一种通信协议,他只需要两根线就可以让外围设备与单片机进行通信,所以硬件连接非常的方便。他也是一种总线的结构。

所以说到总线,他这两根线上面是可以连接很多设备的。这些设备用地址位来驱动。所以IIC设备必须要有一个地址。比如我们常见的存储芯片AT24C02。

a081a62c7aced701cf8d5beaf70dccaa.png

AT24C02芯片 DIP8直插封装实物图

8e3ca53a85c7de386cda699f8ff21c89.png

原理图及典型电路

I2C设备地址

协议格式中第一个字节(为slave address)由7位地址和一位R/W读写位组成的,这字节是个器件地址。

常用IIC接口通用器件的器件地址是由种类型号,及寻址码组成的,共7位。

如格式如下:D7 D6 D5 D4 D3 D2 D1 D0

1、器件类型:D7-D4 共4位决定的。这是由半导公司生产时就已固定此类型的了,也就是说这4位已是固定的。

2、用户自定义地址码:D3-D1共3位。这是由用户自己设置的,通常的作法如EEPROM这些器件是由外部IC的3个引脚所组合电平决定的(用常用的名字如A0,A1,A2)。这也就是寻址码。所以为什么同一IIC总线上同一型号的IC只能最多共挂8片同种类芯片的原因了。

3、最低一位就是R/W位,,“0”表示写,“1”表示读(通常读写信号中写上面有一横线,表示低电平)。所以I2C设备通常有两个地址,即读地址和写地址。

1602液晶常用库和函数

我们用1602液晶时,首先要将一个文件夹LiquidCrystal_I2C复制到Arduino安装路径里面的库文件夹中,因为默认安装的时候是没有带这个库的。如果不拷贝,编译的时候程序就会有错误提示。

以下是常用的关于1602液晶的函数

lcd.setCursor(0,1); //设置列和行,都是从0开始。

lcd.print(); //显示

lcd.print(num); //显示变量 lcd.print(‘9’);//显示单片字符

lcd.print(“hello!”); //显示字符串

lcd.cursor(); //显示光标 lcd.noCursor(); //关光标

lcd.blink(); //开闪烁 lcd.noBlink(); //关闪烁

lcd.display(); //显示

lcd.noDisplay(); //不显示

lcd.clear(); //清屏

lcd.backlight(); //开背光

lcd.noBacklight(); //关背光

IIC-1602液晶程序

#include

#include

LiquidCrystal_I2C lcd(0x27,16,2); // 将LCD地址设置为0x27以显示16个字符和2行

void setup()

{

lcd.init(); // 初始化

lcd.backlight(); //开背光灯,这个功能如果用普通的1602是没有的

}

void loop()

{

lcd.setCursor(0,0); //从第1行,1列开始显示

lcd.print("Arduino Display!"); // 显示字符串

lcd.setCursor(0,1); //从第2行,1列开始显示

lcd.print("Hello,World!"); // 显示字符串

delay(3000); // 延时5S

lcd.clear(); //清除屏幕显示

delay(1000); // 延时1S

}

67736101ac2c37e480af4dace97ef562.png

程序界面

显示效果

程序开机显示3S,过后。屏幕清除,清除过1S后。再显示。

0ee07753f32b8113ef3df788610c1d9f.png

显示效果

ffb7824070c9b69837258899fd5c0db9.png

清屏效果

上面我们介绍了液晶的很多常用函数,网友们可以自己把这些常用函数加载进去试一下效果。这样通过不断的试验和练习,编程水平就会慢慢的提升起来。记住,世界上任何一门技能都没法速成。所以大家在学习的时候,要坚持再坚持。日拱一卒。如果学习的过程中有什么疑问了,也可以私信我们。后面,我们也会推出视频,详细的讲解本章节的内容。

本章节所有资料和软件都可以找我索取,请在私信或者发邮件时。注明资料编号:A008。一定要注明编号,要不然,我不知道大家需要什么资料。因为每天找我要软件和代码的网友太多了。

也不用说谢谢,如果您喜欢我们。请多多点赞和转发。让每一个人都享受编程带来的乐趣。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现这个功能需要一些硬件设备和软件库。需要准备的硬件设备包括: - Arduino Uno主控板 - RFID-RC522模块 - LCD1602液晶屏 - 杜邦线若干 需要安装的软件库包括: - SPI库 - MFRC522库 - LiquidCrystal库 下面是一个简单的代码示例,可以实现LCD1602显示RFID卡的UID码: ``` #include <SPI.h> #include <MFRC522.h> #include <LiquidCrystal.h> #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // 创建MFRC522实例 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // 创建LiquidCrystal实例 void setup() { Serial.begin(9600); // 初始化串口 SPI.begin(); // 初始化SPI通信 mfrc522.PCD_Init(); // 初始化MFRC522模块 lcd.begin(16, 2); // 初始化LCD1602屏幕 lcd.print("RFID-2023-05-30"); // 在屏幕上显示欢迎信息 } void loop() { // 检测是否有RFID卡靠近 if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) { // 获取卡的UID码 String uid = ""; for (byte i = 0; i < mfrc522.uid.size; i++) { uid += String(mfrc522.uid.uidByte[i], HEX); } // 在LCD屏幕上显示UID码 lcd.clear(); lcd.setCursor(0, 0); lcd.print("UID:"); lcd.setCursor(0, 1); lcd.print(uid); // 打印UID码到串口 Serial.println(uid); // 延迟一段时间 delay(1000); } } ``` 在这个例子中,我们首先包含了SPI、MFRC522和LiquidCrystal库。然后我们定义了SS_PIN和RST_PIN,这是RFID模块的引脚,我们在setup()函数中初始化了MFRC522模块和LCD1602屏幕,并打印了欢迎信息。在loop()函数中,我们检测是否有RFID卡靠近,如果有,就获取卡的UID码,并在LCD屏幕上显示UID码。同时,我们也将UID码打印到串口上,方便调试。最后,我们延迟了一段时间,等待下一次检测。 希望这个例子对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值