- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(1).Arduino Due 概述.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(2).ATSAM3X8E 微控制器介绍.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(3).Arduino Due 硬件架构.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(4).电源管理与供电方式.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(5).数字输入输出.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(6).模拟输入输出.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(7).通信接口:串口、SPI、I2C.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(8).高级定时器和PWM功能.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(9).外部中断.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(10).ADC与DAC功能.docx
- Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(13).TM4C123GDMA技术.docx
- Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(14).TM4C123G低功耗模式.docx
- Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(15).TM4C123G软件开发工具和环境.docx
- Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(16).TM4C123G编程基础.docx
- Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(17).TM4C123G固件库和驱动程序.docx
- Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(18).TM4C123G项目实战:LED控制.docx
- Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(19).TM4C123G项目实战:按键检测.docx
- Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(20).TM4C123G项目实战:LCD显示.docx
- Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(21).TM4C123G项目实战:温度传感器.docx
- Texas Instruments 系列:Tiva C Series TM4C123G (基于 Cortex-M4)_(22).TM4C123G项目实战:电机控制.docx
文档评论(0)