实验:stm32电子钟实验

  • 实验目的

掌握STM32F103定时器的工作原理与应用、实现精确的电子钟功能、提升编程和调试

能力、培养创新与实践能力。

  • 实验内容

通过深入理解STM32F103VET6定时器的工作原理,实现一个具有小时、分钟、秒显

示功能的电子钟,从而提升其嵌入式系统设计和开发能力。

  • 实验设备

硬件设备:PC机、野火STM32系统开发板;

软件工具:STM32CubeMX、Keil uVision5。

  • 实验原理

STM32F103定时器设计电子钟小时、分钟、秒实验的原理主要是对STM32F103单片机的基本定时器TIM6进行相关配置,实现每秒产生依次定时器中断,进而实现秒、分、时的电子钟效果。

  • 实验步骤

1、双击电脑桌面STM32CubeMX软件运行后如图5-1所示,之后双击红框标号1显示如图5-2所示。

图5-1

2、在标号1中输入单片机型号STM32F103VET6后双击标号2,之后显示如图5-3所示。

图5-2

3、按照标号1、2、3进行时钟设计。

图5-3

4、之后,按照标号1、2、3、4、5进行定时tim6定时1s参数设置,如图5-4所示。同时使能NVIC中断向量表如图5-5所示。

图5-4

图5-5

5、之后,按照如图5-6中表号1、2、3对时钟进行配置

图5-6

6、之后,按照如图5-7中表号1、2、3、4对工程名和软件版本进行设置,最后双击标号5生成代码。

图5-7

7、之后,找到设定的工程目录打开工程代码如图5-8中编号1、2、3所示,之后编写启动定时器TIM6代码如图5-8编号4。

图5-8

8、之后,定义电子钟所需变量如图5-9编号2所示。

图5-9

9、之后,按照如图5-10找到标号5所示代码复制下来。

图5-10

10、之后,按照如图5-11把复制的内容粘贴到main.c的图5-11位置,并且编写函数内电子钟程序。

图5-11

  • 实验结果及分析

编写好程序,进行编译没有问题后,连接开发板打开debug界面进行调试,通过添加hour、minute、secon的watch1窗口监测值,点击标号2,当运行一段时间后hour:0、minute:14、secon:0时停止执行,同时打开手机秒表功能进行验证所做电子钟实验计时是否准确,现象如图6-1所示。通过对比发现存在误差,而且较大,原因分析:存在人工点击的较大迟缓、以及硬件本身存在的微小延迟。

图6-1

  • 实验总结

实验完成后,我对STM32F103定时器设计电子钟小时、分钟、秒的实验进行了深入总结。本次实验的核心原理在于对STM32F103单片机的基本定时器TIM6进行精确配置,通过合理配置定时器的预分频器和自动重载寄存器,实现了每秒产生一次定时器中断。这一中断机制的触发,使得我们能够实时更新电子钟的秒、分、时显示,从而实现了电子钟的基本功能。

在实验过程中,我首先深入研究了STM32F103定时器的工作原理和配置方法,掌握了如何通过编程实现对定时器的精确控制。随后,我根据实验要求,对TIM6定时器进行了详细的配置,包括时钟源的选择、预分频器的设置以及中断使能等。

在定时器配置完成后,我编写了相应的中断服务函数,用于处理定时器中断事件。在中断服务函数中,我实现了对电子钟秒、分、时值的更新,并通过适当的显示接口将这些信息实时展示在电子钟上。

通过本次实验,我不仅掌握了STM32F103定时器的基本使用方法,还学会了如何利用定时器中断实现电子钟的实时显示功能。同时,我也深刻体会到了理论与实践相结合的重要性,只有通过实际操作,才能真正理解和掌握所学知识。

  • 34
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值