PWM实现呼吸灯

PWM也属于51中的重要章节,本节主要介绍呼吸灯,目的是理解PWM的工作原理,PWM的实验案例重点还得看后续的舵机(下一节会讲到)

那么何为呼吸灯。呼吸灯的定义是:灯光实现由亮到暗的变化或由暗到亮的逐渐变化。注意:是逐渐变化。

PWM:通过改变脉冲宽度来改变电压的输出。

一、工作原理

要想实现呼吸灯,那我们可以通过PWM技术,先改变二级管两端的电压,进而影响电流,最后影响亮度。

如上图,我们可以控制高低电平所持续的时间比例来控制灯的亮与暗的效果。

如果深入理解方波的小伙伴肯定会发现原始波形的图中,此时我们无论怎样调整高低电平的时间周期,依然是闪烁状态,无非是闪的快与闪的慢,肯定无法达到呼吸的效果。

所以此时我们就必须得用PWM技术,也就是第2张图。

注意观察:我们的高电平持续的时间从2ms,4ms,6ms,8ms,2ms以次为周期不断变化的。而低电平恰好是8ms,6ms,4ms,2ms这样与高电平相反。这就不难联想到呼吸灯由暗到亮和由亮到暗的频率变化是一致的。因此我们就是要用这种技术(PWM)来实现呼吸灯。可以理解为,在每个不同的时间段高低电平变化的频率一直不一样。

对此,我们引入了一个新的概念:占空比,也就是 t/T。而之前我们说过,影响二极管的最终因素是电压的变化。那我们就会用占空比来计算每个周期的平均电压。U平均=UP*占空比

UP是我们的最大电压,可以默认为是5V。

二、代码设计

我们使用函数的形式让我们的代码看的更加整洁。

首先来看我们的pwm子函数:在P0=0xff和0x00之间不断调整延时的时间也就是占空比,使得我们灯的亮度在每个时间段都不一样。

然后在看主函数:2个for循环,分别实现由暗到亮和由亮到暗的不同时间段的灯的状态。实现呼吸灯效果

三、总结

本节难度较低(这里的难度是指学完串口后,与串口进行对比)

本节重点:了解PWM技术。

难点:无。

那么本节到此结束。

相关推荐
恒锐丰小瑞1 小时前
率能SS6623E 20V/4.3A/单通道直流电机驱动IC,低导通电阻(110mΩ)与多重保护,用于电子锁/玩具/机器人
单片机·嵌入式硬件·机器人
wuyk5551 小时前
《WiFi 嵌入式物联网开发全套实战》| 第01章 WiFi整体架构详解:BSS/ESS/AP/STA模式彻底区分
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·51单片机
wuyk5551 小时前
第六章:CAN 调试工具、抓包分析、全套故障排查 + CAN-FD 进阶拓展
开发语言·stm32·单片机
那年窗外下的雪.1 小时前
STM32嵌入式学习 01:GPIO 输出与 LED 闪烁
stm32·单片机·学习
恒锐丰科技韩生2 小时前
RB4762A|晶准 单节锂电池内置 MOS 保护芯片 DFN2×3‑6
嵌入式硬件·硬件工程
雨田言炎3 小时前
STM32专题之内部SRAM
stm32·单片机·嵌入式硬件
gfdr53 小时前
把吃灰的电视盒子,改成一台不花月租的监控
python·嵌入式硬件·电视盒子
ye150127774553 小时前
220V转5V单片机供电电源芯片WT5102
单片机·嵌入式硬件·其他·硬件工程
HUI-4743 小时前
EG12523|集成 600V 半桥驱动,带内置正激恒流功能的正反激 PWM 控制器
单片机·嵌入式硬件
2601_966799044 小时前
酷嗨米J300:单相机三平台同步推流,硬件级方案告别卡顿与限流
嵌入式硬件