arduino 74hc595 控制8位LED

按位点亮

1、了解74hc595的原理,每个引脚名称作用

这里我就不多说了,关于74hc595的资料网上有很多,一看就能明白。

2、准备好实验需要的器件

led 8个
230Ω电阻 8个(我没有使用)
arduino uno
导线若干

74hc595的接线:
vcc 5v
GND
WR 5V
HS_CP 12
ST_CP 8
DS 11
OE GND

3、程序代码

int ST = 8;
int HS = 12;
int DS = 11; //这里定义了那三个脚
int num[8]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//定义一个存放16进制数的数组
          //0000 0001   0000 0011 ......   转换为2进制就是这样的,很清楚操控的哪一位。
void setup ()
{
  pinMode(ST,OUTPUT);
  pinMode(HS,OUTPUT);
  pinMode(DS,OUTPUT); //让三个脚都是输出状态
}
void loop()
{
  int i=0;
  for(i=0; i<8;i++)  //进行8次的循环
  {
    digitalWrite(ST,LOW); //将ST_CP口上面加低电平让芯片准备好接收数据
    shiftOut(DS,HS,LSBFIRST,num[i]);//num[i] 依次把数组的值送给595
    //用MSBFIRST参数与LSBFIRST可以改变点亮的顺序
    
    digitalWrite(ST,HIGH); //将ST_CP这个针脚恢复到高电平
    delay(1000); //暂停1秒钟让你看到效果
 }
 for(i=7; i>0;i--) //这里再次循环,与上次的点亮顺序相反、注意这里的i=7,因为数组元素是从0开始计数的
   {
    digitalWrite(ST,LOW); 
   shiftOut((DS,HS,LSBFIRST,num[i]);
   digitalWrite(ST,HIGH); 
   delay(1000);
  }
} 

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liu Zz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值