历史上的今天
返回首页

历史上的今天

今天是:2024年11月20日(星期三)

正在发生

2018年11月20日 | PIC单片机之PWM原理

2018-11-20 来源:eefocus

 1,什么是PWM


什么是PWM,专业点说脉宽调制,通俗点说 就是不断的输出高低电平。 比如 单片机 40ms的时间 输出高电平然后60ms的时间 输出低电平接着一直不断周期性的交替输出高低电平 这就是典型的PWM波。高电平输出的时间40ms就是传说中的脉宽,40ms+60ms=100ms 便是PWM的周期。假定我们把周期定为100ms.我们可以根据我们的需要 把高电平的时间加大或者减小,比如 高电平输出时间加大为80ms.那么低电平的时间就变为20ms. 也可以 高电平输出时间减小为20ms.那么低电平的时间就变为80ms.这即是脉宽调制 调的便是这高电平的时间。 而高电平(脉宽)在周期中,所占用的时间比例 就被称为占空比。用数学公式表示 高电平的时间/周期的时间=占空比。


2,PWM的实现方式


我们如何让单片机输出PWM波。有两种方式 一种是直接用I/O输出,另一种方式利用模块。


2.1利用I/O口输出PWM


如果你的单片机没有带有PWM输出功能模块,那么你可以自己写个程序输出PWM波。因为PWM不就是高低电平。一个I/O在加上一个定时器,对于任何单片机来说都是很容易做到的。


2.2利用模块输出PWM


对于PIC单片机而言就带有输出PWM的功能模块。利用模块输出PWM其实比利用I/O输出PWM更加简单便捷精确。


3,PWM的作用


PWM能用来做什么PWM比较典型的应用就是对LED调光和电机调速。那PWM是如何进行调光和调速的呢,其实也很好理解。以给LED调光为例。给LED一直通电LED是最亮的。不给LED断电LED是不亮的。那要是在极短的时间内给LED不断的通电断电。那给人眼的感觉就是LED虽然是亮的,但亮度较低。


如果单片机高平输出时LED是亮的。那么在PWM波中高电平输出的时间越长LED就越亮,反之则越暗。


未完待续...


推荐阅读

史海拾趣

City_Technology公司的发展小趣事

随着业务的不断扩展,City Technology于1990年在英国南海岸的普茨茅斯建立了生产基地,并将办公楼从伦敦中心区迁至该地。这一举措不仅提高了公司的生产效率,也为其进一步拓展国际市场提供了有力支持。此后,公司开始在全球范围内设立销售中心,包括波恩(德国)、苏黎世(瑞士)、上海及芝加哥等地,逐步实现了业务的国际化。

顺芯(Everest-semi)公司的发展小趣事

随着技术的不断进步,顺芯公司意识到只有不断创新才能在激烈的市场竞争中立于不败之地。因此,公司加大了在研发方面的投入,积极引进高端人才,并与国内外知名高校和研究机构建立了合作关系。在XXXX年,顺芯公司成功研发出了一款具有自主知识产权的高性能数模混合芯片,填补了国内市场的空白,并获得了多项专利。

GPD Optoelectronics Corp公司的发展小趣事

近年来,随着5G、物联网等技术的快速发展,电子行业面临着巨大的变革。顺芯公司及时调整战略方向,加大在5G通信芯片、物联网安全芯片等领域的研发力度。同时,公司还积极探索新的商业模式和市场机会,如与汽车制造商合作开发车载芯片等。这些举措使顺芯公司在行业变革中保持了竞争优势。

Ceramics公司的发展小趣事

“跨界陶瓷”公司凭借其前瞻性的战略眼光,积极探索与其他行业的跨界合作。该公司与多家科研机构和高新技术企业建立了战略合作关系,共同研发新型陶瓷电子材料和技术。通过跨界合作,跨界陶瓷成功将陶瓷材料应用于新能源汽车、智能家居等新兴领域,为公司开辟了新的发展空间和市场机会。

