一、实验目的
1、掌握STM32F103定时器程序设计流程;
2、熟悉STM32固件库的基本使用。
二、实验原理
1、使用SysTick定时方式控制LED闪烁;
2、使用通用定时器产生PWM脉冲,通过调整占空比实现两个目标:
(1)连接到STM32F103上的LED亮度从暗到亮、再从亮到暗,一次循环,实现呼吸灯效果;
(2)使用数字示波器查看PWM的波形图。
三、实验设备和器材
电脑、Keil uVision5软件、Proteus 8 Professional软件
四、实验内容和步骤
4.1 代码开发
按照书本中实验流程在Keil中完成LED闪烁和呼吸灯实验的代码开发;
4.2 原理图设计
在Proteus中完成原理图的设计,如图3所示为LED闪烁实验原理图;图4所示为呼吸灯实验原理图。
图3 LED闪烁实验原理图
图4 呼吸灯实验原理图
五、实验记录和实验结果
5.1 实验效果记录(附照片即可)
5.2 实验效果说明
LED闪烁实验效果说明:
- LED以固定的频率或模式(如1秒闪烁一次)交替亮灭。
- 可以通过修改代码中的延时时间或使用定时器来调整LED的闪烁频率。
呼吸灯实验效果说明:
- LED的亮度呈现出由低到高再由高到低的变化,类似于呼吸的效果。
- 从数字显示器中可以看出,PA7输出的PWM脉冲,PWM的占空比在发生渐变,LED灯的亮度也会发生变化。
- 可以通过调整PWM的占空比和周期来改变LED的呼吸速度和范围。
六、实验预习要求
- 实验前认真阅读本实验指导;
- 熟悉书本中相关操作及相关器件。
- 完成5.1和5.2内容。
七、思考题
1. 定时器常用的功能有哪些
- 计时功能:用于简单的时间测量和计算,例如厨房用计时、运动比赛计时等。
- 闹钟功能:定时器可以设置在特定时间响铃或震动,用作闹钟提醒。
- 倒计时功能:设置一个特定的时间段,倒计时器会逆向计算时间,直到时间结束发出提醒。
- 重复功能:一些定时器允许设置重复功能,比如每天同一时间提醒。
- 多个计时器:有些高级定时器可以同时运行多个计时器,方便管理多个任务或事件。
- 定时开关功能:例如定时开关灯、电视等电子设备,节省能源。
- 自动关机功能:设定电脑或手机等设备在特定时间自动关机,省电和定时任务。
- 计时器历史记录:记录过去的计时或倒计时,以便回顾和分析。
2、使用定时器功能的配置流程
- 选择定时器和时钟配置:首先确定使用的定时器(如TIM1、TIM2等)以及其时钟源,通常是外部晶振或内部时钟源。
- 定时器时钟初始化:配置定时器的时钟,确定其工作频率。这一步骤确保定时器能够以正确的时钟频率运行。
- 定时器初始化:配置定时器的基本参数,如计数模式(向上、向下或双边),计数器的预分频因子(用于调整定时器时钟的频率),自动重装载寄存器(ARR)的值(决定定时器的溢出周期)等。
- 配置定时器中断:如果需要使用定时器的中断功能,配置中断优先级、使能定时器中断等。
- 启动定时器:最后,启动定时器开始计数。在STM32中,通过设置定时器的使能位(CR1寄存器的CEN位)来启动定时器。