网站大量收购独家精品文档,联系QQ:2885784924

嵌入式系统电子课件-8.3 PWM流水灯.pptx

嵌入式系统电子课件-8.3 PWM流水灯.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PWM流水灯

PWM流水灯★★本节设计PWM流水灯实例,通过通用定时器TIM3产生PWM信号,由处理器的PB5引脚与LED灯相连,输出高电平时点亮LED。然后每10ms改变1%的高电平占比,使LED灯在1秒内由熄灭状态逐渐变为最亮状态。在下一秒内,由最亮状态逐渐变为熄灭状态。实现呼吸灯的效果。

工作原理软件设计0201PWM流水灯★★

工作原理1STM32处理器通过定时器产生PWM信号;每个定时器有4个通道,每个通道有1个捕获/比较寄存器;通过将计数器值TIMx_CNT与捕获/比较寄存器值TIMx_CCRx进行比较,据此输出高低电平,产生PWM信号。脉冲宽度调制(PulseWidthModulation,PWM)是嵌入式系统常用功能之一;

捕获/比较寄存器可设置两种PWM模式:PWM模式1:在向上计数时,若TIMx_CNTTIMx_CCRx,通道输出有效电平,否则输出无效电平;在向下计数时,若TIMx_CNTTIMx_CCRx,通道输出无效电平,否则输出有效电平。PWM模式2:在向上计数时,如果TIMx_CNTTIMx_CCRx,通道输出无效电平,否则输出有效电平;在向下计数时,若TIMx_CNTTIMx_CCRx,通道输出有效电平,否则输出无效电平。工作原理1

PWM实现步骤如下:使能定时器时钟和相关I/O口时钟;初始化I/O口为复用功能输出模式;初始化定时器,设置相关通道为PWM模式;使能通道,产生PWM信号;改变比较值TIMx_CCRx,以调节PWM的占空比。工作原理1

软件设计2#defineGENERAL_TIMx TIM3 //定义所用定时器#defineGENERAL_TIM_CH2_PORT GPIOB //定义通道2的相应端口#defineGENERAL_TIM_CH2_PIN GPIO_PIN_5 //定义相应引脚#defineGENERAL_TIM_PRESCALER 0 //定义定时器预分频值#defineGENERAL_TIM_PERIOD 100 //定义定时器预设值//定义定时器时钟使能语句#defineGENERAL_TIM_RCC_CLK_ENABLE()__HAL_RCC_TIM3_CLK_ENABLE()//定义所用端口时钟使能语句#defineGENERAL_TIM_GPIO_RCC_CLK_ENABLE()__HAL_RCC_GPIOB_CLK_ENABLE()//定义引脚复用时钟使能语句#defineGENERAL_TIM_GPIO_AFIO_CLK_ENABLE()__HAL_RCC_AFIO_CLK_ENABLE()//定义定时器部分映射时钟使能语句#defineGENERAL_TIM_AFIO_REMAP_CLK_ENABLE()__HAL_AFIO_REMAP_TIM3_PARTIAL()0101定义相关宏计数器值TIMx_CNT最多计数到100

0102定时器初始化//初始化定时器硬件配置,可被HAL_TIM_PWM_Init()函数调用voidHAL_TIM_PWM_MspInit(TIM_HandleTypeDef*htim){ GPIO_InitTypeDefGPIO_InitStructure; GENERAL_TIM_RCC_CLK_ENABLE(); //使能定时器时钟 GENERAL_TIM_GPIO_RCC_CLK_ENABLE(); //使能定时器通道端口时钟 GENERAL_TIM_GPIO_AFIO_CLK_ENABLE(); //使能引脚复用时钟 GENERAL_TIM_AFIO_REMAP_CLK_ENABLE(); //使能定时器部分重映射时钟 //定时器通道2功能引脚初始化 GPIO_InitStructure.Pin=GENERAL_TIM_CH2_PIN; //设置通道2对应的端口号 GPIO_InitStructure.Mode=GPIO_MODE_AF_PP; //复用推挽模式 GPIO_InitStructure.Pull=GPIO_PULLUP; //上拉模式 GPIO_InitStructure.Speed=GPIO_SPEED_FREQ_LOW;//设置操作速度 HAL_GPIO_Init(GENERAL_TIM_CH2_PORT,GPIO_InitStructure);//初始化引脚}

0102定时器初始化voidGENERAL_TIMx_Init(void){ TIM_HandleTypeDef

文档评论(0)

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

计算机二级持证人

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

领域认证该用户于2024年11月02日上传了计算机二级

1亿VIP精品文档

相关文档