找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 22411|回复: 93
打印 上一主题 下一主题
收起左侧

51单片机PWM调制实现模拟呼吸灯(Proteus仿真+程序)

  [复制链接]
回帖奖励 20 黑币 回复本帖可获得 2 黑币奖励! 每人限 1 次(中奖概率 80%)
跳转到指定楼层
楼主
利用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, 下载次数: 558)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏25 分享淘帖 顶4 踩
回复

使用道具 举报

沙发
ID:385637 发表于 2019-3-23 09:32 | 只看该作者
代码简单易懂
回复

使用道具 举报

板凳
ID:65956 发表于 2019-3-25 09:22 | 只看该作者
这个我也作过,我作的是七彩呼吸灯,效果还是不错的,计划改作灯带呼吸灯试试呢,不过方法值得学习借鉴。
回复

使用道具 举报

地板
ID:156220 发表于 2019-3-25 10:03 | 只看该作者
这方法学习了,有用谢谢分享
回复

使用道具 举报

5#
ID:494644 发表于 2019-3-25 13:00 | 只看该作者
实现呼吸灯效果,不错的实例。
回复

使用道具 举报

6#
ID:498204 发表于 2019-3-25 20:28 来自手机 | 只看该作者
嗯,可以试试做一下
回复

使用道具 举报

7#
ID:293363 发表于 2019-3-26 22:40 | 只看该作者
回复

使用道具 举报

8#
ID:476064 发表于 2019-3-26 23:13 来自手机 | 只看该作者
看不懂 我是伸手党。 但我想问一下,怎么把这些代码改成P0-P1-P2-P3端口的32只LED全部亮起(呼吸)
回复

使用道具 举报

9#
ID:293363 发表于 2019-3-27 20:22 | 只看该作者
zsf333666 发表于 2019-3-26 23:13
看不懂 我是伸手党。 但我想问一下,怎么把这些代码改成P0-P1-P2-P3端口的32只LED全部亮起(呼吸)

给P0、P1、P2、P3同时赋值(直接在P0=0x00后面直接给其他端口赋值)
回复

使用道具 举报

10#
ID:293363 发表于 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);                         //增加看到的熄灭效果
   }
回复

使用道具 举报

11#
ID:498596 发表于 2019-4-2 09:13 | 只看该作者
代码简单 特别容易理解
回复

使用道具 举报

12#
ID:465246 发表于 2019-4-2 10:52 | 只看该作者
感谢分享!!!
回复

使用道具 举报

13#
ID:235332 发表于 2019-5-15 00:50 | 只看该作者
资料不准确 误报 在PROTEUS中会闪烁
回复

使用道具 举报

14#
ID:195830 发表于 2019-5-17 09:38 | 只看该作者
牛逼了,自己试试
回复

使用道具 举报

15#
ID:250836 发表于 2019-5-17 12:28 | 只看该作者
很棒的效果
回复

使用道具 举报

16#
ID:488167 发表于 2019-5-17 16:23 | 只看该作者
学习很棒的效果
回复

使用道具 举报

17#
ID:270932 发表于 2019-5-17 20:34 | 只看该作者
简单易懂,,,
回复

使用道具 举报

18#
ID:293363 发表于 2019-5-22 11:57 | 只看该作者
life_阳子 发表于 2019-5-15 00:50
资料不准确 误报 在PROTEUS中会闪烁

我的错淡定
回复

使用道具 举报

19#
ID:290939 发表于 2019-5-28 14:07 | 只看该作者
收藏了
回复

使用道具 举报

20#
ID:538517 发表于 2019-5-28 17:35 来自手机 | 只看该作者
这个可以好好看看,,谢楼主
回复

使用道具 举报

21#
ID:140183 发表于 2019-7-7 11:49 | 只看该作者
很好.谢谢!!!!!!!
回复

使用道具 举报

22#
ID:475783 发表于 2019-7-7 21:03 | 只看该作者
谢谢分享啦
回复

使用道具 举报

23#
ID:475783 发表于 2019-7-7 21:04 | 只看该作者
试做了一下,受益颇多
回复

使用道具 举报

24#
ID:579852 发表于 2019-7-8 11:41 | 只看该作者
非常棒,好厉害,棒棒的
回复

使用道具 举报

25#
ID:578183 发表于 2019-7-8 12:38 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

26#
ID:579958 发表于 2019-7-8 14:53 | 只看该作者
新手来学习
回复

使用道具 举报

27#
ID:580058 发表于 2019-7-8 16:16 | 只看该作者
不错大佬
回复

使用道具 举报

28#
ID:586933 发表于 2019-8-5 13:11 | 只看该作者
代码简单易懂
回复

使用道具 举报

29#
ID:595679 发表于 2019-8-5 16:54 | 只看该作者
注释太详细了,代码也开起来比较方便!
回复

使用道具 举报

30#
ID:619118 发表于 2019-10-4 23:24 | 只看该作者
萌新来学习了,最近准备给高达模型加灯,谢谢楼主共享。
回复

使用道具 举报

31#
ID:619656 发表于 2019-10-6 01:39 | 只看该作者
恩,可以试试
回复

使用道具 举报

32#
ID:592574 发表于 2019-10-9 11:22 | 只看该作者

这方法学习了,有用谢谢分享
回复

使用道具 举报

33#
ID:496536 发表于 2019-10-11 23:15 | 只看该作者
方法很不错,谢谢分享
回复

使用道具 举报

34#
ID:585365 发表于 2019-10-13 08:52 | 只看该作者
这方法学习了,有用谢谢分享
回复

使用道具 举报

35#
ID:623749 发表于 2019-10-14 13:13 | 只看该作者
我需要
回复

使用道具 举报

36#
ID:371965 发表于 2019-10-14 14:49 | 只看该作者
楼主真棒
回复

使用道具 举报

37#
ID:636260 发表于 2019-11-5 20:00 | 只看该作者
代码简单易懂
回复

使用道具 举报

38#
ID:636139 发表于 2019-11-6 18:31 | 只看该作者
代码简单,回去试试看,谢谢楼主
回复

使用道具 举报

39#
ID:88256 发表于 2019-11-6 18:50 | 只看该作者
下载一个看看,谢谢了!
回复

使用道具 举报

40#
ID:635550 发表于 2019-11-6 19:45 | 只看该作者
实现呼吸灯效果,不错的实例。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表