2021-08-16

本文详细介绍了基于89C52/89C51单片机的PWM技术原理,如何通过调整I/O口的占空比控制LED亮度,并通过定时器实现不同占空比的切换。重点讲解了有效值计算和实际应用流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PWM技术的原理和应用——基于89C52/89C51演示
一、技术概念
PWM,中文名称为“脉冲宽度调制”,该技术是用于在数字电路对模拟电路的控制。在数字电路中,只存在0和1信号,即“电压为0V”和“电压为5V”,而在模拟电路中,不同的电压值会对器件的工作状态会有不同的效果。例如:一颗LED的工作电压为1.7V-3.6V不等,不同的电压值,影响着LED的亮度。那么如何通过数字电路的“0”、“1”来控制LED两端出现不同的电压?
二、技术原理
在日常时候中,我们用的生活电压为220V,这个是用直流电压表测试的。如果用交流电压,那么示数会在±340V之间振荡。因为220V是其有效值,±340V是其峰峰值。如果单片机的I/O口也会输出一个从“5V”到“0V”的振荡信号,会不会也在I/O口存在一个“0”到“5V”之间的有效值。
既然是一个振荡的信号,那么就要考虑两个指标:“周期/频率”、“高电平的持续时间/低电平的持续时间”。
频率一定大,既周期时间要短,因为LED有余晖作用,在短时间内电压为0时,灯光并不会立刻消失。我们假设频率为100Hz,也就是说1S之内有100个波形(1个高电平和1个低电平为一个波形)。T=0.01s
先设置高电平持续时间为0.005s,占周期的50%=(0.005/0.01)×100%,而这个50%被称为PWM的占空比。在这里插入图片描述
那么我们可以根据这些数据通过公式来推出其等效的直流电压(直流电压表的示数),是计算其有效值还是其平均值?
是有效值,因为交流电的有效值在相同时间内消耗的能量是一样的,公式推导如下:
在这里插入图片描述
※U是有效值,u(t)是交流电的对t的函数,T为周期
平均值:仅仅是电压在时间上的平均值,是不能等效成元件两端的电压。
在这里插入图片描述
通过公式计算出占空比50%时,其有效值为U=2.5*1.414=3.54V
不同的占空比,对应着不同的有效值:
在这里插入图片描述

三,流程图
从原理可以得知一个51系列的单片机通过控制I/O口的输出信号的占空比就可以控制LED的亮度。
那么我们设定4种占空比(10%、30%、50%、90%)的情况,并且通过摁键可以互相改变。
信号的周期可以通过单片机的定时器来控制,一个周期为0.01s=10ms,当定时器工作在方式1,单片机晶振为12MHz时,一次定时器中断最大时间为65.536ms。我们设定一次定时器中断时间为100μs,这样一个波形的周期需要经过100次的定时器中断,设置一个变量count,用来判断是否到达100,从而重新开始一个周期。
可以先设置I/O口的初始为高电平,定义一个标志变量FLAG,FLAG的作用是用来和count做比较从而单片机判断是否达到了占空比的要求,例如,占空比设定为50%,当count=50的时候,将高电平变为低电平,就会出现占空比为50%的波形。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值