FreeScaleHCS12系列单片机教程dg128Word格式.docx

上传人:b****2 文档编号:15286491 上传时间:2022-10-29 格式:DOCX 页数:49 大小:204.25KB
下载 相关 举报
FreeScaleHCS12系列单片机教程dg128Word格式.docx_第1页
第1页 / 共49页
FreeScaleHCS12系列单片机教程dg128Word格式.docx_第2页
第2页 / 共49页
FreeScaleHCS12系列单片机教程dg128Word格式.docx_第3页
第3页 / 共49页
FreeScaleHCS12系列单片机教程dg128Word格式.docx_第4页
第4页 / 共49页
FreeScaleHCS12系列单片机教程dg128Word格式.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

FreeScaleHCS12系列单片机教程dg128Word格式.docx

《FreeScaleHCS12系列单片机教程dg128Word格式.docx》由会员分享,可在线阅读,更多相关《FreeScaleHCS12系列单片机教程dg128Word格式.docx(49页珍藏版)》请在冰豆网上搜索。

FreeScaleHCS12系列单片机教程dg128Word格式.docx

8、通过编程可以实现希望的时钟周期。

9、具有遇到紧急情况关闭程序的功能。

10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。

HCS12微控制器系列教程---第二讲:

PWM寄存器简介

1、PWM启动寄存器PWME

PWME寄存器每一位如图1所示:

复位默认值:

00000000B

图1PWME寄存器 

每一个PWM的输出通道都有一个使能位PWMEx。

它相当于一个开关,用来启动和关闭相应通道的PWM波形输出。

当任意的PWMEx位置1,则相关的PWM输出通道就立刻可用。

 

用法:

PWME7=1---通道7可对外输出波形

PWME7=0---通道7不能对外输出波形

注意:

在通道使能后所输出的第一个波形可能是不规则的。

当输出通道工作在串联模式时(PWMCTL寄存器中的CONxx置1),那么)使能相应的16位PWM输出通道是由PWMEx的高位控制的,例如:

设置PWMCTL_CON01=1,通道0、1级联,形成一个16位PWM通道,由通道1的使能位控制PWM的输出。

2、PWM时钟选择寄存器PWMCLK

PWMCLK寄存器每一位如图3所示:

图2PWMCLK寄存器 

S12的PWM共有四个时钟源,每一个PWM输出通道都有两个时钟可供选择(ClockA、ClockSA或ClockB、ClockSB))。

其中0、1、4、5通道可选用ClockA和ClockSA,2、3、6、7通道可选用ClockB、ClockSB通道。

该寄存器用来实现几个通道时钟源的选择。

PCLK0=1---通道0(PTP0)的时钟源设为ClockSA

PCLK2=0---通道2(PTP2)的时钟源设为ClockB

HCS12微控制器系列教程---第三讲:

1、PWM预分频寄存器PWMPRCLK

PWMPRCLK寄存器每一位如图3所示:

图3PWMPRCLK寄存器 

PWMPRCLK寄存器包括ClockA预分频和ClockB预分频的控制位。

ClockA、ClockB的值为总线时钟的1/2n(0≤n≤7),具体设置参照图4和图5

图4ClockA预分频设置

图5ClockB预分频设置

PCKB0~PCKB2是对ClockB进行预分频。

PCKA0~PCKA2是对ClockA进行预分频。

2、PWM分频寄存器PWMSCLA、PWMSCLB

PWMSCLA寄存器每一位如图6所示:

图6PWMSCLA寄存器

ClockSA是通过对PWMSCLA寄存器的设置来对ClockA进行分频而产生的。

其计算公式为:

ClockSA=ClockA/(2*PWMSCLA)

PWMSCLB寄存器与PWMSCLA寄存器相似,ClockSB就是通过对PWMSCLB寄存器的设置来对ClockB进行分频而产生的。

ClockSB=ClockB/(2*PWMSCLB)

HCS12微控制器系列教程---第四讲:

1、PWM极性选择寄存器PWMPOL

PWMPOL寄存器每一位如图7所示:

图7PWMPOL寄存器

该寄存器是0~7通道PWM输出起始极性控制位,用来设置PWM输出的起始电平。

PWMPOL_PPOL0=1---通道0在周期开始时输出为高电平,当计数器等于占空比寄存器的值时,输出为低电平。

对外输出波形先是高电平然后再变为低电平。

2、PWM波形对齐寄存器PWMCAE

PWMCAE寄存器每一位如图8所示:

图8PWMCAE寄存器

PWMCAE寄存器包含8个控制位来对每个PWM通道设置左对齐输出或中心对齐输出。

用法:

PWMCAE_CAE0=1---通道0中心对齐输出

PWMCAE_CAE7=0---通道7左对齐输出

只有输出通道被关闭后才能对其进行设置,即通道被激活后不能对其进行设置。

HCS12微控制器系列教程---第五讲:

1、PWM控制寄存器PWMCTL

PWMCTL寄存器每一位如图9所示:

图9PWMCTL寄存器

该控制寄存器设定通道的级联和两种工作模式:

等待模式和冻结模式。

这两种模式如图10和图11所示。

图10等待模式

图11冻结模式

只有当相应的通道关闭后,才能改变这些控制字。

PWMCTL_CON67=1---通道6、7级联成一个16位的PWM通道。

此时只有7通道的控制字起作用,原通道7的使能位、PWM输出极性选择位、时钟选择控制位以及对齐方式选择位用来设置级联后的PWM输出特性

