嵌入式实验---实验三 定时器实验

news2024/10/23 2:43:02

一、实验目的

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闪烁实验效果说明:

  1. LED以固定的频率或模式(如1秒闪烁一次)交替亮灭。

  1. 可以通过修改代码中的延时时间或使用定时器来调整LED的闪烁频率。

呼吸灯实验效果说明:

  1. LED的亮度呈现出由低到高再由高到低的变化,类似于呼吸的效果。

  1. 从数字显示器中可以看出,PA7输出的PWM脉冲,PWM的占空比在发生渐变,LED灯的亮度也会发生变化。

  1. 可以通过调整PWM的占空比和周期来改变LED的呼吸速度和范围。

六、实验预习要求

  1. 实验前认真阅读本实验指导;
  2. 熟悉书本中相关操作及相关器件。
  3. 完成5.1和5.2内容。

七、思考题

1. 定时器常用的功能有哪些

  1. 计时功能:用于简单的时间测量和计算,例如厨房用计时、运动比赛计时等。

  1. 闹钟功能:定时器可以设置在特定时间响铃或震动,用作闹钟提醒。

  1. 倒计时功能:设置一个特定的时间段,倒计时器会逆向计算时间,直到时间结束发出提醒。

  1. 重复功能:一些定时器允许设置重复功能,比如每天同一时间提醒。

  1. 多个计时器:有些高级定时器可以同时运行多个计时器,方便管理多个任务或事件。

  1. 定时开关功能:例如定时开关灯、电视等电子设备,节省能源。

  1. 自动关机功能:设定电脑或手机等设备在特定时间自动关机,省电和定时任务。

  1. 计时器历史记录:记录过去的计时或倒计时,以便回顾和分析。

2、使用定时器功能的配置流程

  1. 选择定时器和时钟配置:首先确定使用的定时器(如TIM1、TIM2等)以及其时钟源,通常是外部晶振或内部时钟源。

  1. 定时器时钟初始化:配置定时器的时钟,确定其工作频率。这一步骤确保定时器能够以正确的时钟频率运行。

  1. 定时器初始化:配置定时器的基本参数,如计数模式(向上、向下或双边),计数器的预分频因子(用于调整定时器时钟的频率),自动重装载寄存器(ARR)的值(决定定时器的溢出周期)等。

  1. 配置定时器中断:如果需要使用定时器的中断功能,配置中断优先级、使能定时器中断等。
  2. 启动定时器:最后,启动定时器开始计数。在STM32中,通过设置定时器的使能位(CR1寄存器的CEN位)来启动定时器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1844007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《C++ Primer》导学系列:第 6 章 - 函数

6.1 函数基础 6.1.1 基本概念 函数是C程序的基本组成单元,用于将代码组织成可以复用的模块。函数通过函数名进行调用,并且可以接受参数和返回值。函数的定义包括函数头和函数体,其中函数头描述了函数的接口,函数体包含了具体的实…

基于SpringBoot+Vue电影推荐系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还…

Python 绘制圆欠采样时的数学图形

Python 绘制圆欠采样时的数学图形 正文end_radian 190end_radian 180end_radian 170end_radian 130end_radian 120 正文 今天在绘制圆形的时候遇到了意外,发现了一个有意思的现象,这里特来记录一下。 end_radian 190 import numpy as np import…

【因果推断python】45_估计量1

目录 问题设置 目标转换 到目前为止,我们已经了解了如何在干预不是随机分配的情况下对我们的数据进行纠偏,这会导致混淆偏差。这有助于我们解决因果推理中的识别问题。换句话说,一旦单位是可交换的,或者 ,就可以学习…

H3C防火墙抓包(图形化)

一.报文捕获 ,然后通过wireshark查看报文 二.报文示踪 , 输入源目等信息, 查看报文的详情

JavaWeb之JSON、AJAX

JSON 什么是JSON:JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式(JavaScript提供) 特点 [{"name":"周珍珍", "age":18},{"name":"李淑文","age":20}]数据是以键值对形式…

SpingBoot快速入门下

响应HttpServietResponse 介绍 将ResponseBody 加到Controller方法/类上 作用:将方法返回值直接响应,如果返回值是 实体对象/集合,将会自动转JSON格式响应 RestController Controller ResponseBody; 一般响应 统一响应 在实际开发中一般…

SpringBoot | 实现邮件发送

