找回密码
 立即注册

QQ登录

只需一步,快速开始

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

非常柔和的单片机呼吸灯源代码

[复制链接]
跳转到指定楼层
楼主
ID:382454 发表于 2019-10-29 10:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个呼吸灯是参照人视觉效果写的,非常柔和。代码如下:

  1. //包含该文件可以使用_nop_()函数
  2. #include <intrins.h>

  3. unsigned int Num=0;         //声明递增 递减变量
  4. unsigned int Clock=3000;  //声明变量 这个变量就是肉眼看到的变快变慢的参数

  5. /***********************************************
  6. 函数名称:Delay_us
  7. 功    能:
  8. 入口参数:us:延时
  9. 返 回 值:无        
  10. 备    注:内部时钟:24MHz           
  11. ************************************************/
  12. void Delay_us(unsigned int i) //这个延时就是PWM的频率了 太大眼睛能看到闪来闪去
  13. {
  14.         for(;i>0;i--)               
  15.                 _nop_();        
  16. }
  17. /***********************************************
  18. 函数名称:husi_led
  19. 功    能:呼吸灯
  20. 入口参数:us:延时数量
  21. 返 回 值:无        
  22. 备    注:
  23. ************************************************/
  24. void husi_led(void)
  25. {
  26. while(1)
  27.    {
  28.       for(Num=Clock;Num>0;Num--) //led逐渐变暗
  29.           {                        
  30.        P05=1;                       //测试LED灯                        
  31.        Delay_us(Num);         //3000慢慢减 慢慢变暗
  32.        P05=0;                       //测试LED灯                                         
  33.        Delay_us(Clock-Num);     
  34.           }                                       
  35.        P05=0;                  //测试LED灯
  36.        Delay_ms(1000);   //再暗你一秒
  37. //**************************************//                                       
  38.       for(Num=0;Num<Clock;Num++)  //led逐渐变亮
  39.          {
  40.        P05=1;                     //测试LED灯
  41.        Delay_us(Num);       //0慢慢加 慢慢变亮
  42.        P05=0;                     //测试LED灯            
  43.        Delay_us(Clock-Num);                                                   
  44.          }                                       
  45.        P05=1;                    //测试LED灯
  46.        Delay_ms(500);      //再亮半秒 这里视觉的原因 是暗的一半所以选500ms
  47.       }
  48. }
复制代码



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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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