找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1890|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

如何實現(xiàn)單片機8個led燈從兩邊向中間流水燈的程序?目前只會單向的流水

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1076068 發(fā)表于 2023-5-8 15:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機程序(8個LED燈)
想問一下如何實現(xiàn)51單片機8個led燈從兩邊向中間流水燈效果的程序,只會單向的流水效果。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:824490 發(fā)表于 2023-5-8 17:10 | 只看該作者
查表,簡單粗暴絕對給力!
8個太少了,32個才好看。。
或是計算,如下:
//m^n函數(shù)
//返回值:m^n次方.
unsigned long  prv_pow(unsigned char m,unsigned char n)
{
        unsigned long result=1;         
        while(n--)        result=result*m;   
        return result;
}        

void main()
{   unsigned char i;   
for(i=0;i<4;i++)
{
P1=prv_pow(2,i)+prv_pow(2,7-i);
delay_ms(500);
}while(1);
}

回復(fù)

使用道具 舉報

板凳
ID:374110 發(fā)表于 2023-5-8 17:32 | 只看該作者
可以定義一個數(shù)組每次取數(shù)組預(yù)存好的數(shù),或者高位,低位分別*2或/2計算,看自己的喜好方法還是有不少
回復(fù)

使用道具 舉報

地板
ID:584814 發(fā)表于 2023-5-8 17:32 | 只看該作者
這個很簡單,最多幾十行代碼就可以。
你會單向的流水效果,可以試下反向的流動,再合成從中間起流動就可以了。
回復(fù)

使用道具 舉報

5#
ID:123289 發(fā)表于 2023-5-9 09:04 | 只看該作者
換個思想吧,沒有方向這一說!
1、將各個燈的明暗狀態(tài),看作是的個數(shù)組的組元素(A1,A2,A3,A4……)。A的每一位0/1對應(yīng)一個燈的明暗。
2、每間隔一個時間TG,切換一個組元素,送出顯示。
這樣,改變TG的大小,就改變了速度。
改變,A1,A2,A3,A4值(或排序),就改變的LED燈的顯示狀態(tài)。
如果,A1,A2,A3,A4……的組合,形成左移的效果,看上去就左移了;形成右移的效果,看上去就右移了;看上去形成跳動的效果,看上去就跳動了……
你想怎么玩就怎么玩!
程序構(gòu)思巧妙,易寫,邏輯清晰。
你要玩的花色,就是在如何將LED的各種顯示組合,編制了A1,A2,A3……
如果,你設(shè)計了N個方案(單燈左移,單燈右移,雙燈左移,雙燈右移,暫停、全閃、……),就做成N的數(shù)組。每按一次鍵就換一個數(shù)組取值,顯示。"
回復(fù)

使用道具 舉報

6#
ID:291668 發(fā)表于 2023-5-9 09:20 | 只看該作者
集思廣益,多多益善。有想法就能實現(xiàn)
回復(fù)

使用道具 舉報

7#
ID:908826 發(fā)表于 2023-5-9 09:32 | 只看該作者
定義一個數(shù)組是一個思路
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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