运行环境: IntelliJ IDEA 2022.2.5 (Ultimate Edition) (注意:idea必须在2021版本以上)JDK17 项目目录: 该项目分为pojo,service,controller,utils四个部分, 在pojo层里面写实体内容(发邮件需要的发件人邮…

浅谈配置元件之HTTP Cookie管理器

浅谈配置元件之HTTP Cookie管理器 在进行Web测试时,处理Cookies是非常关键的一环,因为Cookies常用于存储用户会话信息、登录状态等。JMeter中的“HTTP Cookie管理器”(HTTP Cookie Manager)正是为此设计的配置元件,它…

后端学习笔记:Python基础

后端学习笔记:Python基础 数据类型: Python中主要有以下几种常用的基本数据类型: String 字符串类型,用单引号或者双引号引用Number 数字类型,包括浮点数,整数,长整数和复数List 列表项&…

24年计算机等级考试22个常见问题解答❗

24年9月计算机等级考试即将开始,整理了报名中容易遇到的22个问题,大家对照入座,避免遇到了不知道怎么办? 1、报名条件 2、报名入口 3、考生报名之后后悔了,不想考了,能否退费? 4、最多能够报多少…

【MySQL】(基础篇十五) —— 增删改数据

增删改数据 本文介绍如何利用SQL的INSERT语句将数据插入表中。以及如何利用UPDATE和DELETE语句进一步操纵表数据。 数据插入 INSERT是用来插入(或添加)行到数据库表的。插入可以用几种方式使用 插入完整的行;插入行的一部分;插…

目标检测技术学习

最近公司做一个目标检测相关的项目,对目标检测以及相关的深度学习知识有一些了解。这里整理一下。 一、目标检测定义 什么是目标检测?最近还碰到一个朋友做的项目,是无人机目标检测的,很有意思(据说还是军事用途&…

SpringBoot的冬奥会科普平台 LW +PPT+源码

3 平台分析 3.1 平台可行性分析 3.1.1 经济可行性 由于本平台是作为毕业设计平台,且平台本身存在一些技术层面的缺陷,并不能直接用于商业用途,只想要通过该平台的开发提高自身学术水平,不需要特定服务器等额外花费。所有创造及工…

python离线安装第三方库、及其依赖库(单个安装,非批量移植)

文章目录 1.外网下载第三方库、依赖库2.内网安装第三方库3.补充附录内网中离线安装python第三方库,这时候只能去外网手动下载第三方库,再传回内网进行安装。 问题是python第三方库往往有其前置依赖包,你很难清楚某个第三方库依赖的是哪些依赖包,更难受的是依赖包可能还有其…

谷歌个人号14天封闭测试,又添新要求?怎么提高封测通过率?

相信不少在Google Play上架应用的开发者们,对谷歌个人号的20人连续14天的封闭测试感到头疼。谷歌对个人号提出周期长达14天的封测要求,主要是希望开发者们能上架质量更好、体验感更好的app到谷歌商店。 而随着谷歌行业的发展,这项政策要求的执…

双网卡设置路由网络不通原因之一:静态ip设置失败

1.主要现象: 外网通,内网不通 外网IP设置 内网IP设置 路由表设置 内网不通 2.主要原因:在适配器中设置的内网静态IP没有成功 设置静态IP失败 在命令行使用ipconfig命令看到内网适配器的静态IP为192.168.0.55,并不是我们设置的1…

密码学及其应用——GMP库在密码学中的应用

GMP(GNU Multiple Precision arithmetic library,GNU多精度算术库)是一个针对大整数运算的库。这个库提供了许多针对多种多精度类型的计算函数: - 大整数:Z - 大有理数:Q - 大浮点数:R 1. 密码学…

Unity URP简单烘焙场景步骤

Unity URP简单烘焙场景步骤 前言项目场景布置灯光模型Lighting设置环境设置烘焙前烘焙后增加角色 前言 项目中要烘焙一个3D场景,用的URP渲染管线,简单记录一下。 项目 场景布置 灯光 因为场景中有能动的东西,需要一部分实时光照&#xf…

vuejs3+elementPlus后台管理系统,左侧菜单栏制作,跳转、默认激活菜单

默认激活菜单,效果&#xff1a; 默认激活菜单&#xff0c;效果1&#xff1a; 默认激活菜单&#xff0c;效果2&#xff1a; 跳转链接效果&#xff1a; 制作&#xff1a; <script setup> import {useUserStore} from "/stores/userStore.js"; import {ref} fr…