历史上的今天
返回首页

历史上的今天

今天是:2025年01月26日(星期日)

2019年01月26日 | STC单片机硬件PWM的使用分析

2019-01-26 来源:eefocus


STC单片机(具有PCA功能的),怎么实现可变频率的PWM输出?很多朋友还在使用定时器做可变频PWM, 这里我就介绍怎么使用硬件PWM,在定时器0的分频基数下设计PWM。 


这里写图片描述


首先看CMOD这个寄存器,这里我们主要关注 CPS0,CPS1,CPS2,这三个位控制选择PCA的计数脉冲源。 对应PWM功能,则是选择频率。 首先可以选择 6个固定分频,可以看图片看出,分别是1,2,4,6,8,12的系统分频。我们需要做可变频率的PWM,所以我们需要选择模式2,选择定时器0的溢出作为系统分频基数。 


然后,我么看怎么具体的去计算,去实现分频。 这里就需要上面这个图片的计算规则。 这里我举一个例子来说明,比如我们单片机的晶振使用的是12MHZ,而我们需要实现300HZ的频率。 如果得到呢? 


首先,如果我们采用CMOD的固定分频,可以发现,无论是1,2,4,8,12,分频下来的频率都不是300HZ。 所以这里也体现我们使用定时器0做分频基数的好处了。 


这里写图片描述


我们继续计算,12MHZ需要转化为300HZ,那么根据上图,首先我们需要确定PCA时钟输入频率,根据公式 300*256=76800HZ,这个值就是我们需要的PCA时钟输入频率。现在问题就是 ,我们怎么把12MHZ,转化为76.8KHZ, 12000KHZ/76.8KHZ=156.25 ,这个156.25就是分频基数,而这个分频基数由我们的定时器溢出参数来设定,意思就是当我们定时器如果计数156.25溢出就可以做到分频基数为156.25, 所以我们在设置定时器0的计数起始值就是65536-156=65380,对应TH0=0XFF,TL0=0X64。 


好了,怎么计算PWM在定时器0下实现我们自己需要的任意频率的计算方式这里就介绍完了。 如果要动态实现频率可变,我们就可以通过通讯去动态调整定时器0的计数基数,(实际就是调整了分频基数),就可以实现频率的改变了。 另外,说明:这里的定时器0,不需要中断,并且该定时器也不是作为产生PWM用的,是作为一个分频基数用!

推荐阅读

史海拾趣

Greenconn Corp公司的发展小趣事
定期清洁冰箱内部和外部的灰尘和污垢,保持散热系统的畅通。
Hifn Inc公司的发展小趣事
避免将过多食物一次性放入冰箱,以减少冰箱电机的负荷。
DMS Electronic Components, Inc公司的发展小趣事

DMS非常重视人才的培养和引进。公司建立了完善的人才选拔和激励机制,吸引了一批高素质的专业人才加入。这些人才在技术研发、市场营销、生产管理等方面发挥了重要作用,为公司的快速发展提供了有力保障。同时,DMS还注重员工的培训和发展,为员工提供了广阔的职业发展空间。

恒连电子(EVERCOM)公司的发展小趣事

恒连电子成立于XX年代初,当时正值电子行业的快速发展期。创始人张先生凭借对电子技术的敏锐洞察力和对市场趋势的精准把握,决定投身于电子行业。然而,初创时期的公司面临着资金短缺、技术团队匮乏以及市场竞争激烈等多重挑战。张先生带领团队日夜兼程,通过自主研发和不断创新,逐渐在市场中站稳脚跟。他们首先推出了几款性能稳定、价格合理的电子产品,赢得了客户的信赖。随着产品的逐步推广,恒连电子逐渐在市场中打开了局面。

Ecera Comtek Corp公司的发展小趣事

