数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 2715|回复: 0

[STM] 【零知ESP8266教程】快速入门14-三个IO控制8个LED灯

[复制链接]
发表于 2019-10-26 11:08:41 | 显示全部楼层 |阅读模式
本帖最后由 青柠 于 2019-10-26 11:21 编辑

在之前我们控制LED的时候,都是一个LED就需要一个对应的引脚。但是在我们开发板引脚有限的情况下,这样使用就很浪费了,我们这里加上一个新元素74HC595模块来实现只用3个IO引脚来控制8个LED。

本次试验中的74HC595实际上就是一个串行输入并行输出的位移缓存器,因此它能使用少量IO来控制多个输出,这在引脚有限的情况下要控制很多LED是非常有用的。

一、工具原料
电脑,windows系统
零知ESP8266开发板
micro-usb线
LED灯红色4个,黄色4个
220Ω 电阻8个
74HC595模块一个
面包板一个+若干跳线

二、硬件连接



三、方法步骤
1、打开零知实验室软件开发工具,如图:

2、然后新建项目,输入以下代码:

  1. /**
  2. *    文件: 74HC595-8led.ino      by 零知实验室([url=http://www.lingzhilab.com]www.lingzhilab.com[/url])
  3. *    -- 零知开源,让电子制作变得更简单! --
  4. *    时间: 2019/05/31 13:39
  5. *    说明: 使用74HC595 模块控制8个led,显示从0-255的二进制编码,
  6. **/
  7.   
  8. int data  = D1;//74HC595的14脚 数据输入引脚SI
  9. int clockC = D2;//74hc595的11脚 时钟线 SCK
  10. int latch = D4;//74hc595的12脚 输出存储器锁存线RCK
  11.   
  12. // the setup routine runs once when you press reset:
  13. void setup() {
  14.     // put your setup code here, to run once:
  15.         pinMode(data, OUTPUT);
  16.         pinMode(clockC, OUTPUT);
  17.         pinMode(latch, OUTPUT);
  18.     Serial.begin(9600);
  19. }
  20.   
  21. // the loop routine runs over and over again forever:
  22. void loop() {
  23.     // put your main code here, to run repeatedly:
  24.          
  25.         for(int i = 0; i < 256; i++)//一共8位,可以显示0-255的二进制编码
  26.         {
  27.             Serial.println(i);
  28.          
  29.                 digitalWrite(latch, LOW);//
  30.                 shiftOut(data, clockC, MSBFIRST, ~i);//串行数据输出,高位在先
  31.                 digitalWrite(latch, HIGH);//锁存
  32.                 delay(500);
  33.         }
  34. }
复制代码

2、按照之前的方式先【验证】,然后【上传】到开发板中。
四、成果展示
上面步骤成功完成后,我们就可以看到预期的结果了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-21 16:42 , Processed in 0.358801 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表