记录4——stm32f411ceu6之PWM制作呼吸灯(+proteus仿真实验)

PWM制作呼吸灯

PWM简介

在这里插入图片描述
在这里插入图片描述
如实例
在这里插入图片描述

任务

让LED实现从熄灭逐渐变亮,再从最亮逐渐变暗至熄灭,不断循环周期为4s。(使用定时器产生PWM,PWM周期为20ms.)

工程配置

由于控制LED的PC13无tim,可将PC13与拥有tim2_ch1的PA0用杜母线连接,可以实现同样的效果。
PSC=9999,ARR=199实现PWM周期为20ms
设置Pulse(CRR)为0,表示PWM信号最初占空比为0%
在这里插入图片描述

代码实现

/* USER CODE BEGIN PV */
uint16_t Duty=0;//占空比
uint16_t Step=20;//步进值
/* USER CODE END PV */
/* USER CODE BEGIN 2 */
	HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);//启动定时器2的通道1输出PWM信号
  /* USER CODE END 2 */

一次由熄灭至最亮过程进行了200(ARR)/20(Step)=10次,时间应为4/2=2s=2000ms,则每次+Step后应该延迟2000/10=200ms.

/* USER CODE BEGIN 3 */
		for(Duty =0;Duty <=200;Duty=Duty+Step)//修改占空比
		{
			__HAL_TIM_SET_COMPARE (&htim2 ,TIM_CHANNEL_1 ,Duty );
			HAL_Delay (200);//延时200ms
		}
		
		for(Duty =200;Duty > 0;Duty=Duty-Step)//当占空比为100%时,继续修改占空比
		{
			__HAL_TIM_SET_COMPARE (&htim2 ,TIM_CHANNEL_1 ,Duty );
			HAL_Delay (200);
		}

PS:不过,将PC13与拥有tim2_ch1的PA0用杜母线连接后,呼吸灯最亮时刻并没有之前没有PWM时的大,可能是达到100%的时间只是一瞬间,肉眼难以观察出来吧。
其实两个引脚短接可以实现完整实现PWM效果,我是之前给PC13 配置了output模式,实际上不需要任何配置,只需通过PA0电平控制PC13即可。

Proteus仿真

  • 由于proteus的stm32类型有限,此处以f103c6为例,模拟仿真,相关配置参照前面的方法利用CubeMX+Keil+Proteus即可。

  • 开启TIM2 Channel2的PWM,连接的选用的是PA1引脚

硬件连接图

由于一直用的是同一个工程,前面的实验所连接的引脚与器件未删除,该实验只需要PA1一个引脚即可,其他标注请自行忽略
在这里插入图片描述

仿真效果

proteus好像不能实现呼吸灯的效果,仅仅只是LED不断亮灭,因此用示波器来显示其波形。
在这里插入图片描述

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Proteus中搭建STM32F411CEU6的最小系统需要进行以下步骤: 1. 打开Proteus软件,在工具栏中选择“Pick Device”(选取设备)。 2. 在搜索栏中输入“STM32F411CEU6”,选择正确的芯片型号。 3. 将芯片拖放到工作区。 4. 在工具栏中选择“Sources”(源),选择“Crystal Oscillator”(晶体振荡器)。 5. 将晶体振荡器拖放到工作区。 6. 连接晶体振荡器的两个引脚到芯片的两个OSC引脚。 7. 在工具栏中选择“Sources”,选择“Vdd”(供电电压)。 8. 将供电电压拖放到工作区。 9. 连接供电电压的引脚到芯片的VDD引脚。 10. 在工具栏中选择“Sources”,选择“Ground”(地)。 11. 将地拖放到工作区。 12. 连接地的引脚到芯片的GND引脚。 13. 点击芯片,选择“Edit Properties”(编辑属性)。 14. 在“Edit Properties”窗口中,选择“Clock Configuration”(时钟配置)。 15. 在“Clock Configuration”窗口中,将“HSI Enable”(HSI启用)和“PLL Enable”(PLL启用)都设置为“False”(假)。 16. 点击“OK”保存设置。 17. 点击工具栏中的“Connectivity”(连通性),选择“Graph”(图表)。 18. 在“Graph”窗口中,选择“Pin/Port Details”(引脚/端口详细信息)。 19. 在“Pin/Port Details”窗口中,选择芯片的引脚和端口,然后连接它们。 20. 点击工具栏中的“Design Verification”(设计验证),选择“Check Design”(检查设计)。 21. 如果没有错误,就可以进行仿真了。 以上就是在Proteus中搭建STM32F411CEU6的最小系统的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Drawing Ting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值