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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)新人剛學(xué),在學(xué)到LED流水程序有些不會

[復(fù)制鏈接]
ID:1015310 發(fā)表于 2022-4-2 23:36 | 顯示全部樓層 |閱讀模式
這個閃爍間隔300ms左右還有:增加閃爍間隔時間(一次增加50ms)
        增加閃爍間隔時間(一次減少加50ms)   
單片機(jī)程序?qū)懙竭@不會寫了  求求幫幫可以嘛   需要咋改

#include<AT89X52.H>
#include<intrins.h>
sbit SW=P3^0;
typedef unsigned int u16;
void delay(u16 i)
{
         
                while(i--);
}

void main()
{
  unsigned char i;
        unsigned char temp;
         unsigned int CYCLE=600,PWM_LOW=0;

        
               
        if(SW!=0)
        {
                temp=0x80;
                for(i=0;i<8;i++)
                  {
                        P1=~temp;
                        delay(50000);
                        temp=_cror_(temp,1);
                  }
                        
        }        

        if(SW==0)
          {
                        
                temp=0x01;
                 for(i=0;i<8;i++)
      {
                        P1=~temp;
                        delay(50000);
                  
                                
                        temp=_crol_(temp,1);
            }
               
    }

}

回復(fù)

使用道具 舉報

ID:121859 發(fā)表于 2022-4-3 08:44 | 顯示全部樓層
你這個程序框架是無法實(shí)現(xiàn)所說的功能的。可以考慮用定時器,或者增加幾個變量來嘗試。最好還是用中斷比較好。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:1015310 發(fā)表于 2022-4-3 09:24 | 顯示全部樓層
zhxiufan 發(fā)表于 2022-4-3 08:44
你這個程序框架是無法實(shí)現(xiàn)所說的功能的。可以考慮用定時器,或者增加幾個變量來嘗試。最好還是用中斷比較好 ...

謝謝啦   可是我還是不太懂  因?yàn)閯倢W(xué)有些東西沒學(xué)到      我現(xiàn)在想做的是用開關(guān)改變流水燈的走向 和 延遲遞增
回復(fù)

使用道具 舉報

ID:842100 發(fā)表于 2022-4-3 11:20 | 顯示全部樓層
你可以用這種方式,能實(shí)現(xiàn)就是太啰嗦了,適合我這樣的新手,你試試肯定可以完成你說的功能,精確度不高,可以用debug,盡量減小誤差
void main()
{   sbit  SW=P3^0;//盡量不用這個端口,P3口的端口都是雙功能口,可以用P012的任意端口
   unsigned  long i=0;
  unsigned char  j=xx;
  while(1)
  {
     while(j--)//這里的值需要計(jì)算看下面一次循環(huán)需要多少時間給j賦值
    {
      SW=1;
      for(i=0;i<xx;i++);
      SW=0;
      for(i=0;i<xx;i++);
    }
     j=xx;//
while(j--)//這里的值需要計(jì)算看下面一次循環(huán)需要多少時間給j賦值
    {
      SW=1;
      for(i=0;i<xx;i++);
      SW=0;
      for(i=0;i<xx;i++);
    }
  }
}


評分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:96744 發(fā)表于 2022-4-3 15:38 | 顯示全部樓層
把Delay(50000) 改成Delay(X),然后,通過按鍵改變X的值即可。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:1015310 發(fā)表于 2022-4-4 08:15 | 顯示全部樓層
alunli 發(fā)表于 2022-4-3 15:38
把Delay(50000) 改成Delay(X),然后,通過按鍵改變X的值即可。

我試過了  改為X就會閃得超級很快
回復(fù)

使用道具 舉報

ID:1007932 發(fā)表于 2022-4-4 17:05 | 顯示全部樓層
有一個簡單的方法,把端口的狀態(tài)值寫到一個數(shù)組里(數(shù)組最好加code關(guān)鍵字),然后再循環(huán)延時調(diào)用。
回復(fù)

使用道具 舉報

ID:1015310 發(fā)表于 2022-4-7 07:50 | 顯示全部樓層
一事無成 發(fā)表于 2022-4-4 17:05
有一個簡單的方法,把端口的狀態(tài)值寫到一個數(shù)組里(數(shù)組最好加code關(guān)鍵字),然后再循環(huán)延時調(diào)用。

不會呀。。。聽不懂
回復(fù)

使用道具 舉報

ID:807651 發(fā)表于 2022-4-7 08:41 | 顯示全部樓層
herohr0209 發(fā)表于 2022-4-4 08:15
我試過了  改為X就會閃得超級很快

有沒有給X賦值啊,按現(xiàn)在一開始X=50000,通過按鍵1按一下 X=X+5000,按鍵2按一下X=X-5000,通過按鍵改變延時時間。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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