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

標題: 51單片機PWM調制實現模擬呼吸燈(Proteus仿真+程序) [打印本頁]

作者: 陳潤源home    時間: 2019-3-22 16:28
標題: 51單片機PWM調制實現模擬呼吸燈(Proteus仿真+程序)
利用PWM調制實現呼吸燈效果

廢話不多說直接上鏈接

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. //功能:通過PWM調制模擬呼吸燈
  2. //名稱:呼吸燈
  3. #include<reg52.h>                        //調用含有51專用寄存器的頭文件
  4. #define uchar unsigned char                 //用uchar代替unsigned char
  5. #define uint unsigned int                 //用uint代替unsigned int

  6. void delayms(int xms)                     //脈寬調制函數
  7. {
  8. while(xms--);
  9. }

  10. void main()                                            //主函數
  11. {
  12.            uint T=400,N=0;                   //定義周期
  13.    while(1)      
  14.   {          
  15.                                      
  16.            for(N=1;N<T;N++)                    //從暗逐漸變亮
  17.         {
  18.           P1=0x00;          
  19.           delayms(N);
  20.           P1=0xff;
  21.           delayms(T-N);       
  22.         }
  23.         P1=0xff;

  24.   for(N=T-1;N>0;N--)                     //從亮逐漸變暗
  25.         {
  26.           P1=0x00;
  27.           delayms(N);
  28.           P1=0xff;
  29.           delayms(T-N);       
  30.         }
  31.         delayms(N+10);                         //增加看到的熄滅效果
  32.    }        
  33.   }
復制代碼

所有資料51hei提供下載:
呼吸燈.rar (26.55 KB, 下載次數: 562)



作者: shenyuqiu    時間: 2019-3-23 09:32
代碼簡單易懂
作者: aking991    時間: 2019-3-25 09:22
這個我也作過,我作的是七彩呼吸燈,效果還是不錯的,計劃改作燈帶呼吸燈試試呢,不過方法值得學習借鑒。
作者: 紫色的云    時間: 2019-3-25 10:03
這方法學習了,有用謝謝分享
作者: hdivy    時間: 2019-3-25 13:00
實現呼吸燈效果,不錯的實例。
作者: July1    時間: 2019-3-25 20:28
嗯,可以試試做一下
作者: 陳潤源home    時間: 2019-3-26 22:40
shenyuqiu 發表于 2019-3-23 09:32
代碼簡單易懂


作者: zsf333666    時間: 2019-3-26 23:13
看不懂 我是伸手黨。 但我想問一下,怎么把這些代碼改成P0-P1-P2-P3端口的32只LED全部亮起(呼吸)
作者: 陳潤源home    時間: 2019-3-27 20:22
zsf333666 發表于 2019-3-26 23:13
看不懂 我是伸手黨。 但我想問一下,怎么把這些代碼改成P0-P1-P2-P3端口的32只LED全部亮起(呼吸)

給P0、P1、P2、P3同時賦值(直接在P0=0x00后面直接給其他端口賦值)
作者: 陳潤源home    時間: 2019-3-27 20:27
zsf333666 發表于 2019-3-26 23:13
看不懂 我是伸手黨。 但我想問一下,怎么把這些代碼改成P0-P1-P2-P3端口的32只LED全部亮起(呼吸)

for(N=1;N<T;N++)                    //從暗逐漸變亮
        {
          P1=0x00;
          P2=0x00;
          P3=0x00;
          P0=0x00;
          delayms(N);
          P1=0xff;
          P2=0xff;
          P3=0xff;
          P0=0xff;
          delayms(T-N);       
        }
        P1=0xff;

  for(N=T-1;N>0;N--)                     //從亮逐漸變暗
        {
          P1=0x00;
          P2=0x00;
          P3=0x00;
          P0=0x00;
          delayms(N);
          P1=0xff;
          P2=0xff;
          P3=0xff;
          P0=0xff;
          delayms(T-N);       
        }
        delayms(N+10);                         //增加看到的熄滅效果
   }
作者: MDZZzzzzz    時間: 2019-4-2 09:13
代碼簡單 特別容易理解
作者: zhangjin123    時間: 2019-4-2 10:52
感謝分享!!!

作者: life_陽子    時間: 2019-5-15 00:50
資料不準確 誤報 在PROTEUS中會閃爍
作者: 897446744    時間: 2019-5-17 09:38
牛逼了,自己試試
作者: 馬小七    時間: 2019-5-17 12:28
很棒的效果
作者: 6.6.6    時間: 2019-5-17 16:23
學習很棒的效果
作者: ww1647346515    時間: 2019-5-17 20:34
簡單易懂,,,
作者: 陳潤源home    時間: 2019-5-22 11:57
life_陽子 發表于 2019-5-15 00:50
資料不準確 誤報 在PROTEUS中會閃爍

