Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(12).TM4C123GPWM控制.docxVIP

Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(12).TM4C123GPWM控制.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE1

PAGE1

TM4C123GPWM控制

1.PWM基础知识

脉宽调制(PulseWidthModulation,简称PWM)是一种常用的数字控制技术,通过调节脉冲的宽度来控制模拟电路的输出。PWM信号可以用于多种应用场景,如电机控制、LED调光、电源管理等。在嵌入式系统中,PWM通常由定时器生成,通过设置定时器的周期和脉冲宽度来实现。

1.1PWM工作原理

PWM信号由一系列周期性脉冲组成,每个脉冲的高电平持续时间(脉冲宽度)与总周期时间的比例称为占空比。占空比决定了PWM信号的平均电压值。例如,如果占空比为50%,则平均电压为Vcc的一半;占空比为100%,则平均电压为Vcc。

1.2PWM的应用

电机控制:通过改变PWM信号的占空比,可以调节电机的转速和扭矩。

LED调光:通过改变PWM信号的占空比,可以调节LED的亮度。

电源管理:PWM信号可以用于开关电源中的电压调节。

2.TM4C123G中的PWM控制

2.1PWM模块概述

TM4C123G系列单片机集成了多个PWM模块,这些模块基于定时器实现。每个PWM模块可以生成多个PWM信号,每个信号可以独立配置周期和占空比。PWM模块的主要功能包括:

生成PWM信号。

支持多种PWM模式,如全周期模式、半周期模式等。

可以通过DMA(直接存储器访问)方式生成PWM信号。

支持中断和事件触发。

2.2PWM模块的寄存器

PWM模块的主要寄存器包括:

PWM_GENA:PWM生成器A控制寄存器。

PWM_GENB:PWM生成器B控制寄存器。

PWM_LOAD:PWM负载寄存器,用于设置PWM信号的周期。

PWM_CMPA:PWM比较寄存器A,用于设置PWM信号的高电平时间。

PWM_CMPB:PWM比较寄存器B,用于设置PWM信号的高电平时间。

PWM_CTL:PWM控制寄存器,用于使能和配置PWM生成器。

PWM_SYNC:PWM同步寄存器,用于控制PWM生成器的同步操作。

PWM_ENABLE:PWM使能寄存器,用于使能或禁用PWM输出。

PWM_INVERT:PWM反相寄存器,用于配置PWM信号的极性。

PWM_FAULT:PWM故障寄存器,用于配置故障保护功能。

2.3PWM模块的配置步骤

使能PWM模块的时钟:使用RCC寄存器使能PWM模块的时钟。

配置PWM生成器:设置PWM生成器的模式、周期和脉冲宽度。

使能PWM生成器:通过PWM_CTL寄存器使能PWM生成器。

配置PWM输出:通过PWM_ENABLE寄存器使能PWM输出。

配置PWM信号的极性:通过PWM_INVERT寄存器设置PWM信号的极性。

3.PWM配置示例

3.1使能PWM模块的时钟

首先,我们需要使能PWM模块的时钟。这可以通过修改RCC寄存器来实现。

//使能PWM模块的时钟

voidPWM_ClockEnable(void){

//使能PWM模块的时钟

SYSCTL_RCGCPWM_R|=SYSCTL_RCGCPWM_R0;//使能PWM0模块的时钟

while((SYSCTL_PRPWM_RSYSCTL_PRPWM_R0)==0){

//等待时钟稳定

}

//使能PWM模块所需的GPIO时钟

SYSCTL_RCGCGPIO_R|=SYSCTL_RCGCGPIO_R1;//使能GPIO端口B的时钟

while((SYSCTL_PRGPIO_RSYSCTL_PRGPIO_R1)==0){

//等待时钟稳定

}

}

3.2配置PWM生成器

接下来,我们需要配置PWM生成器的模式、周期和脉冲宽度。这里以PWM0模块的生成器0为例。

//配置PWM生成器

voidPWM_ConfigGenerator(void){

//使能PWM0模块的时钟

PWM_ClockEnable();

//配置PWM生成器0

PWM0_GENA_R=(PWM0_GENA_R~PWM_GENA_MODE_M)|PWM_GENA_MODE_0;//设置为全周期模式

PWM0_GENA_R=(PWM0_GENA_R~PWM_GE

您可能关注的文档

文档评论(0)

找工业软件教程找老陈 + 关注
实名认证
服务提供商

寻找教程;翻译教程;题库提供;教程发布;计算机技术答疑;行业分析报告提供;

1亿VIP精品文档

相关文档