在竞争激烈的电子行业中,Ecera Comtek Corp公司意识到只有不断创新才能在市场中立足。于是,公司加大了研发投入,引进了一批高端技术人才。经过长时间的研发,Ecera Comtek Corp公司成功研发出了一种新型的信号处理技术,大大提高了无线通信设备的传输速度和稳定性。这一技术突破迅速引起了市场的关注,Ecera Comtek Corp公司的产品在市场上受到了热烈的欢迎,公司的销售额也实现了快速增长。

意华(CZT)公司的发展小趣事

为了实现公司的长远发展,意华于2010年开始筹备上市工作。经过多年的准备和努力,意华成功在资本市场上市,为公司的发展注入了新的活力。上市后,意华通过资本市场融资和资本运作,加速了公司的扩张和技术创新步伐。同时,公司也更加注重规范运作和透明度提升,赢得了投资者的信任和支持。

问答坊 | AI 解惑

大量的EP1C6的原理图文件,供大家学习的时候参考!

大量的EP1C6的原理图文件,供大家学习的时候参考!…

查看全部问答>

求助各位大侠小弟刚刚接触单片机

晶振频率为12M要产生200HZ方波需要的时间怎么计算?…

查看全部问答>

EVC模拟器连上了,程序download过去了,但是Remote File viewer怎么都连不上(帮帮忙)

RT 我自己编译的SDK 装上了之后  模拟器也连上了  程序也下载下去了 但是点Tools/Remote File Viewer怎么都连不上 提示信息是: cannot load device specific files associated with this tool 有高手遇到过这种情况没 ...…

查看全部问答>

在SQL ServerCE中怎样判断一个表是否存在

在SQL ServerCE 中怎样判断一个表是否存在,如果存在的话,删除这个表…

查看全部问答>

问一下,自己做个手柄可行吗,WINDOWS 手柄协议哪里有

C51单片机,串口通信 这个状态下如何做个手柄出来? 我在想:WINDOWS手柄肯定有一个通信协议,只要单片机按协议发出数据,WINDOWS是不是就可以 认识到这个手柄,从而在 设备管理器里认为这个是手柄? 还是需要专门的 IC…

查看全部问答>

xpe系统的交互式登陆

如何实现xpe系统的交互式登陆? 我在使用第二个用户远程登陆时,提示我不能进行交互式登陆。 后来将第二个用户设置为管理员权限,可以远程登陆,但已经本机登陆的administrator用户被迫注销。 怎样能够实现第二个用户登陆机器,而不影响前一个用 ...…

查看全部问答>

数码管显示问题(急)!

单片机是stc89c51,6个数码管,P0.0~P0.7接的是数码管的段位(a,b,c.......,dp),P2.0~P2.5共6位接数码管的位选,共阳极接法,6个数码管都能正常显示,但不管给哪一个数码管送位选信号时,其它数码管都会导通,也就是全部都会显示,而且显示的是一 ...…

查看全部问答>

还是内核调试的问题,CS8900不支持KITL 怎么调试内核?

若要调试内核或是驱动 应该裁剪一个可以调试版本的内核 其中 在SETTINGS 时下面两项要选择 ENABLE KITL ENABLE Kernel Debuger 而看资料说,CS8900不支持 KITL 这个选项 那应该怎么设置才能调试内核呢? …

查看全部问答>

贡献2个STM32初学笔记资料

贡献2个STM32初学笔记资料 IAR环境搭建教程完整版.pdf (1.7 MB) 下载次数: 283 2009-11-28 02:21 很好的ARM开源项目技术方案(完整版).pdf (1.43 MB) 下载次数: 296 2009-12-1 12:49 硬件工程师入门资 ...…

查看全部问答>

使用multisim单片机仿真,头文件问题

我最近在学习使用multisim软件学习单片机,但是在用multisim进行单片机仿真的时候,遇到了一些困难,我使用的单片机仿真芯片是“MCU MODULE-->805x-->8051”,用c语言写程序,但是在调试的时候总是报错显示头文件错误,头文件使用reg51.h $MON5 ...…

查看全部问答>