




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MC9S12XS单片机原理及嵌入式系统开发 MC9S12XS单片机原理及嵌入式系统开发 张阳 吴晔 滕勤Email TEL MC9S12XS单片机原理及嵌入式系统开发 第7章MC9S12XS系列脉宽调制模块及其应用实例 PWM模块概述PWM模块结构组成和特点PWM模块寄存器及设置PWM模块应用实例智能车系统中PWM模块的应用 MC9S12XS单片机原理及嵌入式系统开发 7 1PWM模块概述 脉冲宽度调制 PWM 是产生精确脉冲序列输出和实现D A转换的有效方法 微控制器的脉宽调制模块被广泛应用于工业控制和新型消费机电产品中 如智能空调 节能冰箱 电动自行车等 PWM信号通过软件编程调节波形的占空比 周期和相位 能够用于直流电动机调速 伺服电动机控制 D A转换器等应用 例如 电视机遥控部分普遍采用14位或16位的PWM产生调谐电压 在无人自动驾驶汽车系统中 常用伺服电动机来控制方向盘 伺服电动机的旋转角度与给定的PWM信号占空比一致 每个占空比数值都对应一个旋转角度 在灯光亮度调节 直流电动机速度控制等方面 采用PWM信号能够很容易实现 MC9S12XS系列产生PWM信号的方法主要有两种 利用输出比较功能和MCU内置的PWM模块实现 利用输出比较功能可以通过软件编程设定输出任意脉冲信号 但会占用CPU资源 而且不易产生精确的脉冲序列 而MCU内部集成的PWM模块专门用于输出PWM信号 使用时极少占用CPU资源 MC9S12XS单片机原理及嵌入式系统开发 7 2PWM模块结构组成和特点 MC9S12XS128内置的PWM模块框图如图7 1所示 MC9S12XS单片机原理及嵌入式系统开发 7 2PWM模块概述 由图7 1可知 MC9S12XS128的PWM模块具有8路8位独立PWM通道 通过相应设置也可以变为4个16位PWM通道 每个PWM通道由独立运行的8位通道计数器PWMCNT 两个比较寄存器为通道周期寄存器PWMPER和占空比寄存器PWMDTY等组成 通过对各寄存器的参数设置 确定PWM波形的输出周期和占空比 另外还可以通过通道极性寄存器PWMPOL和居中对齐使能寄存器PWMCAE设置PWM输出脉冲波形的极性和对齐方式 MC9S12XS单片机原理及嵌入式系统开发 7 2PWM模块概述 PWM模块具有以下基本特征 具有可编程周期和占空比的8个独立PWM通道 每个PWM通道具有独立的计数器 每个通道可编程允许 禁止PWM功能 每个通道可软件选择PWM脉冲极性 具有双缓冲的周期和占空比寄存器 当到达有效周期终点 PWM计数器到达0 或通道禁止时 修改值生效 每个通道可编程中心对齐或左对齐输出 8个8位通道或4个16位通道PWM分辨率 4个时钟源 A B SA和SB 提供宽频带频率 可编程的时钟选择逻辑 紧急关闭功能 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 MC9S12XS128的PWM模块的相关寄存器详见表7 1 其中PWM测试寄存器 PWMTST PWM预分频计数寄存器 PWMPRSC PWM比例因子A计数寄存器 PWMSCNTA 和PWM比例因子B计数寄存器 PWMSCNTB 仅用于出厂测试 所以后文不对其进行说明 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 1PWM使能寄存器 PWME PWM使能寄存器 PWMEnableRegister PWME 中的每个控制位对应相应的PWM通道 可以通过设置相应的控制位启动或者停止PWM信号输出 当任意一个PWMEx位被置位 PWMEx 1 时 相应的PWM信号产生输出 但是 由于PWMEx需要与时钟源同步 直到PWM模块时钟的下一个周期到来 才能输出正确的PWM波形 当处于级联模式时 8个8位PWM通道通过两两级联构成4个16位的PWM通道 此时PWME1 PWME3 PWME5和PWME7对应控制4个16位PWM通道 而其他控制位无效 如图7 2所示 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 1PWM使能寄存器 PWME 读 任何时刻 写 任何时刻 PWME7 PWM通道7使能位 0表示禁止PWM通道7输出 1表示允许PWM通道7输出 PWME6 PWM通道6使能位 0表示禁止PWM通道6输出 1表示允许PWM通道6输出 如果CON67 1 该位无效 且PWM通道6输出无效 PWME5 PWM通道5使能位 0表示禁止PWM通道5输出 1表示允许PWM通道5输出 PWME4 PWM通道4使能位 0表示禁止PWM通道4输出 1表示允许PWM通道4输出 如果CON45 1 该位无效 且PWM通道4输出无效 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 1PWM使能寄存器 PWME PWME3 PWM通道3使能位 0表示禁止PWM通道3输出 1表示允许PWM通道3输出 PWME2 PWM通道2使能位 0表示禁止PWM通道2输出 1表示允许PWM通道2输出 如果CON23 1 该位无效 且PWM通道2输出无效 PWME1 PWM通道1使能位 0表示禁止PWM通道1输出 1表示允许PWM通道1输出 PWME0 PWM通道0使能位 0表示禁止PWM通道0输出 1表示允许PWM通道0输出 如果CON01 1 该位无效 且PWM通道0输出无效 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 2PWM极性寄存器 PWMPOL 每个PWM通道波形开始时的信号极性由PWM极性寄存器 PWMPolarityRegister PWMPOL 中的极性选择位 PPOLx 决定 如果PPOLx位为1 周期脉冲开始时PWM通道输出高电平信号 当通道计数器PWMCNTx数值等于占空比寄存器PWMDTYx数值时翻转为低电平信号 相反 如果PPOLx位为0 周期脉冲开始时PWM通道输出低电平信号 当PWMCNTx数值等于PWMDTYx数值时翻转为高电平信号 PWMPOL寄存器如图7 3所示 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 2PWM极性寄存器 PWMPOL 读 任何时刻 写 任何时刻 注意 PWMPOL寄存器中的PPOLx位可以在任何时刻进行写入操作 如果正在产生PWM信号时要求改变信号极性 则PWM输出脉冲在信号极性转换过程中可能被截短或延长 PPOLx PWM通道x输出波形极性位 0表示PWM通道x在周期脉冲开始时输出低电平 当到达占空比计数值时翻转为高电平 1表示PWM通道x在周期脉冲开始时输出高电平 当到达占空比计数值时翻转为低电平 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 3PWM时钟选择寄存器 PWMCLK 每一个PWM通道可以选择两个时钟之一作为该通道的时钟源 PWM时钟选择寄存器 PWMClockSelectRegister PWMCLK 如图7 4所示 读 任何时刻 写 任何时刻 注意 PWMCLK寄存器中的PCLKx位可以在任何时刻写入 如果正在产生PWM信号时要求改变信号极性 则PWM输出脉冲在信号极性转换过程中可能被截短或延长 PCLK7 PCLK6 PCLK3 PCLK2 PWM通道7 6 3 2时钟选择位 0表示ClockB作为相应通道时钟源 1表示ClockSB作为相应通道时钟源 PCLK5 PCLK4 PCLK1 PCLK0 PWM通道5 4 1 0时钟选择位 0表示ClockA作为相应通道时钟源 1表示ClockSA作为相应通道时钟源 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 3PWM时钟选择寄存器 PWMCLK PWM时钟选择框图如图7 5所示 从图中可知 PWM模块一共有4个时钟源 分别为ClockA ClockB ClockSA和ClockSB 其中ClockA和ClockB由总线时钟直接分频得到 分频因子由PWM预分频时钟选择寄存器 PWMPRCLK 中的Bit2 Bit0或Bit6 Bit4确定 如图7 6所示 PWMPRCLK寄存器的介绍详见7 3 4节 ClockSA由ClockA通过PWM比例因子A寄存器 PWMSCLA 再次分频得到 ClockSB由ClockB通过PWM比例因子B寄存器 PWMSCLB 再次分频得到 PWMSCLA寄存器和PWMSCLB寄存器的介绍详见7 3 7节和7 3 8节 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 3PWM时钟选择寄存器 PWMCLK MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 4PWM预分频时钟选择寄存器 PWMPRCLK 读 任何时刻 写 任何时刻 注意 PWMPRCLK寄存器中的位可以在任何时刻写入 如果正在产生PWM信号时要求改变极信号性 则PWM输出脉冲在信号极性转换过程中可能被截短或延长 PCKB2 PCKB0 ClockB预分频因子选择位 这3位决定了ClockB的分频因子 ClockB可以作为通道2 3 6或7的两个时钟源之一 如表7 2所示 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 4PWM预分频时钟选择寄存器 PWMPRCLK MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 4PWM预分频时钟选择寄存器 PWMPRCLK PCKA2 PCKA0 ClockA预分频因子选择位 这3位决定了ClockA的分频因子 ClockA是可以作为通道0 1 4或5的两个时钟源之一 如表7 3所示 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 5PWM居中对齐使能寄存器 PWMCAE PWM居中对齐使能寄存器 PWMCenterAlignEnableRegister PWMCAE 包含8个控制位 如图7 7所示 用于控制相应PWM通道输出波形为中心对齐输出或左对齐输出 如果CAEx 1 相应的PWM通道输出波形为中心对齐 如果CAEX 0 相应的PWM通道输出波形为左对齐 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 5PWM居中对齐使能寄存器 PWMCAE 注意 仅当相应的通道被禁止输出时 才可以设置该寄存器 CAEx 通道x居中对齐输出方式位 0表示通道x输出波形为左对齐方式 1表示通道x输出波形为居中对齐方式 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 5PWM居中对齐使能寄存器 PWMCAE PWM左对齐输出波形如图7 8所示 当使用左对齐方式输出时 8位通道计数器PWMCNTx只做加法计数 当PWMCNTx计数器加法计数到通道占空比寄存器PWMDTYx中设置的数值时 PWM通道输出波形发生变化 当PWMCNTx计数器加法计数到通道周期寄存器PWMPERx中设置的数值时 PWMCNTx清零 输出波形电平发生变化 然后读取PWMDTYx寄存器和PWMPERx寄存器中的数值作为下一次PWMCNTx加法计数参考使用 PWM通道计数器PWMCNTx介绍详见7 3 9节 PWM通道周期寄存器PWMPERx介绍详见7 3 10节 PWM通道占空比寄存器PWMDTYx介绍详见7 3 11节 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 5PWM居中对齐使能寄存器 PWMCAE PWM居中对齐输出波形如图7 9所示 当使用居中对齐格式输出时 8位计数器PWMCNTx既做加法计数器也能做减法计数器 当PWMCNTx计数器加法计数到PWMDTYx寄存器中设置的数值时 PWM通道输出波形发生变化 当PWMCNTx计数器加法计数到PWMPERx寄存器中设置的数值时 PWMCNTx计数器会从加法计数器变为减法计数器 当PWMCNTx计数器开始减法计数到PWMDTYx寄存器中的数值时 PWM通道输出波形再次发生变化 当PWMCNTx计数器中数值减到0时 PWMCNTx重新变为加法计数器 然后读取PWMDTYx寄存器和PWMPERx寄存器中的数值作为下一次PWMCNTx计数参考使用 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 6PWM控制寄存器 PWMCTL PWM控制寄存器 PWMControlRegister PWMCTL 如图7 10所示 该寄存器用于PWM模块的各种控制 其中包括4个级联控制位 用于将一对8位PWM通道级联成一个16位通道 当通道6和通道7级联时 通道6的寄存器成为16位寄存器中的高8位字节 通道7的寄存器为16位寄存器中的低8位字节 当通道4和通道5级联时 通道4的寄存器成为16位寄存器中的高8位字节 当通道2和通道3级联时 通道2的寄存器成为16位寄存器中的高8位字节 当通道0和通道1级联时 通道0的寄存器成为16位寄存器中的高8位字节 读 任何时刻 写 任何时刻 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 6PWM控制寄存器 PWMCTL 注意 仅当需要级联的两个通道都被禁止输出时 才可以设置PWMCTL寄存器中相应的控制位 CON67 通道6 通道7级联位 0表示通道6 7作为两个独立的8位PWM通道 1表示8位PWM通道6 7级联形成一个16位PWM通道 通道6的寄存器作为16位通道的高8位字节 通道7作为低8位字节 这时通道7的引脚用做16位PWM的信号输出 端口PWM7 通道7的时钟选择控制位 极性控制位 输出使能控制位 居中对齐使能位有效 通道6的相应寄存器控制位均无效 CON45 通道4 通道5级联位 0表示通道4 5作为两个独立的8位PWM通道 1表示8位PWM通道4 5级联形成一个16位PWM通道 通道4的寄存器作为16位通道的高8位字节 通道5作为低8位字节 这时通道5的引脚用做16位PWM的信号输出 端口PWM5 通道5的时钟选择控制位 极性控制位 输出使能控制位 居中对齐使能位有效 通道4的相应寄存器控制位均无效 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 6PWM控制寄存器 PWMCTL CON23 通道2 通道3级联位 0表示通道2 3作为两个独立的8位PWM通道 1表示8位PWM通道2 3级联形成一个16位PWM通道 通道2的寄存器作为16位通道的高8位字节 通道3作为低8位字节 这时通道3的引脚用做16位PWM的信号输出 端口PWM3 通道3的时钟选择控制位 极性控制位 输出使能控制位 居中对齐使能位有效 通道2的相应寄存器控制位均无效 CON01 通道0 通道1级联位 0表示通道0 1作为两个独立的8位PWM通道 1表示8位PWM通道0 1级联形成一个16位PWM通道 通道0的寄存器作为16位通道的高8位字节 通道1作为低8位字节 这时通道1的引脚用做16位PWM的信号输出 端口PWM1 通道1的时钟选择控制位 极性控制位 输出使能控制位 居中对齐使能位有效 通道0的相应寄存器控制位均无效 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 6PWM控制寄存器 PWMCTL 如果需要PWM输出精度更高 可以将2个8位PWM通道级联构成1个16位PWM通道 如图7 11所示 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 6PWM控制寄存器 PWMCTL PSWAI MCU等待工作模式下PWM停止位 使能该位 可以禁止预分频器的时钟输入 降低MCU等待模式下的功耗 0表示等待模式时 允许预分频器时钟输入 1表示等待模式时 禁止预分频器时钟输入 PFRZ MCU冻结工作模式下PWM停止位 在冻结模式下 PWM通道计数器PWMCNTx停止计数 0表示冻结模式时 允许冻结PWM工作 1表示冻结模式时 禁止预分频器时钟输入 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 7PWM比例因子A寄存器 PWMSCLA PWM比例因子A寄存器 PWMScaleARegister PWMSCLA 是可编程分频寄存器 如图7 12所示 用于将ClockA进行分频 产生ClockSA 通过将ClockA除以PWMSCLA寄存器中的值 再除以2 产生ClockSA信号 公式为 读 任何时刻 写 任何时刻 将导致分频计数器装载新的PWMSCLA比例因子值 注意 PWMSCLA默认值为256 当PWMSCLA 00时 此时ClockSA等于ClockA的频率除以512 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 8PWM比例因子B寄存器 PWMSCLB PWM比例因子B寄存器 PWMScaleBRegister PWMSCLB 是可编程分频寄存器 如图7 13所示 用于将ClockB进行分频 产生ClockSB 通过将ClockB除以PWMSCLB寄存器中的值 再除以2 产生ClockSB信号 其公式为 读 任何时刻 写 任何时刻 将导致分频计数器装载新的PWMSCLB比例因子值 注意 PWMSCLB默认值为256 当PWMSCLB 00时 此时ClockSB等于ClockB的频率除以512 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 9PWM通道计数器 PWMCNT 每个通道有一个专用的8位加 减计数器PWMCNT PWMChannelCounterRegisters PWMCNT 计数器PWMCNTx的频率和时钟源频率相关 可以在任何时刻读取PWMCNTx中数值 而不影响PWMCNTx和PWM通道的工作 当处于左对齐输出模式时 PWMCNTx从0开始做加法计数 直到增加到PWM周期寄存器PWMPERx 1的值 当处于居中对齐输出模式时 PWMCNTx从0开始进行加法计数 直到增加到PWMPERx的值 然后再进行减法 直至回到0 PWMCNTx寄存器如图7 14所示 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 9PWM通道计数器 PWMCNT 向计数器PWMCNTx写入任何值将导致其复位到 00 PWMCNTx计数器方向设置为向上计数 从周期寄存器PWMPERx和占空比寄存器PWMDTYx的缓冲器中得到周期和占空比的数值 然后根据极性选择位PPOLx改变输出电平 当相应的PWM通道被禁止 PWMEx 0 时 PWMCNTx计数器不工作 当相应的PWM通道使能时 PWMEx 1 计数器以PWMCNTx中的值作为初始值开始计数 在16位级联模式下 无论对16位计数器访问 还是对高8位和低8位计数器分开访问 都会使计数器PWMCNTx复位清零 读取16位计数器必须用16位方式访问 以保持数据的一致性 高8位和低8位计数器分别读取会得到不正确的数值 读 任何时刻 写 任何时刻 注意 当通道使能时写PWMCNTx可能会产生一个无效的PWM周期脉冲 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 10PWM通道周期寄存器 PWMPER 每个PWM通道有一个独立的周期寄存器PWMPER PWMChannelPeriodRegister 该寄存器中的值决定相应PWM通道的周期 如图7 15所示 周期寄存器PWMPERx中的数值是双缓冲的 因此 当PWMPERx寄存器中的数值改变后 并不立即生效 直到下列事件中的一个发生 当前有效周期结束 写计数器PWMCNTx 计数器复位到 00 通道被禁止 因此 PWM将总是输出以前的波形或新波形 而不是两者之间的某种无效波形 如果PWM通道被禁止 写入周期寄存器的数值将直接进入锁存器和缓冲器 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 10PWM通道周期寄存器 PWMPER 读 任何时刻 写 任何时刻 注意 读PWMPERx寄存器返回最新写入的数值 而不是返回当前有效的周期值 PWM输出波形的周期计算方法是 用选择的时钟周期 ClockA ClockB ClockSA或ClockSB 乘以周期寄存器PWMPERx中的数值 左对齐方式输出 CAEx 0 PWMx周期 通道时钟周期 PWMPERx居中对齐方式输出 CAEx 1 PWMx周期 通道时钟周期 2 PWMPERx MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 11PWM通道占空比寄存器 PWMDTY 每个PWM通道有一个独立的占空比寄存器PWMDTY PWMChannelDutyRegister 该寄存器中的值决定相应PWM通道的占空比 如图7 16所示 占空比寄存器PWMDTYx中的数值是双缓冲的 因此 当PWMDTYx寄存器中的数值改变后 并不立即生效 直到下列事件中的一个发生 当前有效周期结束 写计数器PWMCNTx 计数器复位到 00 通道被禁止 因此 PWM将总是输出以前的波形或新波形 而不是两者之间的某种无效波形 如果PWM通道被禁止 写入占空比寄存器的数值将直接进入锁存器和缓冲器 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 11PWM通道占空比寄存器 PWMDTY 读 任何时刻 写 任何时刻 注意 读PWMDTYx寄存器返回最新写入的数值 而不是返回当前有效的占空比值 PWMDTYx寄存器中数值的含义 根据极性控制位PPOLx的不同而不同 如果PPOLx位是1 PWM输出波形开始为高电平 当PWMCNTx计数器数值等于PWMDTYx寄存器数值时变为低电平 此时PWMDTYx寄存器中的数值代表了高电平的持续时间 如果PPOLx位是0 PWM输出波形开始为低电平 当PWMCNTx计数器数值等于PWMDTYx寄存器数值时变为高电平 此时PWMDTYx寄存器中的数值代表了低电平的持续时间 PWM波形占空比计算公式如下 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 11PWM通道占空比寄存器 PWMDTY 表7 5总结了在忽略PWM输出格式 左对齐或居中对齐方式 和分辨率 8位或16位 情况下 PWM输出波形的临界情况 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 12PWM关闭寄存器 PWMSDN PWM关闭寄存器 PWMShutdownRegister PWMSDN 具有紧急情况下立即关闭PWM通道输出的功能 PWM紧急关闭情况下 PWM通道7被配置为输入端口 PWMSDN寄存器如图7 19所示 读 任何时刻 写 任何时刻 PWMIF PWM中断标志位 当PWM7ENA 1时 PWM通道7引脚上的电平变化将产生中断并置位PWMIF 向PWMIF位写1操作实现清零 PWMIF位写0操作无效 0表示PWM通道7输入信号无变化 1表示PWM通道7输入信号有变化 PWMIE PWM中断使能位 0表示禁止PWM中断 1表示允许PWM中断 MC9S12XS单片机原理及嵌入式系统开发 7 3PWM模块寄存器及设置 7 3 12PWM关闭寄存器 PWMSDN PWMRSTRT PWM重新启动控制位 只有当PWM通道7处于无效状态 非紧急关闭 时 才可以重新启动PWM模块 向PWMRSTRT位写1 触发事件 之后 当计数器返回0时 PWM通道才开始运行 如果PWM7ENA位被复位到0 只有当计数器返回到0后 PWM模块才能开始工作 读取该位始终返回0 PWMLVL PWM紧急关闭后输出电平选择位 PWM紧急关闭情况下 PWM通道7为输入端口 其他PWM通道的输出电平由PWMLVL位确定 0表示其他PWM通道输出低电平 1表示其他PWM通道输出高电平 PWM7IN PWM通道7输入状态位 该位反应了PWM通道7引脚的电平状态 PWM7INL PWM紧急关闭后通道7输入电平选择位 PWM紧急关闭 PWM7ENA 1 情况下 该位确定PWM通道7输入电平有效值 0表示有效电平为低电平 1表示有效电平为高电平 PWM7ENA PWM紧急关闭使能位 如果该位为1 通道PWM7被强制配置为输入端口 并启用紧急关闭功能 PWMSDN寄存器中其他位仅在PWM7ENA 1时才有意义 0表示禁止紧急关闭 1表示允许紧急关闭 MC9S12XS单片机原理及嵌入式系统开发 7 4PWM模块应用实例 本节通过一个简单实例 让读者掌握PWM模块的使用和编程方法 本实例使用某一路PWM输出实现D A转换功能 通过调节PWM输出波形占空比 控制LED灯的亮度 硬件连接如图7 20所示 PWM输出波形用做D A输出时 最简单的方法就是使用一阶低通滤波器 如图7 20中R1 C1构成一阶低通滤波器 对PWM信号滤波 为了保持输出电压稳定 要确保输出阻抗尽可能大 为此 在低通滤波器后增加了电压跟随器 图7 20中由LM324和R2构成 软件编程实现PWM输出占空比不断增大 可以观察到LED灯的亮度不断增加 之后PWM输出占空比不断减小 可以观察到LED灯的亮度不断降低 MC9S12XS单片机原理及嵌入式系统开发 7 4PWM模块应用实例 程序清单 MC9S12XS单片机原理及嵌入式系统开发 7 4PWM模块应用实例 程序清单 MC9S12XS单片机原理及嵌入式系统开发 7 4PWM模块应用实例 程序清单 MC9S12XS单片机原理及嵌入式系统开发 7 5智能车系统中PWM模块的应用 在智能车竞赛系统设计中 直流电动机和伺服电动机的控制涉及智能车的速度与方向控制 是智能车控制好坏两大关键因素 鉴于篇幅有限 在此仅叙述运用MC9S12XS128的PWM模块实现对直流电动机和伺服电动机的简单控制应用 更详细的速度控制算法和方向 角度 控制算法 请读者参见相关参考文献 MC9S12XS单片机原理及嵌入式系统开发 7 5智能车系统中PWM模块的应用 7 5 1应用PWM模块控制直流电动机 直流电动机驱动是智能车前行的动力所在 要驱动 控制一个直流电动机需要设计直流电动机驱动电路 既可以使用分立的功率元件 如MOSFET 搭建驱动电路 也可以使用集成的直流电动机功率驱动芯片 在此 以Freescale公司的H桥功率驱动芯片MC33887为例 介绍应用PWM模块控制直流电动机 其芯片内部结构及引脚图分别如图7 21和图7 22所示 芯片详细资料请读者参考MC33887数据手册 MC9S12XS单片机原理及嵌入式系统开发 7 5智能车系统中PWM模块的应用 7 5 1应用PWM模块控制直流电动机 MC33887引脚功能如表7 6所示 MC9S12XS单片机原理及嵌入式系统开发 7 5智能车系统中PWM模块的应用 7 5 1应用PWM模块控制直流电动机 在智能车系统中 运用MC33887驱动直流电动机的原理图如图7 23所示 MC9S12XS单片机原理及嵌入式系统开发 7 5智能车系统中PWM模块的应用 7 5 1应用PWM模块控制直流电动机 在此用MC9S12XS128的PWM7和PWM3分别作为MC33887的IN1和IN2引脚的输入控制端 并通过MC9S12XS128的ADC模块采样MC33887的反馈电流信号 FB引脚 以实时监控H桥的高边工作电流值 实现对电动机的转速和转矩的闭环控制 将D1 引脚18 和D2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解析卷华东师大版8年级下册期末试题及答案详解(全优)
- 扬州知识竞赛试题及答案
- 设备保全课件
- 化妆品网互换广告相关合同书4篇
- 教师招聘之《小学教师招聘》高分题库附参考答案详解(突破训练)
- 单位竞赛试题及答案解析
- 烟台麻醉竞赛试题及答案
- 2025年调度员考试试题及答案
- 《机械制图》试题
- 教师招聘之《小学教师招聘》强化训练题型汇编及答案详解【易错题】
- 2107北印复习05课件选题策划报告
- 2023年二级保密资格评分标准具体操作方法
- 商户收单业务培训
- 无机及分析化学课件(第四版)第一章学习资料
- 26个英文字母书写动态演示课件
- 电路学课件:1-6 电压源和电流源
- 区妇联家庭教育工作的调研报告
- 劳保用品发放表格及管理
- 江苏省盐城市各县区乡镇行政村村庄村名居民村民委员会明细
- Q∕SY 01004-2016 气田水回注技术规范
- TSG Z8002-2022 特种设备检验人员考核规则
评论
0/150
提交评论