PWM的四种模式.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PTPER:代表 PWM 的週期暫存器 PTSIDL: 0 = 繼續動作    1 = 閒置模式 PDC1~3:設定PWM的責任週期 PTMR:PWM內部計數值 PTCKPS:設定除頻的數值 00 = 1 01 = 4 10 = 16 11 = 64 PWM的四種模式 PTMOD1,0 00 = Free run mode. 01 = Signal-Event Mode 10 = Up/Down Counting Mode 11 = Up/Down Counting Mode with Interrupt for double PWM updates PWMCON1 register PMOD3~PMOD1 1 = 獨立輸出 0 = 互補輸出 PEN3H~PEN1L 1 = 作PWM的I/O 0 = 作一般I/O用途 OVDCON Register POVD3H~POVD1L 1 = PWM輸出 0 = PWM無輸出,但會對應到POUT POUT3H~POUT1L (POVD為0時才會進入判斷) 1 = 輸出High 0 = 輸出Low FREE RUNNING MODE CONTINUOUS UP/DOWN COUNT MODE #include p30F4011.h //呼叫p30F3011(IC)指令巨集 _FWDT(WDT_OFF); void PWM_Initial(void) { PTPER = 1250; //PWM = (20MHz / 16 / 1250) = 1 kHz IEC2bits.PWMIE = 0; //Disable PWM Interrupt 禁止PWM中斷 PTCON = 0xA008; // 0b 1010 0000 0000 1000 PWMCON1 = 0x0777; // 0b 0000 0111 0111 0111 PDC1 = 1250; //設定duty cycle的大小 100%為PTPER2倍=2500 OVDCON= 0x0100; //設定PWM的輸出腳位 IPC9bits.PWMIP = 6; //優先權 } int main(void) { PWM_Initial(); while(1); } 練習 請設計 PWM1=30%,頻率=2 KHz PWM2=60% PWM3=90% PWM3請利用互補輸出,其他則利用獨立輸出即可。 原因是在初始化的时候,PDCx为0,而工作在single event的模式只能进一次中断,所以ISR里面设置的PDCx没有起作用,除非PTEN再置位一次。 PWM 的時脈可配置為 4 種不同的工作模式: ?自動運行模式 ?單事件模式 ?連續遞增/遞減計數模式 ?帶雙更新中斷的連續遞增/遞減計數模式 通過 PTCON 時的 SFR 中的 PTMOD1 時 00 分位可選擇這 4 種模式。 遞增/遞減計數模式支持產生中心對齊的脈寬調製器。單事件模式使 PWM 的模塊可支持某些電子換相電機(流腦)的脈衝控制。PWM 的時 基產生的中斷信號取決於 PTCON 時的 SFR 中的模式選擇位 (PTMOD1:0)和後分頻比位(PTOPS3:0)。

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档