0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實(shí)現(xiàn)一個(gè)LED流水燈程序

CHANBAEK ? 來源:工控小新 ? 作者:工控小新 ? 2023-11-10 11:37 ? 次閱讀

本節(jié)重點(diǎn):實(shí)現(xiàn)一個(gè)LED流水燈程序

預(yù)備知識:

一、C語言常用到的預(yù)處理命令

1、define

define是宏定義,程序在預(yù)處理階段將用define定義的內(nèi)容進(jìn)行了替換 。因此在程序運(yùn)行時(shí),常量表中并沒有用define定義的常量,系統(tǒng)不為它分配內(nèi)存。

使用#define定義的常量也稱為符號常量,可以提高程序的運(yùn)行效率。

其常見的用法包括兩種,分別是:

1)#define 宏名 宏值
2)#define 宏名(參數(shù)列表)表達(dá)式

而define命令的用法一般分為兩種:

第一種語法就是定義符號常量

第二種語法常用來定義符號函數(shù)。

舉例說明一下:

#define A 3.14

執(zhí)行這個(gè)條件之后,就是能直接將3.14的數(shù)值給到A上。

#define AREA(x,y)(x)*(y)

表示用來求長和寬分別是x和y的矩形的面積。

二、函數(shù)循環(huán)左移/右移

crol (a,b);循環(huán)左移函數(shù),a是左移的值,b是左移的位數(shù)。包含在intrins.h庫函數(shù)里面。

cror (a,b);循環(huán)右移函數(shù),a是右移的值,b是右移的位數(shù)。包含在intrins.h庫函數(shù)里面

編寫程序:

有了上述的知識儲備之后,我們在編寫一個(gè)LED流水燈的程序。

流水燈思路:

首先點(diǎn)亮第一個(gè)LED燈,然后延時(shí)一段時(shí)間,再將當(dāng)前LED熄滅,然后點(diǎn)亮第二個(gè)LED燈,這個(gè)過程通過一個(gè)函數(shù)移動(dòng)的方式去實(shí)現(xiàn),再延時(shí)一段時(shí)間,熄滅LED燈,如此往復(fù)的循環(huán)下去,就能實(shí)現(xiàn)一個(gè)LED燈的流水視覺。

(本此實(shí)驗(yàn)LED燈組采用的是共陰極接法,也就是說需要單片機(jī)引腳輸出一個(gè)1,才會使得LED燈點(diǎn)亮)

程序編寫:

#include< reg52.h >                         //頭文件

#include< intrins.h >                       //頭文件

typedef unsigned char u8;            //定義類型

typedef unsigned int u16;

#define led P2                              //定義LED燈組使用的是P2的八個(gè)引腳

void delay(u16 i)                          //延時(shí)函數(shù)delay

{

 while(i--);

}

void main()

