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量身定製的。

發佈了120 篇原創文章 · 獲贊 93 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章