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技术。

难点:无。

那么本节到此结束。

相关推荐
冉卓电子18 小时前
GD32C103RBT6 misc 内核驱动库极简解析
单片机·嵌入式硬件
yongui4783418 小时前
MAX6675 K型热电偶温度采集程序(Keil环境)
单片机·嵌入式硬件
豆包公子18 小时前
AUTOSAR CP XCP 移植到裸机 MCU-实践篇
单片机·嵌入式硬件
三佛科技-1341638421218 小时前
智能暖脚按摩器方案开发,智能暖脚按摩器MCU单片机主控芯片选择 (FT60F系列8位MCU)
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
与仪共舞19 小时前
罗德与施瓦茨NRP 40T功率传感器
科技·单片机·目标检测
是温不嗜温19 小时前
芯茂微100V SR同步整流方案技术解析:效率+5%、温降-20°C,管脚兼容直接替代传统肖特基
嵌入式硬件·电源管理·电源芯片·ac-dc
嵌入式-老费19 小时前
esp32开发与应用(按键输入)
嵌入式硬件
追兮兮19 小时前
告别手动搭建Keil工程!MCUQuickStart一键生成STM32/GD32工程模板,打开即编译
stm32·单片机·嵌入式硬件·gd32·keil5
不会武功的火柴20 小时前
SystemVerilog语法(9)-验证基础与简单Testbench
嵌入式硬件·fpga开发·fpga·systemverilog·硬件描述语言·rtl·uvm验证
XINVRY-FPGA20 小时前
XC7Z020-2CLG484I Xilinx Zynq-7000 SoC FPGA
嵌入式硬件·fpga开发·云计算·硬件工程·fpga