8非CPU干预下的PWM波输出_第1页
8非CPU干预下的PWM波输出_第2页
8非CPU干预下的PWM波输出_第3页
8非CPU干预下的PWM波输出_第4页
8非CPU干预下的PWM波输出_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

单片机控制技术第八学习领域非CPU干预下的PWM波输出(PCA可编程计数器阵列)可编程计数器阵列结构

可编程计数器阵列(PCA0)提供增强的定时器功能,与标准8051计数器/定时器相比,它需要较少的CPU干预。PCA0包含一个专用的16位计数器/定时器和5个16位捕捉/比较模块。可编程计数器阵列结构PCA原理框图可编程计数器阵列计数器/定时器由一个可编程的时基信号驱动,时基信号有六个输入源:

1.系统时钟、

2.系统时钟/4、

3.系统时钟/12、

4.外部振荡器时钟源8分频、

5.定时器0溢出、

6.ECI线上的外部时钟信号。可编程计数器阵列时基选择图8.11PCA0MD:PCA0方式选择寄存器可编程计数器阵列每个模块可以独立工作于6中方式边沿触发捕捉软件定时器高速输出频率输出

8位PWM

16位PWMPCA计数器/定时器PCA计数器/定时器原理框图PCA计数器/定时器

16位的PCA计数器/定时器由PCA0L和PCA0H两个8位的SFR组成:PCA0H是16位计数/定时器的高字节,PCA0L是低字节。PCA计数器/定时器

在读PCA0L的同时自动锁存PCA0H的值。先读PCA0L寄存器将使PCA0H的值得到保持(在读PCA0L的同时),直到用户读PCA0H寄存器为止。PCA计数器/定时器当计数器/定时器溢出时(从0xFFFF到0x0000),PCA0MD中的计数器溢出标志(CF)被置为逻辑1并产生一个中断请求(如果CF中断被允许)。将PCA0MD中ECF位设置为逻辑1即可允许CF标志产生中断请求。PCA0MDPCA0MD位7:

CIDL:PCA0计数器/定时器空闲控制规定CPU空闲方式下的PCA0工作方式。0:当系统控制器处于空闲方式时,PCA0继续正常工作。1:当系统控制器处于空闲方式时,PCA0停止工作。位3-1:

CPS2-CPS0:PCA0计数器/定时器脉冲选择位0:ECF:PCA计数器/定时器溢出中断允许该位是PCA0计数器/定时器溢出(CF)中断的屏蔽位。0:禁止CF中断。1:当CF(PCA0CN.7)置位时,允许PCA0计数器/定时器溢出中断请求。PCA0MDPCA0方式选择寄存器图8.11PCA0MD:PCA0方式选择寄存器PCA0MDPCA0CN:PCA控制寄存器CF:PCA计数器/定时器溢出标志当PCA0计数器/定时器从0xFFFF到0x0000溢出时由硬件置位。可导致CPU转向CF中断服务程序。CR:PCA0计数/定时器运行控制该位允许/禁止PCA00:禁止PCA0计数器/定时器1:允许PCA0计数器/定时器返回图8.10PCA0CN:PCA控制寄存器捕捉/比较模块PCA中断原理框图

捕捉/比较模块PCA0CPMn寄存器用于配置PCA捕捉/比较模块的工作方式见下表:表8.2PCA捕捉/比较模块的PCA0CPM寄存器设置捕捉/比较模块

置‘1’PCA0CPMn寄存器中的ECCFn位将允许模块的CCFn中断。

图8.12PCA0CPMn:PCA0捕捉/比较寄存器图8.10PCA0CN:PCA控制寄存器边沿触发的捕捉方式CEXn引脚上出现的有效电平变化导致PCA0捕捉PCA0计数器/定时器的值并将其装入到对应模块的捕捉/比较寄存器(PCA0CPLn和PCA0CPHn)。边沿触发的捕捉方式

当捕捉发生时,PCA0CN中的捕捉/比较标志(CCFn)被置为逻辑1并产生一个中断请求(如果CCF中断被允许)。返回

软件定时器(比较)方式

系统将PCA0计数器/定时器与模块的16位捕捉/比较寄存器(PCA0CPHn和PCA0CPLn)进行比较。当发生匹配时,PCA0CN中的捕捉/比较标志(CCFn)被置为逻辑1并产生一个中断请求(如果CCF中断被允许)。

软件定时器(比较)方式

当向PCA0的捕捉/比较寄存器写入一个16位值时,应先写低字节。向PCA0CPLn的写入操作将清‘0’ECOMn位;向PCA0CPHn写入时将置‘1’ECOMn位。先写低字节再写高字节返回高速输出方式高速输出方式高速输出方式每当PCA的计数器与模块的16位捕捉/比较寄存器(PCA0CPHn和PCA0CPLn)发生匹配时,模块的CEXn引脚上的逻辑电平将发生改变。

置‘1’PCA0CPMn寄存器中的TOGn

、MATn

和ECOMn位将使能高速输出方式。PCA0CPMn高速输出方式

同样的,当向PCA0的捕捉/比较寄存器写入一个16位数值时,应先写低字节。

高速输出方式返回

频率输出方式

频率输出方式在对应的CEXn引脚产生可编程频率的方波。捕捉/比较寄存器的高字节保持着输出电平改变前要计的PCA时钟数。

频率输出方式

当定时/计数器的值与PCA0CPLn匹配时,PCA0CPLn的值会加上PCA0CPHn的值,在存回PCA0CPLn中。频率输出方式

方波的频率为:

请同学们自己验证一下返回8位脉宽调制器方式每个模块都可以独立地用于在对应的CEXn引脚产生脉宽调制(PWM)输出。

8位脉宽调制器方式1当PCA0计数器/定时器的低字节(PCA0L)与PCA0CPLn中的值相等时,CEXn的输出被置‘1’。2当PCA0L中的计数值溢出时,CEXn输出被置为低电平,同时,保存在PCA0CPHn中的值被自动装PCA0CPLn。(见多媒体课件PWM波的产生)比较:是否相等?若相等则PCA0CPHn向PCA0CPLn传递数值8位脉宽调制器方式

占空比?请同学们自己计算下PWM波的占空比……8位脉宽调制器方式怎样改变PWM的占空比?当向PCA0的捕捉/比较寄存器写入一个16位数值时,应先写低字节。向PCA0CPLn的写入操作将清‘0’ECOMn位;向PCA0CPHn写入时将置‘1’ECOMn位。返回16位脉宽调制器方式16位PWM方式下,16位捕捉/比较模块定义PWM信号低电平时间的PCA0时钟数。

温馨提示

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

评论

0/150

提交评论