欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

用數組點亮單片機流水燈結果沒有動態效果直接全亮了?

查看數: 3912 | 評論數: 4 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2019-2-17 11:29

正文摘要:

很喜歡51黑論壇,論壇里面有很多熱心的大佬,這是我見過的最有愛的論壇,沒有之一。每一位回貼的網友都是優秀的老師,像我這樣的小白在這里能學到很多東西。 最近想用數組跑一個流水燈,LED的引腳是隨便接的,考慮 ...

回復

ID:466499 發表于 2019-2-17 22:46
wulin 發表于 2019-2-17 20:36
你這樣寫LED驅動函數不行,改成這樣就可以了。

看了你的例程,我在我的程序LED()驅動函數里面加了一個參數y,在main函數的for循環里面調用了這個帶參數的驅動函數LED(y),就美妙的跑起來了,跪謝大佬用心給我仿真,祝新年快樂!萬事大吉!
ID:466499 發表于 2019-2-17 22:07
頂頂頂!還有沒有其它好方法實現啊,這種引腳分散的怎么用數組來操作哦?
ID:154074 發表于 2019-2-17 21:49
你的大循環沒寫
ID:213173 發表于 2019-2-17 20:36
你這樣寫LED驅動函數不行,改成這樣就可以了。



#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit LED1  = P3^5;
sbit LED2  = P1^7;
sbit LED3  = P1^6;
sbit LED4  = P1^5;
sbit LED5  = P1^4;
sbit LED6  = P1^3;
sbit LED7  = P3^7;
sbit LED8  = P0^0;
sbit LED9  = P1^2;
sbit LED10 = P1^0;
sbit LED11 = P3^2;
sbit LED12 = P1^1;
//全局變量//
uint y;
//定義LED數組//
uint leddata[]={0xfffe,0xfffd,0xfffb,0xfff7,0xffef,0xffdf,0xffbf,0xff7f,0xfeff,0xfdff,0xfbff,0xf7ff};
//延時函數//
delay(uint t)
{
        uint i,j;
        for(i=t;i>0;i--)
                for(j=112;j>0;j--);
}
//LED驅動函數//
void LED(uint i)//寫入12位數據
{   
        LED1=i&0x01;i>>=1;       
        LED2=i&0x01;i>>=1;
        LED3=i&0x01;i>>=1;
        LED4=i&0x01;i>>=1;
        LED5=i&0x01;i>>=1;
        LED6=i&0x01;i>>=1;
        LED7=i&0x01;i>>=1;
        LED8=i&0x01;i>>=1;
        LED9=i&0x01;i>>=1;
        LED10=i&0x01;i>>=1;
        LED11=i&0x01;i>>=1;
        LED12=i&0x01;
}

void main()
{
        uchar j=0;
        while(1)
        {
                y=leddata[j];
                LED(y);
                j++;
                j%=12;
                delay(500);
        }
}


評分

參與人數 2黑幣 +18 收起 理由
Trump1438 + 8 回帖助人的獎勵!
toaaa + 10 跪謝大佬!按照你的例程我找到了我程序問題.

查看全部評分

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表