找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

怎么能讓單片機(jī)上電后 呼吸燈慢慢亮了后就保持一直亮著

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:285295 發(fā)表于 2018-2-24 22:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
那位師傅幫我 寫個(gè)小程序  本人小白 別見笑     就是怎么能讓單片機(jī)上電后  呼吸燈慢慢亮了后就保持一直亮著 在這個(gè)程序里怎么修改    謝謝給予指導(dǎo)名稱:PWM調(diào)光內(nèi)容:通過PWM(脈寬調(diào)制)調(diào)節(jié)LED的亮度


  內(nèi)容:通過PWM(脈寬調(diào)制)調(diào)節(jié)LED的亮度
------------------------------------------------*/
  1. #include<reg52.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義

  2. sbit LED0=P1^0;// 用sbit 關(guān)鍵字 定義 LED到P1.0端口,LED是自己任意定義且容易記憶的符號


  3. void Delay(unsigned int t); //函數(shù)聲明
  4. /*------------------------------------------------
  5.                     主函數(shù)
  6. ------------------------------------------------*/
  7. void main (void)
  8. {

  9. unsigned int CYCLE=600,PWM_LOW=0;//定義周期并賦值
  10. while (1)         //主循環(huán)
  11.   {
  12. LED0=1;
  13. Delay(60000);        //特意加延時(shí),可以看到熄滅的過程
  14. for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++){ //PWM_LOW表示低
  15. //電平時(shí)間,這個(gè)循環(huán)中低電平時(shí)長從1累加到CYCLE(周期)的值,即600次

  16.                    LED0=0;        //點(diǎn)亮LED  
  17.                    Delay(PWM_LOW);//延時(shí)長度,600次循環(huán)中從1加至599
  18.                    LED0=1;        //熄滅LED
  19.               Delay(CYCLE-PWM_LOW);//延時(shí)長度,600次循環(huán)中從599減至1

  20.    }
  21. LED0=0;
  22. for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--){ //與逐漸變亮相反的過程

  23.                    LED0=0;
  24.                    Delay(PWM_LOW);
  25.                    LED0=1;
  26.               Delay(CYCLE-PWM_LOW);

  27.    }
  28.                      //主循環(huán)中添加其他需要一直工作的程序
  29.   }
  30. }
  31. /*------------------------------------------------
  32. 延時(shí)函數(shù),含有輸入?yún)?shù) unsigned int t,無返回值
  33. unsigned int 是定義無符號整形變量,其值的范圍是
  34. 0~65535
  35. ------------------------------------------------*/
  36. void Delay(unsigned int t)
  37. {
  38. while(--t);
  39. }
復(fù)制代碼


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

使用道具 舉報(bào)

沙發(fā)
ID:78536 發(fā)表于 2018-2-24 23:17 | 只看該作者
用定時(shí)器做會(huì)好控制一些
回復(fù)

使用道具 舉報(bào)

板凳
ID:164602 發(fā)表于 2018-2-25 09:35 | 只看該作者
很簡單啊!
就你的程序而言,將變暗的部分去掉,變亮的部分移到主程序之外的前邊就可以了。
回復(fù)

使用道具 舉報(bào)

地板
ID:274747 發(fā)表于 2018-2-25 10:38 | 只看該作者
定時(shí)制做好,弄個(gè)無線循環(huán)應(yīng)該就一直亮了
回復(fù)

使用道具 舉報(bào)

5#
ID:274747 發(fā)表于 2018-2-25 10:38 | 只看該作者
將定時(shí)器做個(gè)無限循環(huán)
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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