找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 24204|回復(fù): 7
收起左側(cè)

Arduino花樣流水燈源碼,請看內(nèi)容。

  [復(fù)制鏈接]
ID:55838 發(fā)表于 2015-4-6 22:11 | 顯示全部樓層 |閱讀模式
/************************************************************************
使用開發(fā)板型號(hào):Arduino UNO R3
單片機(jī)晶振頻率:16MHz
本列使用元器件:8個(gè)LED,8個(gè)220R電阻
電路的連接說明:LED結(jié)成陰極
************************************************************************/
/*********通過下載測試,全部代碼分為 4個(gè)子事件:*****************
              樣式 1,樣式 2,樣式 3和閃爍:
樣式 1: 1-8號(hào)燈逐個(gè)點(diǎn)亮,然后 8-1逐個(gè)熄滅。
        閃爍兩次
樣式 2:4,5號(hào)燈先亮,然后3,6號(hào)再亮,接著2,7號(hào)亮,最后1,8號(hào)亮。
        1,8號(hào)燈先滅,然后2,7號(hào)熄滅,接著3,6號(hào)滅,最后4,5號(hào)滅。
        閃爍兩次
樣式 3:1,8號(hào)燈先亮,然后1,8號(hào)熄滅, 接著2,7號(hào)亮,然后2,7號(hào)熄滅
        接著3,6號(hào)亮,然后3,6號(hào)熄滅, 接著4,5號(hào)亮,然后4,5號(hào)熄滅。
閃  爍:1-8號(hào)燈亮,延時(shí) 200ms,1-8號(hào)燈熄滅,延時(shí)200ms,閃爍兩次。
****************************************************************/
//設(shè)置控制Led 的數(shù)字IO腳
int Led1 = 1;
int Led2 = 2;
int Led3 = 3;
int Led4 = 4;
int Led5 = 5;
int Led6 = 6;
int Led7 = 7;
int Led8 = 8;
#define uchar unsigned char
//led 燈花樣顯示樣式1子程序
void style_1(void)
{
  uchar j;
  for(j=1;j<=8;j++)//每隔200ms依次點(diǎn)亮1~8引腳相連的led燈
  {
    digitalWrite(j,HIGH);//點(diǎn)亮j引腳相連的led 燈
    delay(200);//延時(shí)200ms
   }
    for(j=8;j>=1;j--)//每隔200ms依次熄滅8~1引腳相連的led燈
    {
      digitalWrite(j,LOW);//熄滅j引腳相連的led 燈
      delay(200);//延時(shí)200ms
     }  
  }
//燈閃爍子程序
void flash(void)
{   
   uchar j,k;
   for(k=0;k<=1;k++)//閃爍兩次
   {
     for(j=1;j<=8;j++)//點(diǎn)亮1~8引腳相連的led燈
     digitalWrite(j,HIGH);//點(diǎn)亮與j引腳相連的led燈
     delay(200);//延時(shí)200ms
     for(j=1;j<=8;j++)//熄滅1~8引腳相連的led燈
     digitalWrite(j,LOW);//熄滅與j引腳相連的led燈
     delay(200);//延時(shí)200ms
   }
}
//led 燈花樣顯示樣式2子程序
void style_2(void)
{
     uchar j,k;
     k=1;//設(shè)置k的初值為1
     for(j=4;j>=1;j--)//
     {
       digitalWrite(j,HIGH);//點(diǎn)亮燈
       digitalWrite(j+k,HIGH);//點(diǎn)亮燈
       delay(400);//延時(shí)400ms
       k +=2;//k值加2
     }
     k=7;//設(shè)置k值為5
     for(j=1;j<=4;j++)
     {
       digitalWrite(j,LOW);//熄滅燈
       digitalWrite(j+k,LOW);//熄滅燈
       delay(400);//延時(shí)400ms
       k -=2;//k值減2
     }
   }
   //led 燈花樣顯示樣式3子程序
   void style_3(void)
   {
     uchar j,k;//led 燈花樣顯示樣式3子程序
     k=7;//設(shè)置k值為5
     for(j=1;j<=4;j++)
     {
       digitalWrite(j,HIGH);//點(diǎn)亮燈
       digitalWrite(j+k,HIGH);//點(diǎn)亮燈
       delay(400);//延時(shí)400ms
       digitalWrite(j,LOW);//熄滅燈
       digitalWrite(j+k,LOW);//熄滅燈
       k -=2;//k值減2
     }

     k=3;//設(shè)置k值為3
     for(j=3;j>=1;j--)
     {   
       digitalWrite(j,HIGH);//點(diǎn)亮燈
       digitalWrite(j+k,HIGH);//點(diǎn)亮燈
       delay(400);//延時(shí)400ms
       digitalWrite(j,LOW);//熄滅燈
       digitalWrite(j+k,LOW);//熄滅燈
       k +=2;//k值加2
     }  
  }
  void setup()
  {
     uchar i;
     for(i=1;i<=8;i++)//依次設(shè)置1~8個(gè)數(shù)字引腳為輸出模式
     pinMode(i,OUTPUT);//設(shè)置第i個(gè)引腳為輸出模式
   }
   void loop()
   {
     style_1();//樣式1
     flash();//閃爍
     style_2();//樣式2
     flash();//閃爍
     style_3();//樣式3
     flash();//閃爍
   }   

評分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 共享資料的積分獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:138473 發(fā)表于 2016-9-5 11:04 | 顯示全部樓層
謝謝分享 。謝謝 !
回復(fù)

使用道具 舉報(bào)

ID:138144 發(fā)表于 2016-9-21 11:29 | 顯示全部樓層
Arduino好學(xué)么?
回復(fù)

使用道具 舉報(bào)

ID:50751 發(fā)表于 2016-12-18 03:13 | 顯示全部樓層
謝謝分享 。謝謝 !
回復(fù)

使用道具 舉報(bào)

ID:155803 發(fā)表于 2016-12-19 09:42 | 顯示全部樓層
xiexi
回復(fù)

使用道具 舉報(bào)

ID:412696 發(fā)表于 2019-3-9 20:27 | 顯示全部樓層
謝謝分享 。謝謝
回復(fù)

使用道具 舉報(bào)

ID:642311 發(fā)表于 2019-11-14 22:28 | 顯示全部樓層
編譯時(shí)出錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:35955 發(fā)表于 2020-3-26 10:02 | 顯示全部樓層
這算是流水燈的一些擴(kuò)展應(yīng)用了,挺好,題主舉一反三很棒
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表