PWMCTL_CON67=0---通道6,7通道不级联

CON45、CON23、CON01的用法同CON67相似。

设置此控制字的意义在于扩大了PWM对外输出脉冲的频率范围。

PSWAI=1---MCU一旦处于等待状态,就会停止时钟的输入。

这样就不会因时钟在空操作而费电;

当它置为0,则MCU就是处于等待状态,也允许时钟的输入。

PFRZ=1---MCU一旦处于冻结状态,就会停止计数器工作。

HCS12微控制器系列教程---第六讲:

1、PWM通道计数寄存器PWMCNTx

PWMCNTx寄存器共有8个,每一个通道都有一个8位PWM加/减双向计数器,通道级联后可变成16位PWM加/减双向计数器。

下面以PWMCNT0为例对PWMCNTx寄存器进行介绍。

PWMCNT0寄存器如图12所示:

图12PWMCNT0寄存器

计数器以所选时钟源的频率运行。

计数器在任何时候都可以被读,而不影响计数,也不影响对PWM通道的操作。

任何值写入PWMCNT0寄存器都会导致计数器复位置0,且其计数方向会被设置为向上计数,并且会立刻从缓冲器载入任务和周期值,并会根据翻转极性的设置来改变输出。

当计数器达到计数值后,会自动清零。

只有当通道使能后,计数器才开始计数。

2、PWM通道周期寄存器PWMPERx

PWMPERx寄存器共有8个,每一个通道都有一个这样的周期寄存器。

这个寄存器的值就决定了相关PWM通道的周期。

每一个通道的周期寄存器都是双缓冲的,因此如果当通道使能后,改变他们的值,将不会发生任何作用,除非当下列情况之一发生:

*有效的周期结束。

*对计数器进行写操作(计数器复位)

*通道不可用(PWMEx=0)

这样就会使PWM输出波形要么是新波形要么是旧波形,并不会在两者之间进行交替变换。

如果通道不可用,那么对周期寄存器进行写操作,将会直接导致周期寄存器同缓冲器一起闭锁。

图13所示的是PWMPER0寄存器:

图13PWMPER0寄存器

3、PWM通道占空比寄存器PWMDTYx

PWMDTYx寄存器也有8个,每一个通道都有一个这样的占空比常数寄存器。

这个寄存器的值就决定了相关PWM通道输出波形的占空比。

每一个通道的占空比寄存器都是双缓冲的,因此如果当通道被激活后,改变他们的值将不会发生任何作用,除非当下列情况之一发生:

如果通道没有被激活,那么对占空比常数寄存器进行写操作,将会直接导致周期寄存器同缓冲器一起闭锁。

当计数值与占空比常数PWMDTY相等时,则比较输出器有效,这时就会将触发器置位,然后PWMCNT继续计数,当计数值与周期常数PWMPER相等时,比较器输出有效,将触发器复位,同时也使PWMCNT复位,结束一个输出周期。

HCS12微控制器系列教程---第七讲:

PWM工作原理

S12微控制器PWM模块是由独立运行的8位脉冲计数器PWMCNT、两个比较寄存器PWMPER和PWMDTY组成。

1、左对齐方式

在该方式下,脉冲计数器为循环递增计数,计数初值为0。

当PWM使能后,计数器PWMCNT从0开始对时钟信号递增计数,开始一个输出周期。

当计数值与占空比常数寄存器PWMDTY相等时,比较器1输出有效,将触发器置位,而PWMCNT继续计数;

当计数值与周期常数寄存器PWMPER相等时,比较器2输出有效,将触发器复位,同时PWMCNT也复位,结束一个输出周期。

原理参照图14:

图14PWM左对齐方式

2、中心对齐方式

在该方式下,脉冲计数器为双向计数,计数初值为0。

当PWM使能后,计数器PWMCNT从0开始对时钟信号递增计数,开始输出一个周期。

当计数器与占空比常数寄存器PWMDTY相等时,比较器1输出有效,触发器翻转,而PWMCNT继续计数,当计数值与周期常数PWMPER相等时,比较器2输出有效,此时改变PWMCNT的计数方向,使其递解计数;

当PWMCNT再次与PWMDTY相等时,比较器1再一次输出有效,使触发器再次翻转,而PWMCNT继续递减计数,等待PWMCNT减回至0,完成一个输出周期。

原理参照图15:

图15 

中心对齐方式

3、周期计算方法

左对齐方式:

输出周期=通道周期×

PWMPERx

中心对齐方式:

PWMPERx×

2

4、脉宽计算方法

占空比=[(PWMPERx-PWMDTYx)/PWMPERx]×

100%

占空比=[PWMDTYx/PWMPERx]×

HCS12微控制器系列教程---第八讲:

PWM应用实例

PWM初始化步骤总结

1、禁止PWMPWME=0

2、选择时钟PWMPRCLK,PWMSCLA,PWMSCLB,PWMCLK

3、选择极性PWMPOL

4、选择对齐方式PWMCAE

5、选择占空比和周期PWMDTYx,PWMPERx

6、使能PWMPWME=1 

【例程1】

程序描述:

由通道PTP3口输出频率为1K,占空比为50%的方波

程序如下:

#include<

hidef.h>

/*commondefinesandmacros*/

mc9s12dg128.h>

/*derivativeinformation*/

#pragmaLINK_INFODERIVATIVE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1