[STM32F1] 基于STM32F103C8T6的振动器控制继电器实现控制灯的亮灭

[复制链接]
3232|64
 楼主| lmq0v9 发表于 2023-3-27 20:50 | 显示全部楼层 |阅读模式
#一、元器件原理图
##1、单片机及其原理图
##2、震动传感器
##3、继电器
##4、元器件接线图
#二、实现原理
##1、技术文档
#三、Keil软件实现
#四、编程代码

一、元器件及其原理图

1、STM32F103C8T6单片机介绍
本次项目主要应用stm32f10c8t6开发板,俗称哞哞一号开发板
57819642190efd9bc0.png
34526642190fc6f0e9.png

4031364219107c0d83.png

————————————————
版权声明:本文为CSDN博主「不是山谷547」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_72921448/article/details/127246342
 楼主| lmq0v9 发表于 2023-3-27 20:50 | 显示全部楼层
2、振动传感器

292936421911c54530.png
 楼主| lmq0v9 发表于 2023-3-27 20:51 | 显示全部楼层
966566421913714bc6.png

应用原理:
当震动传感器感受到相应的震动会向单片机发出震动信号,信号灯LED2发光,可通过灵敏度旋钮来调节芯片内部震动力度的标准。
 楼主| lmq0v9 发表于 2023-3-27 20:52 | 显示全部楼层
3、继电器
64616421918fe3327.png
 楼主| lmq0v9 发表于 2023-3-27 20:53 | 显示全部楼层
 楼主| lmq0v9 发表于 2023-3-27 20:53 | 显示全部楼层
4、元器件接线图: 60012642191bfeddeb.png
 楼主| lmq0v9 发表于 2023-3-27 20:56 | 显示全部楼层
二、实现原理

1、技术文档

68064642191de38bd9.png
 楼主| lmq0v9 发表于 2023-3-27 20:57 | 显示全部楼层
使能继电器、震动传感器所需的条件及原理:
1.使能ABP2的外设时钟
2.配置GPIOA为输出模式
3.配置GPIOA输出低电平
 楼主| lmq0v9 发表于 2023-3-27 20:57 | 显示全部楼层
首先,打开 STM32F103C8T6的中文技术手册,找到储存器和总线构架章节,在第一部分的系统架构图中找到GPIOA输入输出所在的位置,位于ABP2总线上,而ABP2总线通过桥接连接在AHB系统总线上,我们要通过配置相应的固件库去实现配置GPIOA的输出模式(推挽输出或下拉输出),同时将电平拉低。
———————————————
 楼主| lmq0v9 发表于 2023-3-27 20:58 | 显示全部楼层
三、Keil软件实现

1、建立新的文件
1. 在固件库->USER->新建文件夹1008震动传感器控制继电器控制灯的亮灭文件夹

52333642192dc02554.png
 楼主| lmq0v9 发表于 2023-3-27 21:01 | 显示全部楼层
2.在文件夹中新建relay.c、relay.h、shake.c和shake.h文件。
62810642192fdbe1b9.png
 楼主| lmq0v9 发表于 2023-3-27 21:01 | 显示全部楼层
3.固件库模板->project->STM32打开工程

64722642193a771659.png
 楼主| lmq0v9 发表于 2023-3-27 21:13 | 显示全部楼层
4.将relay.c与shake.c添加进USER文件夹
95561642193c00ac99.png
 楼主| lmq0v9 发表于 2023-3-28 10:29 | 显示全部楼层
5.在USER文件夹中打开relay.c文件

50249642196971a863.png
 楼主| lmq0v9 发表于 2023-3-28 11:09 | 显示全部楼层
6.在relay.c文件中添加头文件,建立初始化函数,编译。

3993064225a658ad0b.png


 楼主| lmq0v9 发表于 2023-3-28 11:10 | 显示全部楼层
7.在relay.h文件中添加头文件,声明初始化函数,编译。

8124264225a823631c.png

 楼主| lmq0v9 发表于 2023-3-28 11:10 | 显示全部楼层
8.将relay.h头文件添加进main.c函数中,在主函数中调用relay初始化函数,编译。
1440164225a97cd443.png
 楼主| lmq0v9 发表于 2023-3-28 11:11 | 显示全部楼层
9.点开魔术棒,将.h文件添加到主函数中

7469564225ad0f2d2b.png
 楼主| lmq0v9 发表于 2023-3-28 11:12 | 显示全部楼层
10.添加完成后编译确认无错误。
2018464225b1012d54.png
 楼主| lmq0v9 发表于 2023-3-28 11:13 | 显示全部楼层
11.与添加relay.c与relay.h文件一样添加shake.c与shake.h文件
6180064225b2406238.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

136

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部