飞思卡尔单片机PWM模块分析(3)
来源:互联网 发布:淘宝未收到货怎么投诉 编辑:程序博客网 时间:2024/05/22 03:35
接上,继续介绍飞思卡尔HCS12系列单片机的PWM模块
(9)PWM通道计数寄存器(PWM Channel Counter Register)
PWMCNTx是PWM通道计数寄存器,可以在任何时刻读取该计数器数值,而不影响计数器和PWM通道的工作。计数器方向默认设定为向上计数,从周期寄存器和占空比寄存器的缓冲器中得到周期和占空比数值,人后根据极性选择位改变输出电平。
读Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0写Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0复位值00000000
读:任何时刻 写:任何时刻
注:在级联模式下,无论对16位计数器的访问还是对高八位和第八位分开访问,都会使计数器复位。读取16位计数器必须从16位方式访问,以保持数据的一致性,高8位和低8位分开读取会得到不正确的结果。
(10)PWM通道周期寄存器(PWM Channel Period Register)
PWMPERx周期寄存器的值决定相应PWM通道的周期。周期寄存器的数值都是双缓冲的,因此,当寄存器中的数值改变后,并不生效。
读Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0写Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0复位值00000000读:任何时刻 写:任何时刻
输出的PWM波形周期的计算方法是,用选择的时钟周期乘以周期寄存器的数值。
左对齐方式输出(CAEx=0) PWMx周期=通道时钟周期*PWMPERx
居中对齐方式输出(CAEx=1) PWMx周期=通道时钟周期*2*PWMPERx
(11)PWM通道占空比寄存器(PWM Channel Duty Register)
PWMDTYx占空比寄存器,该寄存器的值决定相应PWM通道的占空比。占空比寄存器的数值都是双缓冲的,因此,当寄存器中的数值改变后,并不生效。
读Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0写Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0复位值00000000
读:任何时刻 写:任何时刻
PWM波形占空比计算公式如下:
极性为0时(PPOLx=0)
占空比=(PWMPERx-PWMDTYx)/ PWMPERx
极性为1时(PPOLx=1)
占空比=(PWMDTYx)/(PWMPERx)
注:无论左对齐输出还是居中对齐输出,只要PPOLx,PWMPERx和PWMDTYx寄存器的数值相同,输出波形的占空比也是相同的,只是居中对齐输出比左对齐输出的波形的周期大一倍。
(12)PWM关断寄存器(PWM Shutdown Register)
PWMSDN具有在紧急情况下立即关断PWM通道输出的功能。
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0读PWMIFPWMIE0PWM-LVL0PWM7INPWM7ILPWM7-ENA写PWMR-STRT 复位值00000000读:任何时刻 写:任何时刻
PWM7ENA:PWM紧急关断允许。
PWM7IL:紧急关断有效输入电平选择位。该位确定PWM通道7处于什么电平时,PWM模块才会被紧急关断。
PWM7IN:PWM通道7输入状态位。
PWMLVL:PWM紧急关断后输出电平选择位。
PWMRSTRT:PWM重新启动控制位。
PWMIE:PWM中断允许。
PWMIF:PWM中断标志。
PWM模块就介绍到此了,下次更新PLL时钟设定。
- 飞思卡尔单片机PWM模块分析(3)
- 飞思卡尔单片机PWM模块分析(1)
- 飞思卡尔单片机PWM模块分析(2)
- 飞思卡尔PWM模块
- 飞思卡尔单片机DZ60---中央对齐PWM
- 飞思卡尔单片机DZ60---边沿对齐PWM
- 飞思卡尔单片机AD模块简述(3)
- 飞思卡尔XS128系列(二) PWM模块
- 飞思卡尔单片机AD模块简述(1)
- 飞思卡尔单片机AD模块简述(2)
- 飞思卡尔单片机PLL时钟总线模块
- STC15系列单片机-PWM模块
- 分析 ddp pwm 模块
- 飞思卡尔ATD模块
- 飞思卡尔单片机DZ60---输入捕捉
- 飞思卡尔单片机DZ60---实时中断
- 飞思卡尔单片机DZ60---时钟初始化
- 飞思卡尔单片机DZ60---EEPROM读写
- 新手上路
- DOS下编译VC程序
- 队列之顺序队列
- 成功的普通
- 窗口动态增大
- 飞思卡尔单片机PWM模块分析(3)
- 流年的影子
- c语言试题答案
- 工作
- JAVA vs C#
- 今天正式加入CSDN吧~
- TCP/IP网络编程(1)
- 加油啊
- 直到遇见了你一起分享