{

u8 i=0;                                   //定義變量i

led=0x01;                             //設(shè)置LED燈組的初始狀態(tài)值(0000 0001,使用的是共陰極)

  delay(50000);

  while(1)

  {

for(i=0;i< 7;i++)                   //for循環(huán)函數(shù),初始值i為0,滿足i< 7的條件,每次循環(huán)一次執(zhí)行i自加1

   {

led=_crol_(led,1);             //LED左移函數(shù),每次執(zhí)行for循環(huán)執(zhí)行一次函數(shù)移動(dòng)

delay(50000);

   }

   for(i=0;i< 7;i++)

   {

led=_cror_(led,1);             //LED右移函數(shù),每次執(zhí)行for循環(huán)執(zhí)行一次函數(shù)移動(dòng)

delay(50000);

   }

  }

}

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    240

    文章

    23062

    瀏覽量

    657053
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7594

    瀏覽量

    135858
  • 流水燈
    +關(guān)注

    關(guān)注

    21

    文章

    432

    瀏覽量

    59598
  • 程序
    +關(guān)注

    關(guān)注

    116

    文章

    3756

    瀏覽量

    80751
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    676

    瀏覽量

    21965
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用c語言實(shí)現(xiàn)LED流水燈

    單片機(jī)實(shí)驗(yàn):使用c語言實(shí)現(xiàn)LED流水燈目的:實(shí)現(xiàn)個(gè)簡單的
    發(fā)表于 11-30 07:52

    LED流水燈功能實(shí)現(xiàn)

    )項(xiàng)目任務(wù)ü 任務(wù)1:點(diǎn)亮LEDn 子任務(wù)1.1 LED電路認(rèn)識n 子任務(wù)1.2 C語言編程框架認(rèn)識n 子任務(wù)1.3 實(shí)現(xiàn)點(diǎn)亮LED功能ü 任務(wù)2:
    發(fā)表于 11-30 07:13

    個(gè)簡單流水燈程序仿真

    個(gè)簡單流水燈程序仿真,可以實(shí)現(xiàn)花式亮滅,循環(huán)。
    發(fā)表于 11-25 11:40 ?7次下載

    LED流水燈程序【匯編版】

    LED流水燈程序【匯編版】LED流水燈程序【匯編版】LED
    發(fā)表于 12-29 11:15 ?0次下載

    LED流水燈程序【C語言版】

    LED流水燈程序【C語言版】LED流水燈程序【C語言版】LE
    發(fā)表于 12-29 11:05 ?0次下載

    LED流水燈程序【C語言+匯編版】

    LED流水燈程序【C語言+匯編版】,感興趣的朋友可以學(xué)習(xí)。
    發(fā)表于 12-31 10:36 ?0次下載

    個(gè)流水燈的C51程序

    流水燈的C51程序流水燈的C51程序流水燈的C51程序
    發(fā)表于 01-07 16:55 ?3次下載

    VHDL例程流水燈LED程序

    VHDL例程 流水燈LED程序,感興趣的小伙伴們可以瞧瞧。
    發(fā)表于 11-11 11:20 ?12次下載

    LED流水燈程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是LED流水燈程序免費(fèi)下載。
    發(fā)表于 03-13 08:00 ?4次下載
    <b class='flag-5'>LED</b><b class='flag-5'>流水燈</b>的<b class='flag-5'>程序</b>免費(fèi)下載

    使用51單片機(jī)實(shí)現(xiàn)LED流水燈程序和仿真資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)實(shí)現(xiàn)LED流水燈程序和仿真資料免費(fèi)下載。
    發(fā)表于 12-07 08:00 ?36次下載
    使用51單片機(jī)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>LED</b><b class='flag-5'>流水燈</b>的<b class='flag-5'>程序</b>和仿真資料免費(fèi)下載

    如何通過FPGA實(shí)現(xiàn)個(gè)流水燈?

    流水燈,有時(shí)候也叫跑馬燈,是個(gè)簡單、有趣又經(jīng)典的實(shí)驗(yàn),基本所有單片機(jī)的玩家們在初期學(xué)習(xí)的階段都做過。本次我們也來介紹下如何通過小腳丫FPGA實(shí)現(xiàn)
    的頭像 發(fā)表于 06-06 10:42 ?8080次閱讀
    如何通過FPGA<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>流水燈</b>?

    51單片機(jī)入門教程(2)——實(shí)現(xiàn)流水燈

    51單片機(jī)入門教程(2)——實(shí)現(xiàn)流水燈、搭建流水燈電路二、流水燈程序2.1 延時(shí)
    發(fā)表于 11-05 15:20 ?15次下載
    51單片機(jī)入門教程(2)——<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>流水燈</b>

    Proteus使用教程并仿真51程序——LED流水燈

    Proteus使用教程并仿真51程序——LED流水燈
    發(fā)表于 11-15 15:21 ?8次下載
    Proteus使用教程并仿真51<b class='flag-5'>程序</b>——<b class='flag-5'>LED</b><b class='flag-5'>流水燈</b>

    C51單片機(jī)實(shí)驗(yàn)——LED流水燈

    實(shí)現(xiàn)LED循環(huán)點(diǎn)亮流水燈實(shí)驗(yàn)效果硬件連線:電源口通電P2口接LED流水燈模塊實(shí)驗(yàn)主要代碼:
    發(fā)表于 11-21 11:06 ?15次下載
    C51單片機(jī)實(shí)驗(yàn)——<b class='flag-5'>LED</b><b class='flag-5'>流水燈</b>

    led流水燈個(gè)個(gè)luok 仿真電路和源碼

    led流水燈個(gè)個(gè)luok 仿真電路和源碼
    發(fā)表于 12-28 09:34 ?18次下載