我的錯淡定
作者: fan19961021    時間: 2019-5-28 14:07
收藏了
作者: 蝦兵0蟹將    時間: 2019-5-28 17:35
這個可以好好看看,,謝樓主
作者: qxdqx    時間: 2019-7-7 11:49
很好.謝謝!!!!!!!
作者: 我就兇猛    時間: 2019-7-7 21:03
謝謝分享啦
作者: 我就兇猛    時間: 2019-7-7 21:04
試做了一下,受益頗多
作者: fdgdf    時間: 2019-7-8 11:41
非常棒,好厲害,棒棒的
作者: 懶惰的家伙    時間: 2019-7-8 12:38
謝謝樓主分享
作者: sunwg9986    時間: 2019-7-8 14:53
新手來學習
作者: 單片機牛筆    時間: 2019-7-8 16:16
不錯大佬
作者: 哈哈就    時間: 2019-8-5 13:11
代碼簡單易懂
作者: zhangsl168    時間: 2019-8-5 16:54
注釋太詳細了,代碼也開起來比較方便!
作者: kfg    時間: 2019-10-4 23:24
萌新來學習了,最近準備給高達模型加燈,謝謝樓主共享。
作者: paruny    時間: 2019-10-6 01:39
恩,可以試試
作者: lilin520    時間: 2019-10-9 11:22

這方法學習了,有用謝謝分享
作者: 709521158    時間: 2019-10-11 23:15
方法很不錯,謝謝分享
作者: 247015164    時間: 2019-10-13 08:52
這方法學習了,有用謝謝分享
作者: 56558745    時間: 2019-10-14 13:13
我需要
作者: 濤濤啊    時間: 2019-10-14 14:49
樓主真棒
作者: LXB1451930938    時間: 2019-11-5 20:00
代碼簡單易懂
作者: 李什么林    時間: 2019-11-6 18:31
代碼簡單,回去試試看,謝謝樓主
作者: hhdsdy    時間: 2019-11-6 18:50
下載一個看看,謝謝了!
作者: bigfishboys    時間: 2019-11-6 19:45
實現呼吸燈效果,不錯的實例。
作者: 丑陋的土撥鼠    時間: 2019-11-6 21:24
看懂了呀,謝謝
作者: aasdfa    時間: 2019-11-6 22:57
十分有用,讓我們這種小白收益頗多,謝謝分享
作者: shenyuqiu    時間: 2019-11-7 16:29
這個確實簡單易懂,但做項目一個單片機只能控制呼吸燈,別的事情就做不了了
作者: 小心gdw    時間: 2019-11-7 17:32
代碼簡單易懂,剛學不久表示很好
作者: 八月初    時間: 2019-11-23 17:37
很棒,謝謝分享
作者: fuchaoqun392    時間: 2019-11-23 18:55
代碼簡單,通俗易懂 感謝樓主的分享
作者: 5136546    時間: 2019-12-18 20:09
不錯,學到了
作者: qj0200    時間: 2019-12-25 16:36
值得學習,謝謝分享!
作者: 愿你安然    時間: 2019-12-29 19:44
打算32做個七彩呼吸燈 這個存著借鑒一下
作者: 112253    時間: 2019-12-30 22:33
效果不錯,值得借鑒
作者: 792790513    時間: 2019-12-31 00:51
感謝分享
作者: jz573079513    時間: 2020-2-7 11:28
寫的不錯啊
作者: denminshen    時間: 2020-2-7 13:30
謝謝分享下載看看,不錯的資料!
作者: 持勤補拙    時間: 2020-2-8 14:18
這代碼寫得很好讓人看懂
作者: yechuan220    時間: 2020-2-8 17:17
這個我也作過,我作的是七彩呼吸燈,效果還是不錯的
作者: ysf51hei    時間: 2020-2-9 10:29
簡單粗暴,小創意不錯
作者: sedisj    時間: 2020-3-5 09:18
如何調整呼吸燈的頻率呢
作者: aniol    時間: 2020-3-5 13:48
新手入門學習中,感謝樓主
作者: 13487086265    時間: 2020-3-7 18:50
近期正準備做這個
作者: fy5399    時間: 2020-3-8 19:01
謝謝樓主分享
作者: outing逆旅    時間: 2020-3-11 19:14
拿走了,謝謝啦
作者: sun5304    時間: 2020-3-27 09:21
新手來學習學習,感謝樓主提供!
作者: AudreyQiao    時間: 2020-6-3 19:59
為什么我的有警告,一樣的程序
作者: 一條小團團    時間: 2020-6-12 14:59
懂了,感謝分享!!
作者: 1AJ1987402    時間: 2020-6-14 16:11

謝謝分享啦
作者: 小新1080    時間: 2020-6-15 11:59
試一試 謝謝啦
作者: 15130498112    時間: 2020-6-15 18:43
謝謝大佬
作者: Gaa    時間: 2020-6-15 23:36
挺好的,下載學習下。
作者: zyl998    時間: 2020-6-16 15:27
樓主厲害了

作者: nimeishi8    時間: 2020-6-18 21:29
謝謝分享
作者: glmatch    時間: 2020-7-1 23:25
life_陽子 發表于 2019-5-15 00:50
資料不準確 誤報 在PROTEUS中會閃爍

