logo资料库

手把手教你学MC9S12XS128飞思卡尔单片机 教程.pdf

第1页 / 共65页
第2页 / 共65页
第3页 / 共65页
第4页 / 共65页
第5页 / 共65页
第6页 / 共65页
第7页 / 共65页
第8页 / 共65页
资料共65页,剩余部分请下载后查看
手把手教你写 S12XS128 程序(1)--PWM 模块介绍 时间:2009-11-25 22:51 来源:电子设计吧 作者:dzsj8 点击: 662 次 该教程以 MC9S12XS128 单片机为核心进行讲解,全面阐释 该 16 位单片机资源。本文为第一讲,开始介绍该 MCU 的 PWM 模块。 PWM 调制波有 8 个输出通道,每一个输出通道都可以独立 的进行输出。每 一个输出通道都有一个精确的计数器(计算 脉冲的个数),一个周期控制寄存器 和两个可供选择的时钟源。 每一个 PWM 输出通道都能调制出占空比从 0—100% 变化的波 形。 PWM 的主要特点有: 1、它有 8 个独立的输出通道,并且通过编程可控制其输出 波形的周期。 2、每一个输出通道都有一个精确的计数器。 3、每一个通道的 PWM 输出使能都可以由编程来控制。 4、PWM 输出波形的翻转控制可以通过编程来实现。 5、周期和脉宽可以被双缓冲。当通道关闭或 PWM 计数器 为 0 时,改变周期和脉宽才起作用。 6、8 字节或 16 字节的通道协议。 7、有 4 个时钟源可供选择(A、SA、B、SB),他们提供了一 个宽范围的时 钟频率。 8、通过编程可以实现希望的时钟周期。 9、具有遇到紧急情况关闭程序的功能。 10、每一个通道都可以通过编程实现左对齐输出还是居中 对齐输出。 手把手教你写 S12XS128 程序(2)--PWM 寄存器说明 1
时间:2009-11-25 22:56 来源:电子设计吧 作者:dzsj8 点击: 493 次 1、PWM 启动寄存器 PWME PWME 寄存器每一位如图 1 所示: 复位默认值:0000 0000B 图 1 PWME 寄存器 每一个 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 所示: 复位默认值:0000 0000B
图 2 PWMCLK 寄存器 S12 的 PWM 共有四个时钟源,每一个 PWM 输出通道都有两个 时钟可供选择(ClockA、ClockSA 或 Clock B、ClockSB))。其 中 0、1、4、5 通道可选用 ClockA 和 ClockSA,2、3、6、7 通 道可选用 ClockB、ClockSB 通道。该寄存器用来实现几个通道 时钟源的选择。 用法: PCLK0 = 1 --- 通道 0(PTP0)的时钟源设为 ClockSA PCLK2 = 0 --- 通道 2(PTP2)的时钟源设为 ClockB 手把手教你写 S12XS128 程序(3)--PWM 寄存器说明 2 时间:2009-11-25 22:58 来源:电子设计吧 作者:dzsj8 点击: 435 次 1、PWM 预分频寄存器 PWMPRCLK PWMPRCLK 寄存器每一位如图 3 所示: 复位默认值:0000 0000B 图 3 PWMPRCLK 寄存器 PWMPRCLK 寄存器包括ClockA预分频和ClockB预分频的控制 位。ClockA、ClockB的值为总线时钟的 1/2n (0≤n≤7),具体设 置参照图 4 和图 5
图 4 Clock A 预分频设置 图 5 Clock B 预分频设置 PCKB0~PCKB2 是对 ClockB 进行预分频。 PCKA0-PCKA2 是对 ClockA 进行预分频。 2、PWM 分频寄存器 PWMSCLA、PWMSCLB PWMSCLA 寄存器每一位如图 6 所示: 图 6 PWMSCLA 寄存器 Clock SA 是通过对 PWMSCLA 寄存器的设置来对 ClockA 进行 分频而产生的。其计算公式为: Clock SA=Clock A /(2*PWMSCLA)
PWMSCLB 寄 存 器 与 PWMSCLA 寄 存 器 相 似 ,Clock SB 就 是 通 过 对 PWMSCLB 寄存器的设置来对 ClockB 进行分频而产生 的。其计算公式为: Clock SB=Clock B /(2*PWMSCLB) 手把手教你写 S12XS128 程序(4)--PWM 寄存器说明 3 时间:2009-11-26 07:09 来源:电子设计吧 作者:dzsj8 点击: 372 次 1、PWM 极性选择寄存器 PWMPOL PWMPOL 寄存器每一位如图 7 所示: 该寄存器是 0~7 通道 PWM 输出起始极性控制位,用来设置 PWM 输出的起始电平。 用法:PWMPOL_PPOL0=1--- 通道 0 在周期开始时输出为高 电平,当计数器等于占空比寄存器的值时,输出为低电平。对外 输出波形先是高电平然后再变为低电平。
2、PWM 波形对齐寄存器 PWMCAE PWMCAE 寄存器每一位如图 8 所示: PWMCAE 寄存器包含 8 个控制位来对每个 PWM 通道设置左对齐输出 图 8 PWMCAE 寄存器 或中心对齐输出。 用法: PWMCAE_CAE0 = 1 --- 通道 0 中心对齐输出 PWMCAE_CAE7 = 0 --- 通道 7 左对齐输出 注意:只有输出通道被关闭后才能对其进行设置,即通道被激 活后不能对其进行设置。 图 7 PWMPOL 寄存器 手把手教你写 S12XS128 程序(5)--PWM 寄存器说明 4 时间:2009-11-26 07:22 来源:电子设计吧 作者:dzsj8 点击: 389 次
1、PWM 控制寄存器 PWMCTL PWMCTL 寄存器每一位如图 9 所示: 图 9 PWMCTL 寄存器 该控制寄存器设定通道的级联和两种工作模式:等待模式和冻结 模式。这两种模式如图 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 一旦处于冻结状态,就会停止计数器工作。
分享到:
收藏