(9) 第6章 单片机定时器相关模块(PWM)(实验5 PIT+PWM)_第1页
(9) 第6章 单片机定时器相关模块(PWM)(实验5 PIT+PWM)_第2页
(9) 第6章 单片机定时器相关模块(PWM)(实验5 PIT+PWM)_第3页
(9) 第6章 单片机定时器相关模块(PWM)(实验5 PIT+PWM)_第4页
(9) 第6章 单片机定时器相关模块(PWM)(实验5 PIT+PWM)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CollegeofCommunicationEngineering,JilinUniversity第6章单片机定时器相关模块2CollegeofCommunicationEngineering,JilinUniversity6.4脉冲宽度调制器PWM6.4.1脉冲宽度调制器简介(PWM)6.4.2脉冲宽度调制器寄存器6.4.3PWM模块编程范例3CollegeofCommunicationEngineering,JilinUniversity6.4.1PWM模块简介1、8路具有可编程周期和占空比的PWM通道,可通过设置变为4个16位PWM通道2、对各寄存器的参数设置,确定PWM信号波形的输出周期和占空比使能某一定时器3、可设置每个通道PWM输出波形的极性和对齐方式4、4个时钟源(A、B、SA、SB)提供宽范围的频率选择5、具有紧急关闭功能

4CollegeofCommunicationEngineering,JilinUniversity6.4.2脉冲宽度调制器寄存器1.PWM使能寄存器PWME($0300)PWME[7:0]:PWM通道使n能位,控制8个PWM通道是否输出。。

PWMEn=1允许PWM通道n输出

PWMEn=0禁止PWM通道n输出复位后各位清零5CollegeofCommunicationEngineering,JilinUniversity6.4.2周期中断定时器寄存器2.PWM极性寄存器PWMPOL($0301)PPOL[7..0]:

PWM通道n极性选择位。

PPOLn=1,PWM通道n在周期开始时输出高电平,

达到占空比计数后翻转为低电平;PPOLn=0,PWM通道n在周期开始时输出低电平,

达到占空比计数后翻转为高电平。6CollegeofCommunicationEngineering,JilinUniversity6.4.2脉冲宽度调制器寄存器3.PWM时钟选择寄存器PWMCLK

($0302)PCLK[7..0]:PWM通道n时钟选择位。。PCLK(7、6、3、2)为1时选择ClockSB为时钟源;

为0时选择ClockB为时钟源。PCLK(5、4、1、0)为1时选择ClockSA为时钟源;

为0时选择ClockA为时钟源。7CollegeofCommunicationEngineering,JilinUniversity6.4.2脉冲宽度调制器寄存器4.PWM预分频时钟选择寄存器PWMPRCLK($0303)PCKB2~PCKB0:ClockB预分频因子选择位,决定ClockB的分频因子。PCKB2PCKB1PCKB0ClockB000总线时钟001总线时钟/2010总线时钟/4011总线时钟/8100总线时钟/16101总线时钟/32110总线时钟/64111总线时钟/128PCKA2PCKA1PCKA0ClockA000总线时钟001总线时钟/2010总线时钟/4011总线时钟/8100总线时钟/16101总线时钟/32110总线时钟/64111总线时钟/128PCKA2~PCKA0:ClockA预分频因子选择位,决定ClockA的分频因子。8CollegeofCommunicationEngineering,JilinUniversity6.4.2脉冲宽度调制器寄存器5.

PWM中心对齐使能寄存器PWMCAE($0304)CAE[7:0]:通道n居中对齐输出方式位。CAEn=1,PWM脉冲对齐方式为中心对齐;

8位通道计数器PWMCNT只做加法计数器CAEn=0,PWM脉冲对齐方式为左对齐。

8位通道计数器PWMCNT可做加法也可做减法计数器

9CollegeofCommunicationEngineering,JilinUniversity6.4.2脉冲宽度调制器寄存器6.

PWM控制寄存器PWMCTL($0305)CON67:通道6、7级联位。1通道6、7级联为一个16位通道0通道6、7独立使用CON45、CON23、CON01类似

PSWAI:等待模式下PWM预分频时钟使能位1禁止0运行

PFRZ:冻结模式下PWM计数器停止位1停止0运行

10CollegeofCommunicationEngineering,JilinUniversity6.4.2脉冲宽度调制器寄存器7.PWM比例因子A寄存器PWMSCLA($0308)可编程分频寄存器,可对ClockA进行分频产生ClockSAClockSA=ClockA/(2×PWMSCLA)

PWMSCLA默认值位256,PWMSCLA=$00时,ClockSA=ClockA/51211CollegeofCommunicationEngineering,JilinUniversity6.4.2脉冲宽度调制器寄存器8.PWM比例因子B寄存器PWMSCLB($0309)可编程分频寄存器,可对ClockB进行分频产生ClockSBClockSB=ClockA/(2×PWMSCLB)

PWMSCLB默认值位256,PWMSCLB=$00时,ClockSB=ClockA/51212CollegeofCommunicationEngineering,JilinUniversity6.4.2脉冲宽度调制器寄存器9.通道周期寄存器PWMPER($0314-$031B)左对齐方式输出:PWMn周期=时钟周期×PWMPERn中心对齐方式输出:PWMn周期=2×时钟周期×PWMPERn13CollegeofCommunicationEngineering,JilinUniversity6.4.2脉冲宽度调制器寄存器10.通道占空比寄存器PWMDTY($031C-$0323)PPOLn=1,PWM起始输出高电平:

占空比=PWMDTYn/PWMPERn×100%PPOLn=0,PWM起始输出低电平:占空比=(PWMPERn–PWMDTYn)/PWMPERn×100%14CollegeofCommunicationEngineering,JilinUniversity6.4.3PWM模块编程范例初始化模块voidinit_pwm(void){PWMCTL_CON01=1;//联结通道0,1为16位的PWMPWMPOL_PPOL1=1;//通道01的极性为高电平有效PWMPRCLK=0x55;//A时钟和B时钟的分频系数为32,频率为1MHzPWMSCLA=25;//SA时钟频率为20KHzPWMCLK=0x02;//通道01用SA时钟作为时钟源PWMPER01=200;//通道01的周期为100HzPWMDTY01=0;//通道01的占空比为10%PWME_PWME1=1;//使能通道01}15CollegeofCommunicationEngineering,JilinUniversity6.4.3PWM模块编程范例主程序voidmain(void){unsignedintCYCLE=200;DisableInterrupts;INIT_PLL();init_pwm();EnableInterrupts;

for(;;)

{delay();for(PWMDTY01=0;PWMDTY01<=CYCLE;){PWMDTY01=PWMDTY01+20;delay();}delay();for(PWMDTY01=CYCLE;PWMDTY01>0;){//与逐渐变亮相反的过程PWMDTY01=PWMDTY01-20;delay();}

}}/*delay();PWMDTY01=20;//占空比为10%delay();PWMDTY01=40;//占空比为20%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论