模擬不行的,要用開發板
作者: 1024153202    時間: 2020-7-4 09:16
剛好在做呼吸燈,感謝樓主分享!
作者: shenyuqiu    時間: 2020-7-4 11:26
新手或是只控制燈的一個程序就可以這樣寫著玩玩,如果是真要做產品,程序就在處理燈的地方一直延時,沒效律,程序卡
作者: 116956018    時間: 2020-7-4 16:12
謝謝樓主,無私奉獻
作者: wps10025    時間: 2020-8-7 16:02
void delayms(int xms)                     //脈寬調制函數
{
while(xms--);
}
這一個不太明白,哪位師傅給講一下?
作者: 陳潤源home    時間: 2020-9-13 16:01
sedisj 發表于 2020-3-5 09:18
如何調整呼吸燈的頻率呢

改變T的值
作者: 陳潤源home    時間: 2020-9-13 16:02
wps10025 發表于 2020-8-7 16:02
void delayms(int xms)                     //脈寬調制函數
{
while(xms--);

普通延時函數,初學者可以用,后期建議使用定時器
作者: blai    時間: 2020-9-13 20:25
可以呀 讓人可以思考
作者: micle.zhou    時間: 2020-9-13 20:27
這個只能做實驗了,實際中不能只做這個功能,可以用中斷方式來實現呼吸燈,62.5uS一次中斷,呼吸效果就很不錯了
作者: 陳潤源home    時間: 2020-9-13 20:31
micle.zhou 發表于 2020-9-13 20:27
這個只能做實驗了,實際中不能只做這個功能,可以用中斷方式來實現呼吸燈,62.5uS一次中斷,呼吸效果就很不 ...

是的,當初發帖的初衷就是想讓剛入門的朋友們理解呼吸燈的工作原理,后期項目中都必須采用定時器,而不是傻傻等待
作者: 請叫我張三哥    時間: 2020-9-22 13:04
謝謝樓主,剛剛好想做一個呼吸燈的實驗。
作者: vincetan9    時間: 2021-12-6 11:22

這方法學習了,有用謝謝分享
作者: vincetan9    時間: 2021-12-6 11:23

這方法學習了,有用謝謝分享,,感謝感謝!
作者: zjhjx    時間: 2021-12-6 13:16
有用謝謝分享
作者: Tuier    時間: 2022-6-11 10:35
很多呼吸燈使用定時器,這個不用定時器,對初學者有益,理解起來容易
作者: lyb42151    時間: 2022-6-11 16:54
實現呼吸燈效果,不錯的實例。

作者: lyb42151    時間: 2022-6-11 16:54
用定時器一樣的。
作者: herui2128    時間: 2022-6-12 09:32
謝謝分享,PWM值得學習
作者: sonique0371    時間: 2022-6-13 12:45
效果不錯,學習了。

pwm1.jpg (561.39 KB, 下載次數: 332)

pwm1.jpg

作者: 867910038    時間: 2022-6-14 09:41
我之前做pwm還是電機的時候
作者: ad1301491    時間: 2022-6-16 11:55
雖然是初級的IO口控制程序,但能夠解釋更高級方法來實現的實際的底層邏輯
作者: 周工58    時間: 2022-6-19 15:27
陳潤源home 發表于 2020-9-13 16:02
普通延時函數,初學者可以用,后期建議使用定時器

普通延時函數,時間單位是多少.
作者: 陳潤源home    時間: 2023-2-24 10:57
周工58 發表于 2022-6-19 15:27
普通延時函數,時間單位是多少.

根據你的板子晶振來決定哦  一般一條指令是一個機器周期時間  這個大概在1us左右
作者: weijoyer    時間: 2023-3-21 19:00
你這寫法,很強,哈哈




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲精品久久久久久宅男 | 精品国产欧美一区二区三区成人 | 亚洲天堂色 | 久草在线 | 亚洲国产精品网站 | 亚洲一区二区黄 | 日韩午夜电影在线观看 | 国产精品欧美一区二区三区不卡 | 色小姐综合网 | 日韩成人在线一区 | 羞羞视频在线观看 | 午夜视频在线观看网站 | 成人av激情 | 中文字幕成人 | av在线播放国产 | 国产精品视频久久久久久 | 亚洲一区高清 | 国产一级一级 | 天天干天天谢 | 国产午夜精品理论片a大结局 | 一级做a爰片性色毛片 | 欧美在线视频二区 | 337p日本欧洲亚洲大胆鲁鲁 | 天天操精品视频 | 美女福利视频网站 | 午夜精品福利视频 | 在线不卡视频 | 国产一区二区中文字幕 | 激情久久网 | 欧美日韩亚洲国产 | 91干b| 成人国产精品 | 日韩精品一区二区三区视频播放 | av黄色在线 | 精品国产免费人成在线观看 | 91影院在线观看 | 国内精品久久久久久久影视简单 | 亚洲一区二区视频 | 精品久久久久久18免费网站 | 欧美在线观看免费观看视频 | 一区二区三区在线电影 |