proteus中仿真arduino利用74hc595控制数码管

前面我们介绍了利用595控制LED的方法(具体参考《proteus中仿真arduino利用74hc595控制LED》),这里我们继续前面的话题,介绍一下在proteus中仿真arduino利用74HC595控制单个数码管的方法,对数码管还不熟悉的童鞋可以参考《用arduino控制数码管》中对数码管的详细介绍。

一、电路
用到的器件:Atmega328P、74HC595、7SEG-DIGITAL、Resistor、LED-RED
在这里插入图片描述
二、代码

int latchPin=12;
int clockPin=8;
int dataPin=11;

int mseg[10]={0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0xBF};
void setup () {

pinMode(latchPin,OUTPUT);
pinMode(clockPin,OUTPUT);
pinMode(dataPin,OUTPUT);

}

void loop()
{

for(int x=0; x<10; x++)
{
    digitalWrite(latchPin,LOW); 
    //这个for循环的作用等同于shiftOut一个函数的作用
     for(int i=0;i<8;i++)
    {
    digitalWrite(dataPin,bitRead(mseg[x],7-i));
    digitalWrite(clockPin,HIGH);
    delay(1);
    digitalWrite(clockPin,LOW);
    }
    //shiftOut(dataPin,clockPin,MSBFIRST,mseg[x]);
    digitalWrite(latchPin,HIGH); 
    delay(100); 
  }
}

这里的shiftout可以完全替代内层的for循环及内部的语句,可见shiftout是专门为595量身定制的。

发布了116 篇原创文章 · 获赞 79 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/haigear/article/details/103536610