找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5980|回复: 0
收起左侧

用STC89C52单片机制作呼吸灯 附代码思路与实验原理

[复制链接]
ID:692965 发表于 2020-11-2 21:37 | 显示全部楼层 |阅读模式
一、实验原理
我们在做呼吸灯的时候,我们首先得了解呼吸灯的原理,我们得知道我们电压做的功,我们首先看张图

51hei图片20201102205137.jpg

这张图是自己手工画的,有点不够规范,就像第一个信号一样,间隔大概一样,有点高数知识的师兄都知道连续的,那么他的积分就是他所做的功,也可以这样理解,我们做得功就等于(W=UIt),所以我们还是积分比较好理解,当我们LED的引脚是高电平时,我们观察的亮度是最亮的,这是因为做的功是全部,这时候我们可以比较这两条线,上面的线比较平均,大概就是50%左右的样子,我们行容这种东西叫做占空比用q表示,q=高电平时间/周期时间(高电平时间指的是一个周期里面的)相对于下面这条,一开始我们我们看到高电平时间比较短,占空比比较小,(在这里说明一下,我用的单片机是3.3v——0v就是说单片机低电平“0”是点亮)所以这个实验现象是慢慢的变暗,因为做的功多,占空比比较大,如果占空比达到了100%,单片机的LED则会熄灭/。
二、代码思路
我们在了解PWM的工作原理,我们可以简单的做一个呼吸灯,我们首先得定义一个周期,然后调节占空比就能达到我们想要的结果,我们可以用延时函数(delay)和for循环来达目的。
三、实验源码


四、我们但可以用延时函数,还可以用定时器来设置占空比,时间控制的更合理,难度高的PWM还是用定时器比较好。。写的不太好,如果有错误,请批评,大家多交流。

单片机源程序如下:
  1. /***************************************************************************************************
  2. 笔者自己用的是普中的单片机,因为LED引脚在P2上面,个人需要根据自己说的单片机自己设定,经自己测试,当周期是400时候
  3. 亮度刚好,单片机的晶振用的12MHz
  4. ***************************************************************************************************/
  5. #include "reg52.h"
  6. sbit LED=P2^2;
  7. /****************************************
  8. 函数名称:void delay(unsigned int n)
  9. 函数功能:延时函数
  10. 输入参数:n
  11. 输出参数:无
  12. ****************************************/
  13. void delay(unsigned int n)
  14. {
  15. while(n--);

  16. }
  17. void main()
  18. {
  19.         unsigned int CYCLE=400,LOW=0;
  20. while(1)
  21. {
  22.         delay(5000);//延时一下
  23.         for(LOW=1;LOW<CYCLE;LOW++)//从灭到亮
  24.         {        LED=0;
  25.                 delay(LOW);       
  26.                 LED=1;
  27.                 delay(CYCLE-LOW);
  28.         }
  29.         //从亮到灭
  30.         for(LOW=CYCLE-1;LOW>0;LOW--)
  31.         {                LED=0;
  32.                 delay(LOW);       
  33.                         LED=1;
  34.                 delay(CYCLE-LOW);
  35.         }
  36. }
  37. }
复制代码

附上源码hex:
LED.zip (22.52 KB, 下载次数: 29)

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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