PWM在51单片机的使用和分析

1.什么是PWM?
PWM在百度的解释是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。
我对百度的解释比较认同,但是由于我是实用派,还是觉得有些复杂,不是很好理解。众所周知,我们国家的交流电是50HZ,代表着一秒内有50次的变化——从低电平到高电平、高电平到低电平,周而复始。而直流电却是单一的高电平。我就简单的认为PWM就是将直流电的波形频率变成类似交流电波形频率,同时还能控制脉宽(脉冲宽度)的技术。

2.怎么编写PWM程序?
上文我简单的给PWM下了一个定义——PWM就是将直流电的波形频率变成类似交流电波形频率,同时还能控制脉宽(脉冲宽度)的技术。那么我们现在就只需要分析交流电的波形是怎么样的,然后通过编程让单片机发出类似交流电的波形并控制每个波形的宽度就行了。
首先交流电的波形是没有方向的,所以这一点我们是不可能做到的,毕竟正负极摆在这里,我们能做到的是和交流电一样的频率。交流电一秒钟的频率是50HZ,也就是在一秒内变化50次,那我们同样让直流电变化50次,并控制变化的时间不就达到了和交流电一样的频率。
理清楚了思路,我们就可以开始编程了。

#include<reg52.h>

/*
实验 STC89C52 
PWM波的使用与分析
2018-1-8
*/
//宏定义
#define uchar unsigned char
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值