FreeScaleHCS12系列单片机教程dg128Word格式文档下载.docx
- 文档编号:21646033
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:50
- 大小:201.73KB
FreeScaleHCS12系列单片机教程dg128Word格式文档下载.docx
《FreeScaleHCS12系列单片机教程dg128Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《FreeScaleHCS12系列单片机教程dg128Word格式文档下载.docx(50页珍藏版)》请在冰豆网上搜索。
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"
mc9s12dg128b"
/***********初始化函数*************/
/*时钟初始化程序*/
voidPLL_Init(void)//PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
{//锁相环时钟=2*16*(2+1)/(1+1)=48MHz
REFDV=1;
//总线时钟=48/2=24MHz
SYNR=2;
while(!
(CRGFLG&
0x08));
CLKSEL=0x80;
//选定锁相环时钟
}
/*PWM初始化程序*/
voidPWM_Init(void)
{
PWME_PWME3=0x00;
//DisablePWM禁止
PWMPRCLK=0x33;
//00110011A=B=24M/8=3M时钟预分频寄存器设置
PWMSCLA=150;
//SA=A/2/150=10k时钟设置
PWMSCLB=15;
//SB=B/2/15=100k时钟设置
PWMCLK_PCLK3=1;
//PWM3-----SB时钟源的选择
PWMPOL_PPOL3=1;
//Duty=HighTime极性设置
PWMCAE_CAE3=0;
//Left-aligned对齐方式设置
PWMCTL=0x00;
//noconcatenation控制寄存器设置
PWMPER3=100;
//Frequency=SB/100=1K周期寄存器设置
PWMDTY3=50;
//Dutycycle=50%占空比寄存器设置
PWME_PWME3=1;
//EnablePWM使能
/**********主函数**************/
voidmain(void)
PLL_Init();
PWM_Init();
/*putyourowncodehere*/
EnableInterrupts;
for(;
;
){}/*waitforever*/
/*pleasemakesurethatyouneverleavethisfunction*/
HCS12微控制器系列教程---第九讲:
A/D转换模块介绍1
1、A/D转换原理
A/D转换的过程是模拟信号依次通过取样、保持和量化、编码几个过程后转换为数字格式。
a)取样与保持
一般取样与保持过程是同时完成的,取样-保持电路的原理图如图16所示,由输入放大器A1、输出放大器A2、保持电容CH和电子开关S组成,要求AV1*AV2=1。
原理是:
当开关S闭合时,电路处于取样阶段,电容器充电,由于AV1*AV2=1,所以输出等于输入;
当开关S断开时,由于A2输入阻抗较大而且开关理想,可认为CH没有放电回路,输出电压保持不变。
图16取样-保持电路
取样-保持以均匀间隔对模拟信号进行抽样,并且在每个抽样运算后在足够的时间内保持抽样值恒定,以保证输出值可以被A/D转换器精确转换。
b)量化与编码
量化的方法,一般有舍尾取整法和四舍五入法,过程是先取顶量化单位Δ,量化单位取值越小,量化误差的绝对值就越小,具体过程在这里就不做介绍了。
将量化后的结果用二进制码表示叫做编码。
2、A/D转换器的技术指标
a)分辨率
分辨率说明A/D转换器对输入信号的分辨能力,理论上,n位A/D转换器能区分的输入电压的最小值为满量程的
1/2n。
也就是说,在参考电压一定时,输出位数越多,量化单位就越小,分辨率就越高。
S12的ATD模块中,若输出设置为8位的话,那么转换器能区分的输入信号最小电压为19.53mV。
b)转换时间
A/D转换器按其工作原理可以分为并联比较型(转换速度快ns级)、逐次逼近型(转换速度适中us级)、双积分型(速度慢抗干扰能力强)。
不同类型的转化的A/D转换器转换时间不尽相同,S12的ATD模块中,8位数字量转换时间仅有6us,10位数字量转换时间仅有7us。
HCS12微控制器系列教程---第十讲:
A/D转换模块介绍2
S12内置了2组10位/8位的A/D模块:
ATD0和ATD1,共有16个模拟量输入通道,属于逐次逼近型A/D转换器(这个转换过程与用天平称物的原理相似)。
1、功能结构图
图17A/D模块功能结构图
图17所示的是A/D模块的功能结构,这个功能模块被虚线划分成为图示所示的虚线所隔离的三个部分:
IP总线接口、转换模式控制/寄存器列表,自定义模拟量。
IP总线接口负责该模块与总线的连接,实现A/D模块和通用I/O的目的,还起到分频的作用;
转换模式控制寄存器列表中有控制该模块的所有的寄存器,执行左右对齐运行和连续扫描。
自定义模拟量负责实现模拟量到数字量的转换。
包括了执行一次简单转换所需的模拟量和数字量。
2、HCS12中A/D转化模块特点
8/10位精度;
7us,10-位单次转换时间.;
采样缓冲放大器;
可编程采样时间;
左/右对齐,有符号/无符号结果数据;
外部触发控制;
转换完成中断;
模拟输入8通道复用;
模拟/数字输入引脚复用;
1到8转换序列长度;
连续转换模式;
多通道扫描方式。
ATD模块有模拟量前端、模拟量转换、控制部分及结果存储等四部分组成。
其中模拟前端包括多路转换开关、采样缓冲器、放大器等,结果存储部分主要有8个16位的存储器和反映工作状态的若干标志位。
HCS12微控制器系列教程---第十一讲:
A/D寄存器简介1
1、ATD0控制寄存器2---ATD0CTL2
ATD0CTL2主要控制ATD0的启动、状态标志以及上电模式,对寄存器进行写操作时,将中断当前的转化过程。
寄存器ATD0CTL2如图18所示:
图18ATD0CTL2寄存器
ADPU:
A/D使能控制位,相当于一个开关,用来启动/禁止A/D转换
1=A/D模块上电
0=禁止A/D,以减少功耗
AFFC:
A/D快速转换完成标志位清零
1=快速标志位清零顺序,每次读取结果寄存器自动清零
0=正常标志位清零顺序,需要软件方式对状态标志位清零
AWAI:
A/D等待模式
1=等待模式下,ATD继续运行
0=等待模式下,ATD停止运行,以降低功耗
ETRIGP、ETRIGLE、ETRIGE:
ETRIGLE
ETRIGP
ETRIGE
描述
x
忽略外部触发
1
下降沿触发
上升沿触发
低电平触发
高电平触发
【注意】ETRIGE:
外部触发使能控制位,该功能借助引脚AN7,当AN7接收到外部触发时,启动A/D转换,否则不进行转换。
0--忽略外部触发;
1--有外部触发时开始转换,此时AN7不能用于A/D转换。
ASCIE:
A/D转化序列转换结束中断使能控制位
1=允许ATD转换序列转换结束后发生中断
0=禁止ATD中断
ASCIF:
A/D转换序列转换结束中断标志,只用于读。
1=发生中断
0=为发生中断
HCS12微控制器系列教程---第十二讲:
A/D寄存器简介2
2、ATD0控制寄存器3---ATD0CTL3
ATD0CTL3主要控制结果寄存器的映射,设置转换序列的长度,还可以暂时冻结ATD0模块,尤其确定ATD0在BDM状态下的行为。
寄存器ATD0CTL3如图19所示:
图19ATD0CTL3寄存器
S1C、S2C、S4C、S8C:
转换序列长度选择位控制位
【注意】ATD的每次启动要进行若干次扫描循环,每次扫描循环称为一个转换序列。
FIFO:
结果寄存器FIFO模式控制位,
1=结果寄存器映射到转换序列
0=结果寄存器没有映射到转换序列
FRZ0、FRZ1:
背景调试冻结控制位
FRZ
Response
00
Ignore
IFREEZE(冻结模式下继续转换)
01
Reserved(冻结模式下保留)
10
Finish
conversion
then
freeze(完成转换后冻结)
11
Freeze
Immediately(冻结模式下立刻冻结)
手把手教你写S12XS128程序(13)--A/D寄存器说明3
3、ATD0控制寄存器4---ATD0CTL4
ATD0CTL4用于选择时钟,选择采样转换时间以及选择8位/10位转换方式。
寄存器ATD0CTL4如图20所示:
图20ATD0CTL4寄存器
SRES8:
A/D精度选择控制位
1=将采集到的模拟量以8位二进制数表示
0=将采集到的模拟量以10位二进制数表示
SMP0、SMP1:
采样时间选择控制位
SMP[1:
0]
采样时间
2
A/D时钟周期
4
8
16
A/D
时钟周期
PPS[0:
4]:
5位模数计数器预分频器
-分频系数从2到64
-A/D时钟计算公式:
ATDClock=BusClock/(PRS+1)×
0.5
-A/D时钟频率应满足:
【注意】对于AD转换来说,它的转换周期包括采样时间和运算时间。
如果频率太高,则采样时间过短。
这对于输出阻抗比较大或信号频率比较高的信号来说,就会产生较大的采样误差,那么AD转换的精度就会受较大的影响。
手把手教你写S12XS128程序(14)--A/D寄存器说明4
4、ATD0控制寄存器4---ATD0CTL5
ATD0CTL5用于选择转换方式,选择转换通道,设置单/多通道转换和单次/连续转换模式以及对齐方式。
寄存器ATD0CTL5如图20所示:
图20寄存器ATD0CTL5
【注意】ATDCTRL5设置成多通道转换后,ATDCTRL3设置采集的通道数,此外ATDCTRL5中还需要设置多通道采集的起始通道。
比如采集7个通道,起始通道是1,那么就采集从1-7通道,如果起始通道是2,就采集2-7,还有0通道。
【注意】在S12系列中,当转换序列长度设置为1(S8C:
S1C=0001),MULT=0时,只对一个通道进行一次转换。
手把手教你写S12XS128程序(15)--A/D寄存器说明5
5、ATD0状态寄存器5---ATD0START0、ATD0START0
ATD0START0反映当前的转换通道、A/D转换是否结束、是否有外部触发等;
ATD0START1反映转换序列中相应的转换是否完成。
寄存器ATD0START0、ATD0START1如图21所示:
SCF---转换序列完成标志
在单次转换模式时,当转换完成后置位(SCAN=0)
在连续转换模式时,当第一次转换完成后置位(SCAN=1),当AFFC=0,写1清零。
ETORF---外部触发覆盖标志
如果在转换过程中高/低电平出现,置位FIFOR
当结果寄存器在读出之前已经被写入时,置位(CCF没有清零)
CC[2:
0]转换计数器---3位计数器指向下一个将要转换的通道
CCF7-CCF0---独立通道转换完成标志位每个相应的通道转换结束后置位,当相应的A/D结果寄存器被读出时,清零,注意当AFFC位不同时的情况
手把手教你写S12XS128程序(16)--A/D转换应用实例
第十六讲:
A/D转换应用实例
要让AT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FreeScaleHCS12 系列 单片机 教程 dg128