欢迎来到天天文库
浏览记录
ID:13872324
大小:2.13 MB
页数:66页
时间:2018-07-24
《手把手教你写sxs程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、手把手教你写S12XS128程序⑴时间:2009-11-2522:51来源:电子设计吧作者:dzsj8点击:662次该教程以MC9S12XS128单片机为核心进行讲解,全面阐释该16位单片机资源。本文为第一讲,开始介绍该MCU的PWM模块。PWM调制波有8个输出通道,每一个输出通道都可以独立的进行输出。每一个输出通道都有一个精确的计数器(计算脉冲的个数)一个周期控制寄存器和两个可供选择的时钟源。每一个PWM输出通道都能调制出占空比从0—100%变化的波形。PWM的主要特点有:1、它有8个独立的输
2、出通道,并且通过编程可控制其输出波形的周期。2、每一个输出通道都有一个精确的计数器。3、每一个通道的PWM输出使能都可以由编程来控制。4、PWM输出波形的翻转控制可以通过编程来实现。5、周期和脉宽可以被双缓冲。当通道关闭或PWM计数器为0时,改变周期和脉宽才起作用。6、8字节或16字节的通道协议。7、有4个时钟源可供选择(A、SA、B、SB)他们提供了一个宽范围的时钟频率。8、通过编程可以实现希望的时钟周期。9、具有遇到紧急情况关闭程序的功能。10、每一个通道都可以通过编程实现左对齐输出还是居中
3、对齐输出。手把手教你写S12XS128程序⑵--PWM寄存器说明1时间:2009-11-2522:56来源:电子设计吧作者:dzsj8点击:493次1、PWM启动寄存器PWMEPWME寄存器每一位如图1所示:复位默认值:00000000B图1PWME寄存器每一个PWM的输出通道都有一个使能位PWMEx。它相当于一个开关,用来启动和关闭相应通道的PWM波形输出。当任意的PWMEx位置1,则相关的PWM输出通道就立刻可用。用法:PWME7=1---通道7可对外输出波形PWME7=0---通道7不能对
4、外输出波形注意:在通道使能后所输出的第一个波形可能是不规则的。当输出通道工作在串联模式时(PWMCTL寄存器中的CONxx置1),那么使能相应的16位PWM输出通道是由PWMEx的高位控制的,例如:设置PWMCTL-CON01=1,通道0、1级联,形成一个16位PWM通道,由通道1的使能位控制PWM的输出。2、PWM时钟选择寄存器PWMCLKPWMCLK寄存器每一位如图3所示:0000B复位默认值:0000Bit?&1431iBMOgad:kite:PCLK7PCLKLGPCLK5POMPCIK
5、3PCIK2PCIK1PCLKOsset:00000ai0图2PWMCLK寄存器S12的PWM共有四个时钟源,每一个PWM输出通道都有两个时钟可供选择(ClockA、ClockSA或ClockB、ClockSB)。其中0、1、4、5通道可选用ClockA和ClockSA,2、3、6、7通道可选用ClockB、ClockSB通道。该寄存器用来实现几个通道时钟源的选择。用法:PCLK0=1—通道O(PTPO)的时钟源设为ClockSAPCLK2=0—通道2(PTP2)的时钟源设为ClockB手把手教
6、你写S12XS128程序⑶--PWM寄存器说明2时间:2009-11-2522:58来源:电子设计吧作者:dzsj8点击:435次1、PWM预分频寄存器PWMPRCLKPWMPRCLK寄存器每一位如图3所示:复位默认值:00000000BH7654311mPC肋2!PCKB1PCKBOPCKA2iPCKA1PCKAO00=ReservedorHiimplemen^dQ0000图3PWMPRCLK寄存器PWMPRCLK寄存器包括ClockA预分频和ClockB预分频的控制位。ClockA、Cloc
7、kB的值为总线时钟的1/2n(08、频寄存器PWMSCLA、PWMSCLBPWMSCLA寄存器每一位如图6所示:图6PWMSCLA寄存器ClockSA是通过对PWMSCLA寄存器的设置来对ClockA进行分频而产生的。其计算公式为:ClockSA=ClockA/(2*PWMSCLA)PWMSCLB寄存器与PWMSCLA寄存器相似,ClockSB就是通过对PWMSCLB寄存器的设置来对ClockB进行分频而产生的。其计算公式为:ClockSB=ClockB/(2*PWMSCLB)手把手教你写S12XS128程序⑷--PWM寄存器说明
8、频寄存器PWMSCLA、PWMSCLBPWMSCLA寄存器每一位如图6所示:图6PWMSCLA寄存器ClockSA是通过对PWMSCLA寄存器的设置来对ClockA进行分频而产生的。其计算公式为:ClockSA=ClockA/(2*PWMSCLA)PWMSCLB寄存器与PWMSCLA寄存器相似,ClockSB就是通过对PWMSCLB寄存器的设置来对ClockB进行分频而产生的。其计算公式为:ClockSB=ClockB/(2*PWMSCLB)手把手教你写S12XS128程序⑷--PWM寄存器说明
此文档下载收益归作者所有