接上,继续介绍飞思卡尔HCS12系列单片机的PWM模块
(4)PWM预分频时钟寄存器(PWMPrescale SelectRegister)
PWMPRCLK为Clock A和B选择独立的预分频因子。
读:任何时刻 写:任何时刻
|
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
读 |
0 |
PCKB2 |
PCKB1 |
PCKB0 |
0 |
PCKA2 |
PCKA1 |
PCKA0 |
写 |
|
|
复位值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
注意:PWMPRCLK寄存器的位可以在任何时刻写入,如果正在产生PWM信号时改变极性,在转换工程中可能截短或延长输出脉冲。
CLOCK A or B预分频因子的选择
PCKB2/PCKA2 |
PCKB1/PCKA1 |
PCKB0/PCKA0 |
CLOCK A or B的值 |
0 |
0 |
0 |
总线时钟 |
0 |
0 |
1 |
总线时钟2分频 |
0 |
1 |
0 |
总线时钟4分频 |
0 |
1 |
1 |
总线时钟8分频 |
1 |
0 |
0 |
总线时钟16分频 |
1 |
0 |
1 |
总线时钟32分频 |
1 |
1 |
0 |
总线时钟64分频 |
1 |
1 |
1 |
总线时钟128分频 |
(5)PWM分频时钟寄存器(PWMScale xRegister)
PWM分频时钟寄存器用于将CLOCK A or B进行分频,产生CLOCK SA or SB,通过将CLOCK A除以PWMSCLA寄存器中的值,再除以2,形成CLOCK SA.
CLOCK SA=(CLOCK A)/(X*PWMSCLA)
读:任何时刻 写;任何时刻(导致分频计数器装载新的比例因子值PWMSCLA)。
|
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
读/写 |
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
复位值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
PWMSCLB的寄存器和A的完全相同。
注:若当PWMSCLA=500时,PWMSCLA默认值为256,此时CLOCK SA等于CLOCK A频率除以512.(即最大分频数为512)
(6)PWM极性寄存器(PWMPoarityRegister)
PWMPOL是确定每个PWM通道波形开始的输出极性,如果极性选择位为1,周期开始时PWM通道输出高电平,当通道计数器等于占空比寄存器值时翻转为低电平;相反,如果极性选择位是0,周期开始时PWM通道输出低电平,当通道计数器数值等于占空比计数器时翻转为高电平。
读:任何时刻 写:任何时刻
|
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
读/写 |
PPOL7 |
PPOL6 |
PPOL5 |
PPOL4 |
PPOL3 |
PPOL2 |
PPOL1 |
PPOL0 |
复位值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
注:PPOLx寄存器的位可以在任意时刻写入。如果正在产生PWM信号时改变极性,在转换过程中可能截短或延长输出脉冲。
(7)PWM居中对齐允许寄存器(PWMCenter Align EnableRegister)
PWMCAE包含8个控制位,用于控制相应的PWM通道输出波形为中心对齐输出或左对齐输出。如果CAEx=1,相应的PWM通道输出波形为中心对齐,如果CAEx=0,相应的PWM通道输出波形为左对齐。
读:任何时刻 写:任何时刻
|
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
读/写 |
CAE7 |
CAE6 |
CAE5 |
CAE4 |
CAE3 |
CAE2 |
CAE1 |
CAE0 |
复位值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
注:仅当相应通道被禁止输出时,才可以设置该寄存器。
这里居中对齐寄存器很多情况下会与极性寄存器搞混。
左对齐格式输出时,8位计数器只作加法计数,当计数器计数到占空比寄存器中设置的数值时,PWM通道输出波形就会发生变化,然后再次读取占空比和周期寄存器中的数值以作为下一次参数。
居中对齐输出时,8位计数器即做加法计数也做减法计数,当计数器加法计数到占空比寄存器中设置的数值时,PWM通道输出波形就会发生改变,当计数器加法计数到周期寄存器中设置的数值时,计数器会从加法计数变为减法计数,当计数器再次减法计数到占空比寄存器中的数值时,PWM通道输出波形再次发生变化,当计数器中数值减到0时,计数器重新变为加法计数器,然后再次读取占空比和周期寄存器中的数值作为下一次参数。
总结为左对齐Period=PWMPERx,中心对齐Period=PWMPERx*2
(8)PWM控制寄存器(PWMControlRegister)
PWMCTL控制寄存器,该寄存器用于PWM模块的各种控制,其中包括了4个级联控制位,用于将一对8位PWM通道级联成一个16位通道。
|
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
读 |
CON67 |
CON45 |
CON23 |
CON01 |
PSWAI |
PFRZ |
0 |
0 |
写 |
|
|
复位值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
读:任何时刻 写:任何时刻(导致分频计数器装载新的比例因子值PWMSCLA)
该控制寄存器设定通道的级联和两种工作模式:等待模式和冻结模式。
PSWAI:等待模式下PWM停止位。该位使能,通过禁止时钟输入到预分频器,可降低等待模式下的功耗。
1表示等待模式时,预分频器的时钟输入停止。
0表示等待模式时,允许预分频器的时钟输入。
PFRZ:冻结模式下PWM停止位。
1表示冻结模式时,预分频器的时钟输入停止。
0表示冻结模式时,允许PWM继续工作。
分享到:
相关推荐
对该款单片机PWM模块各个寄存器的使用教程,详细说明。教会我们如何进行飞思卡尔单片XS128MAA PWM的初始化教程。资料内容详细,真实。并且总结了飞思卡尔单片机XS128MAA PWM如何进行初始化操作。
资源中是飞思卡尔XEP100单片机PWM模块的测试代码,PWM模块可以生成一定频率和占空比的方波,用于控制、DA转换等功能。
主要知识点 性能/功能模块/系统配置 一 芯片引脚总体布局 二 开发流程 三 寄存器设置 四 飞思卡尔单片机介绍全文共8页,当前为第2页。 1.1性能 32位处理器内核 总线频率最高达200MHz 128KB RAM 256KB FLASH ...
内含飞思卡尔单片机各个模块的编程方法:PWM AD 定时器 锁相环 串口通信 中断 嵌入式编程
飞思卡尔s8系列单片机各个模块demo、CAN、MCG、ADC、EEPROM、PWM等等 用于自学
关于xs128单片机的PWM模块的例程,描述了PWM模块的使用方法,PWM可以控制电机驱动电路的控制,不管是单向控制还是双向控制,调速或者不调速
自己学飞思卡尔的MC9S12X128单片机时,总是苦于找不到资料,网上找了一个很不错的PDF资料,来给大家分享下,其中有各个模块的寄存器介绍,及其各个模块的一些程序写法,应用,像输出PWM波,AD转换等
该教程以MC9S12DG128单片机为核心进行讲解,全面阐释该16位单片机资源。本文为第一讲,开始介绍S12 MCU的PWM模块。
不只是程序代码,有模块寄存器的详细讲解,告诉你每个寄存器是控制什么。包括AD转换,PWM模块,定时器,串口。
FreescaleK60飞思卡尔K60,FTM模块PWM编程
PWM这个功能在飞思卡尔、STM32等高档的单片机内部有专用的模块,用此类芯片实现PWM功能时只需要通过设置相应的寄存器就可实现周期和占空比的控制。但是如果要用51单片机的话,也是可以的,但是比较的麻烦。此时需要...
飞思卡尔S12系列单片机演示代码 1 复位与看门狗 2 蜂鸣器实验 3 LED灯实验 4 按键实验 5 ATD实验 6 锁相环实验 7 SCI串口实验 8 PWM实验 9 ECT实验 10 实时中断实验 11 PIT实验 12 数码管实验
freescale 9s12 系列 PWM模块应用
飞思卡尔 xs128 单片机PWM模块编程,实现波形输出
该方案的核心是飞思卡尔专门针对中国电表市场而推出的系列芯片中最主要的一款8位单片机9S08MZ60,它基于飞思卡尔目前主打的S08内核,片内有60K的程序空间和2K的RAM空间,外加功能完善的内部时钟模块;主要的片上外设...
飞思卡尔S12X单片机的PWM输出驱动模块,将八路PWM编程设置为任意波形输出。
详细介绍了额飞思卡尔单片机12xs128的各个timer,PWM,ADC功能模块的硬件结构,手把手教你使用12XS128单片机,并且给出相应的示范历程。让你快速入门飞思卡尔单片机。
飞思卡尔单片机MCS12XS128各种模块(中断、定时器、总线时钟、ATD、PWM、SCI、PLL)初始化函数
74lvc245光耦隔离模块,用来单片机引脚与电机驱动,单片机引脚与舵机之间的隔离,防止电流烧坏单片机。常用于飞思卡尔比赛,让K60等输出的PWM通过隔离模块后在输入电机驱动。在舵机控制板等也有使用。
里面介绍了对AD,IO,PLL,PWM,SPI,SCI等编程的介绍简单易懂适合初学者学习参考,通过这些模块的学习我们可以掌握对飞思卡尔单片机的基本编程