实验:stm32电子钟实验
创始人
2024-12-28 08:11:55
0
  • 实验目的

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

相关内容

热门资讯

第9个了解!微扑克脚本外挂辅助... 第9个了解!微扑克脚本外挂辅助器插件,微扑克辅助钻石(有挂解密)-哔哩哔哩;1、很好的工具软件,可以...
第9实锤!wepoke挂软件透... 第9实锤!wepoke挂软件透明挂辅助插件,wpk如何才能稳定长期收益(有挂透视)-哔哩哔哩;1、这...
第六个了解!微扑克必备外挂辅助... 自定义新版微扑克必备系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克必备专用辅助器,不...
第两个了解!wepOKER外挂... 自定义新版wpkplus系统规律,只需要输入自己想要的开挂功能,一键便可以生成出wpkplus专用辅...
第五个了解!德扑之心外挂透明挂... 第五个了解!德扑之心外挂透明挂辅助神器,weopke系统规律(有挂详细)-哔哩哔哩;德扑之心原来是有...
1分钟了解!微扑克机器人外挂透... 自定义新版微扑克模拟器系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克模拟器专用辅助器...
Go语言入门之函数 Go语言之函数函数这种语法元素的诞生,源于将大问题分解为若干小任务与代码复用ÿ...
Mac更新完系统出现两步报错及... Mac更新完系统,通过命令行准备编译C++文件时,报错&...
Nginx和Tomcat实现负...  🏡作者主页:点击! 🐧Linux基础知...
第4了解!大菠萝扑克外挂透明挂... 第4了解!大菠萝扑克外挂透明挂辅助器开挂,wpk俱乐部有ai的(有挂讲解)-哔哩哔哩;1、完成大菠萝...