这些故事虽然基于虚构,但反映了电子行业中Ceramics公司可能面临的机遇和挑战,以及他们如何通过技术创新、环保理念、国际化战略、品质管理和跨界合作等方式实现发展的普遍现象。当然,实际情况中每家公司的具体发展历程和策略都会有所不同,需要根据具体情况进行分析和评估。

Equinox公司的发展小趣事

随着科技的发展,Equinox意识到数字化对于提升客户体验的重要性。因此,公司开始投入大量资源建设数字平台,提供在线预约、课程购买、健康管理等服务。这些数字化功能不仅方便了客户,还提高了公司的运营效率。

ATM [Advanced Technical Materials]公司的发展小趣事

中国ATM的发展历程始于20世纪80年代中期。1987年,中国银行在珠海推出了中国大陆第一台ATM,标志着ATM在中国开始了发展。随后,经过数十年的快速发展,中国ATM市场经历了多个阶段,从初级阶段到专业化阶段,再到如今的快速发展阶段。中国ATM市场的繁荣,不仅反映了国内银行业电子化建设的成果,也体现了电子行业的快速发展和普及。

问答坊 | AI 解惑

qtopia中文支持问题

一,怎么汉化应用程序? 二,IE上显示乱码,怎么解决啊?主要还是不支持中文的缘故.…

查看全部问答>

什么样的汽车可以令我们感到温暖

身边有车的朋友越来越多,汽车已经成为许多中国人离开住所后最先进入的地方,这样看来,把汽车称作一个可以把人们护送到目的之地的“移动之家”亦不为过。人们希望在自己的家庭中感受到安全、温暖、舒适,愉快;推广开来,在离开家门进入爱车的时刻 ...…

查看全部问答>

关于电子设计工程师职业和前景的疑问

本帖最后由 paulhyde 于 2014-9-15 09:01 编辑 我是一名电子信息工程专业的大四学生,开学后马上要面临考研和工作的问题。 在假期经过几天的考虑,我觉得目前相对考研,如果先工作的话似乎能在两年的时间里学到更多贴近实际的知识和技术,到那时 ...…

查看全部问答>

wince6.0中IIC中的中断和查询方式

各位, 在wince6.0中,中断方式和查询方式有什么不同? 读EEPROM和摄像头一般是用什么方式? 在注册表里也有个默认的方式设置。 ;------------------------------------------------------------------------- ;------------ I2C Bus Driver - ...…

查看全部问答>

SetTimer()总是返回0,不能使用是为什么?

........ case VK_LEFT:                         FtpThread();                         ReadTIFile(); ...…

查看全部问答>

VS.NET 出错

我的系统配置: XP SP2, VS.NET 2005 team suite /w SP1, eVC4+SP4, PB5.0, CE 6.0, WM 5.0 SDK 现在VS.NET 2005 不能新建或者打开有关\"智能设备\"的项目了? 相关错误:\"从用户数据存储中检索信息时出错。未找到平台\" 及“由于数据存储中不 ...…

查看全部问答>

哈哈 今天的第一帖又是我发的!~

哈哈 今天的第一帖又是我发的!~…

查看全部问答>

msp430f5438这什么中断安排啊!

// Timer1 A0 interrupt service routine #pragma vector=TIMER1_A0_VECTOR __interrupt void Timer_A0 (void) {   TA1CCR0 += 4;                     &nbs ...…

查看全部问答>

求救8962的硬件spi问题

我用8962的spi去驱动12864,为什么无论怎么配置都无法驱动成功啊,屏幕总是出雪花,一般这种情况我认为是传输太快造成的,有高手 驱动成功过吗??求教!…

查看全部问答>

如何在ccs软件仿真上实现语音的的处理,

我做的是IMBE语音编码算法的移植,IMBE主程序已经编译通过 且运行正常 现在要做的就是来一段语音 模拟编码和解码一下 看看合成出的语音质量 还有编码速率。请问 我们老师说要下载一个wavread.c文件 来读入语音  可是 要怎么实现读入语音程序和 ...…

查看全部问答>