找回密码
 立即注册

QQ登录

只需一步,快速开始

本帖最后由 lxf 于 2020-8-15 09:50 编辑

第51课 EEPROM存储显示


目标

EEPROM记录存储按键按下的次数,并在LED1602显示屏模块上进行显示。

实验材料

Arduino UNO开发板
LED1602显示屏模块
按钮模块*2
配套USB数据线
配套杜邦线若干
Arduino IDE软件

微信图片_20200720153600.png

内容

EEPROM记录存储按键按下的次数,并在LED1602显示屏模块上进行显示,黄色按钮每按一次,数字加1,蓝色按钮被按下,数字清零。

接线图

图片2.png

接线方式

Arduino UNO    <------>   LCD1602显示屏
          5V            <------>            VCC
         GND          <------>            GND
          A4            <------>             SDA
          A5            <------>             SCL
Arduino UNO     <------>    黄色按钮模块
         5V               <------>             V
      GND              <------>             G
         5                 <------>             D
Arduino UNO     <------>    蓝色按钮模块
        5V                <------>             V
      GND              <------>             G
        6                  <------>             D

程序实现代码

  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>   //LCD1602显示屏库文件
  3. #include <EEPROM.h>    //EEPROM库文件
  4. volatile int X;   //定义一个整型变量X
  5. LiquidCrystal_I2C mylcd(0x27,16,2);     //设置LCD1602设备地址,这里的地址是0x27
  6. void setup(){
  7.   X = 0;    //初始化X变量为0
  8.   mylcd.init();     // 初始化LCD
  9.   mylcd.backlight();     //设置LCD背景等亮
  10.   pinMode(6, INPUT);   //定义6号引脚为输入
  11.   pinMode(5, INPUT);   //定义5号引脚为输入
  12. }
  13. void loop(){
  14.   mylcd.setCursor(1-1, 1-1);   //设置显示指针,这里是第1行第1列
  15.   mylcd.print(EEPROM.read(1));   //在Lcd显示屏上输出存储器地址为1的字节
  16.   if (digitalRead(6) == true) {   //如果蓝色按钮被按下,那么存储器地址为1的字节清0 ,Lcd显示屏清屏
  17.     delay(300);
  18.     EEPROM.write(1, 0);
  19.     mylcd.clear();
  20.   }
  21.   X = EEPROM.read(1);   //把存储器地址为1的字节赋值给X
  22.   if (digitalRead(5) == true) {   //如果黄色按钮被按下
  23.     while (digitalRead(5) == true) {   //侦测等待黄色按钮被松开
  24.       delay(10);
  25.     }
  26.     X = X + 1;  // X加1
  27.     EEPROM.write(1, X);   //存储器地址为1的字节写入X的数值
  28.     mylcd.setCursor(1-1, 1-1);    //设置显示指针,这里是第1行第1列
  29.     mylcd.print(EEPROM.read(1));  //在Lcd显示屏上输出存储器地址为1的字节
  30.   }
  31. }
复制代码
分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册