久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1823|回復: 5
打印 上一主題 下一主題
收起左側

單片機呼吸燈代碼問題求教

[復制鏈接]
跳轉到指定樓層
樓主
ID:469787 發表于 2019-10-26 20:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
不知道哪里出了問題呼吸燈在逐漸達到最亮后會突然滅掉零點幾秒  然后在亮起來逐漸變暗

代碼如下


#include <reg52.h>
sbit led=P1^1;
void time(unsigned int t)
{
while(--t);
}                            //延時函數
void main()
     {
unsigned int m=400,k=0;
          while(1)        //主循環
            {
                       for(k=1;k<m;k++)
               {
          led=0;
     time(k);
          led=1;        
          time(m-k);
               }              //逐漸變亮


               for(k=400;k>0;k--)
               {
                         led=0;
                         time(k);
                         led=1;
                         time(m-k);
                   }           //逐漸變暗
            }                                             
          }


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:89515 發表于 2019-10-27 06:44 來自手機 | 只看該作者
查看一下K值的變化就知道了
回復

使用道具 舉報

板凳
ID:213173 發表于 2019-10-27 09:54 | 只看該作者
錯誤在K值不能為0,否則帶入延時函數后while(--t);,--t是先運算再判斷,t值就成了65535。led=1;就要延時2*t+5us。
可以改為while(t--);,t--是先判斷再運算。當然也可以不改延時函數而是改for循環條件解決。
回復

使用道具 舉報

地板
ID:151924 發表于 2019-10-27 10:45 | 只看該作者
K值出問題了。
回復

使用道具 舉報

5#
ID:469787 發表于 2019-10-27 11:01 | 只看該作者
wulin 發表于 2019-10-27 09:54
錯誤在K值不能為0,否則帶入延時函數后while(--t);,--t是先運算再判斷,t值就成了65535。led=1;就要延時2* ...

https://v.youku.com/v_show/id_XNDQxMzIzMDA0MA==.html?spm=a2h3j.8428770.3416059.1


視頻如上  我改成while(t--)還是一樣
回復

使用道具 舉報

6#
ID:213173 發表于 2019-10-27 12:22 | 只看該作者
在線 發表于 2019-10-27 11:01
視頻如上  我改成while(t--)還是一樣

改延時while(t--);或改for循環中參數time(m-k+1);,隨便改哪一種都可以,只是呼吸周期略有區別。
  1. #include <reg52.h>
  2. sbit led=P1^1;
  3. void time(unsigned int t)
  4. {
  5.         while(t--);
  6. }                            //延時函數
  7. void main()
  8. {
  9.         unsigned int m=500,k=0;
  10.         while(1)        //主循環
  11.         {
  12.                 for(k=1;k<m;k++)
  13.                 {
  14.                         led=0;
  15.                         time(k);
  16.                         led=1;        
  17.                         time(m-k);
  18.                 }              //逐漸變亮
  19.                 for(k=500;k>0;k--)
  20.                 {
  21.                         led=0;
  22.                         time(k);
  23.                         led=1;
  24.                         time(m-k);
  25.                 }           //逐漸變暗
  26.         }
  27. }
復制代碼


#include <reg52.h>
sbit led=P1^1;
void time(unsigned int t)
{
        while(--t);
}                            //延時函數
void main()
{
        unsigned int m=500,k=0;
        while(1)        //主循環
        {
                for(k=1;k<m;k++)
                {
                        led=0;
                        time(k);
                        led=1;        
                        time(m-k+1);
                }              //逐漸變亮
                for(k=500;k>0;k--)
                {
                        led=0;
                        time(k);
                        led=1;
                        time(m-k+1);
                }           //逐漸變暗
        }                                             
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久综合久久久 | 欧洲视频一区二区 | 美女久久| 成人在线播放 | 国产黄色大片网站 | 国产精品欧美大片 | 欧美成人激情 | 99精品国产一区二区三区 | 日韩1区| 在线国产小视频 | 成人一区二区视频 | 久久精品日产第一区二区三区 | 男女污网站| 国产欧美日韩在线观看 | 欧美亚洲另类丝袜综合网动图 | 久久精品国产一区二区三区不卡 | 欧美激情精品久久久久久免费 | av高清毛片 | 欧美h视频 | 免费看黄色片 | 伊人精品在线 | 天天av网 | 91在线影院 | 国产欧美在线视频 | 久久久久国产成人精品亚洲午夜 | 欧美自拍第一页 | 亚洲国产精品一区二区久久 | 91久久婷婷 | 91精品国产欧美一区二区成人 | 欧美精品啪啪 | 狠狠av| 成人国产精品免费观看视频 | 在线看av的网址 | 久久99深爱久久99精品 | 久久精品亚洲成在人线av网址 | 麻豆一区二区三区精品视频 | 一区二区高清 | 国产精品国产精品国产专区不卡 | 国产精品日韩一区 | 91久久精品一区二区二区 | 在线成人 |