历史上的今天
今天是:2024年08月23日(星期五)
2021年08月23日 | 飞思卡尔单片机PWM模块分析(3)
2021-08-23 来源:eefocus
继续介绍飞思卡尔HCS12系列单片机的PWM模块
(9)PWM通道计数寄存器(PWM Channel Counter Register)
PWMCNTx是PWM通道计数寄存器,可以在任何时刻读取该计数器数值,而不影响计数器和PWM通道的工作。计数器方向默认设定为向上计数,从周期寄存器和占空比寄存器的缓冲器中得到周期和占空比数值,人后根据极性选择位改变输出电平。

读:任何时刻 写:任何时刻
注:在级联模式下,无论对16位计数器的访问还是对高八位和第八位分开访问,都会使计数器复位。读取16位计数器必须从16位方式访问,以保持数据的一致性,高8位和低8位分开读取会得到不正确的结果。
(10)PWM通道周期寄存器(PWM Channel Period Register)
PWMPERx周期寄存器的值决定相应PWM通道的周期。周期寄存器的数值都是双缓冲的,因此,当寄存器中的数值改变后,并不生效。

读:任何时刻 写:任何时刻
输出的PWM波形周期的计算方法是,用选择的时钟周期乘以周期寄存器的数值。
左对齐方式输出(CAEx=0) PWMx周期=通道时钟周期*PWMPERx
居中对齐方式输出(CAEx=1) PWMx周期=通道时钟周期*2*PWMPERx
(11)PWM通道占空比寄存器(PWM Channel Duty Register)
PWMDTYx占空比寄存器,该寄存器的值决定相应PWM通道的占空比。占空比寄存器的数值都是双缓冲的,因此,当寄存器中的数值改变后,并不生效。

读:任何时刻 写:任何时刻
PWM波形占空比计算公式如下:
极性为0时(PPOLx=0)
占空比=(PWMPERx-PWMDTYx)/ PWMPERx
极性为1时(PPOLx=1)
占空比=(PWMDTYx)/(PWMPERx)
注:无论左对齐输出还是居中对齐输出,只要PPOLx,PWMPERx和PWMDTYx寄存器的数值相同,输出波形的占空比也是相同的,只是居中对齐输出比左对齐输出的波形的周期大一倍。
(12)PWM关断寄存器(PWM Shutdown Register)
PWMSDN具有在紧急情况下立即关断PWM通道输出的功能。

读:任何时刻 写:任何时刻
PWM7ENA:PWM紧急关断允许。
PWM7IL:紧急关断有效输入电平选择位。该位确定PWM通道7处于什么电平时,PWM模块才会被紧急关断。
PWM7IN:PWM通道7输入状态位。
PWMLVL:PWM紧急关断后输出电平选择位。
PWMRSTRT:PWM重新启动控制位。
PWMIE:PWM中断允许。
PWMIF:PWM中断标志。
PWM模块就介绍到此了,下次更新PLL时钟设定。
上一篇:飞思卡尔单片机AD模块简述(1)
下一篇:飞思卡尔XS128的基本模板程序
史海拾趣
|
在柏林推出的DVB T(地面数字广播)数字电视也已经影响到汽车娱乐系统中的电视接收。现在,汽车电视接收机不仅能够接收模拟电视信号(它仍将在城市以外的地区继续存在数年),而且也能够接收和处理DVB T信号。Hirschmann Electronic ...… 查看全部问答> |
|
BOOT0/1得来回倒腾。BOOT0=0调试一次之后如果停止调试,再启用调试就出现“Programming Failed!”错误 试出来唯一的解决方法就是始终保持BOOT1=1。 如果出现BOOT0=0无法调试的情况,就断电改成BOOT0=1再上电,从RAM启动,运行J-link ARM软件,连 ...… 查看全部问答> |
|
课程描述 参加嵌入式linux系统与应用开发就业班可以使学员快速掌握嵌入式系统开发的流程,系统移植的方法,编写Bootloader等。学习本课程的学员能够从事嵌入式系统相关的项目开发。 1、培训过程中,如有部分内容理解不透或消化不好,可免费在下期 ...… 查看全部问答> |
|
请教各位前辈一个问题: 我要将linux系统裁剪(系统功能简单,只需要保留网络功能),并制作成ISO光盘安装,如何做? 1.使用定制安装linux系统,如使用LFS, Gentoo安装。 问题:安装后的系统如何制作成ISO,实现光盘安装?&n ...… 查看全部问答> |
|
帮忙推荐一款适合于初学者arm开发板,最好有详细的实验手册,我想买周立功牌子的 我想买一套周立功的arm开发板,我原先看重的是一款easyarm1138 的板子,他网站上介绍的价格是198元,然后打电话过去问了一下,他说这款板子过期了,并且配套的试验教材和文档也没有,他推荐我买easyarm 2131,480元,且配有各种资料文档。 大家, ...… 查看全部问答> |
|
菜鸟问题:请问arm9中集成usb模块部分中的固件程序可以重新改写吗? 我在用以arm9为核心的智能手机开发板6410,要修改其中usb模块部分的固件程序,其实就是修改描述符的值。请问有搞过 这方面的高手吗?到底可以修改吗? 请高手指点迷津,小弟不胜感激!!!!!… 查看全部问答> |
|
链接是我在网络版块提的问题!在这里也问问大家!各位大虾帮我!150分,不够还可以加! http://topic.eeworld.net/u/20080124/10/3e66c379-f123-4581-9a21-06514d1350d6.html… 查看全部问答> |




