单片机复位按键电路、唤醒按键电路

目录

单片机复位按键

外部手动复位

单片机复位按键电路

复位按键电路1

复位按键电路2

单片机唤醒按键

 单片机唤醒按键电路


单片机复位按键

单片机复位:简单来说,复位引脚就是有复位信号,就是从头开始执行程序

本质:就是靠充放电产生一个复位脉冲

复位方式:共有三种类型的复位,分别为系统复位、电源复位和备份域复位。

数据手册关于复位的描述如下。

接下来主要讲解外部手动复位

外部手动复位

外部复位电路是嵌入式系统中的一项核心功能。这种电路通常是由一个或多个基于电容电压的电路组成的,其中一个常见的例子是用电容电路组成的手动复位按键。该按键的目的是为了让用户可以手动地复位系统,从而使系统回到初始状态。

一、手动复位按键的工作原理

手动复位按键是通过连接到系统电源和复位线之间的一个电容来工作的。当按下按键时,电容开始充电,同时将电容器的电压传递到外部复位线上,导致系统重新启动。这个复位信号会告诉系统把所有的寄存器清零并跳转到程序的初始状态。

手动复位按键的电容的作用在于,对按键输入的电信号进行滤波,以确保信号的稳定性和准确性。当按键被按下时,电容电路会因为短路而产生一个瞬时电流,导致电压上升。这将会产生一个较大的噪声脉冲,可能会干扰其它设备的正常工作。因此,我们需要借助电容电路将这个瞬时信号滤除,确保转换的信号是准确稳定的。

二、STM32单片机中的手动复位电路

STM32单片机的手动复位电路由一个复位线和一个电容组成。电容通常被连接到复位线上,以便可以使用它来手动地复位单片机。当按下手动复位按键时,电容器开始充电,并将电容器的电压传递到外部复位线上。然后,STM32单片机将自动开始复位和重新启动。

在STM32单片机中,手动复位按键出的电容还有一个重要的作用,就是防止系统因为错误的复位而导致的崩溃。例如,若系统因为电源故障而突然断电,当电源恢复时,STM32单片机会自动重新启动和运行。然而,如果此时系统中仍然有未完全复位或未清零的寄存器或计数器等结构的话,系统会处于不稳定的状态,极有可能导致程序异常终止或死循环等问题。这时候,手动复位按键就可以被用来解决这个问题。按下手动复位按键会将寄存器清零并强制系统复位,这样系统就可以重新启动并且处于初始状态。

三、手动复位按键的优点

手动复位按键出电容作为系统复位电路的一部分,具有多种使用优点,包括:

1.安全稳定:手动复位电路可以有效地提供系统安全性,保护电子设备免受突然断电或电源故障等不受控的情况的影响,确保设备的可靠性,稳定性和安全性。

2. 可控性:手动复位按键是一个人为控制的手段,操作者可以将系统复位,从而实现对设备的有效性和正确性的可控性。

3. 可靠性:手动复位按键出的电容滤波电路,可以有效地过滤掉可能导致系统干扰的电磁波等干扰信号,从而提高系统的可靠性。

四、手动复位按键的应用场景

手动复位按键可以用于多种电子设备中,如数字式仪表,PLC,手机电池,工业控制系统等等。其中最主要的应用是在嵌入式系统中,特别是在STM32单片机中。STM32单片机使用手动复位按键的主要场景如下:

1.当需要对系统进行重置,或清除从存储器芯片或信号发生器接收到的无规律数据时,手动复位按键可以非常方便地实现此操作,并帮助恢复系统的正常状态。

2.当符合特定条件的宏被激活时,该设置可以使手动复位按键也可以用于动态校准设备。例如在测试中,当数据完全聚集后,可以通过按下手动复位按键以对某些传感器的数据进行校准调整。

3.当需要进行系统调试时,手动复位按键可充当可读写存储器的控制信号,从而使得系统完成特殊的工作。

4.当进行系统的调试和开发时,手动复位按键可以用于跳转到程序的起始位置,以便在磁盘或程序出现时对其进行调试。

手动复位按键出电容是嵌入式系统中的重要部分之一。它的作用不仅仅是用于手动复位,也是保证系统操作的正确性和有效性的关键因素,让系统的复位过程更加稳定,可靠和安全。此外,在开发过程中,手动复位按键可以作为一种非常有用的开发调试工具,提供了一种非常方便的方法,以便在这样的系统中解决极具挑战的问题。在如此多的应用中,手动复位按键是一个值得花费时间来学习和尝试的重要部分。

单片机复位按键电路

复位按键电路1

如上图,R17 C13组成止电复位电路,刚上电时,C13是电压为0,电源通过R17对电容充电,因此,RST引脚呈现高电平,高电平时间大于2个晶振周期,单片机复位。

电容充电完毕,RST引脚呈现低电平,复位结束。

按钮S22和R16组成手动复位电路 ,按下S22,电源接通R16和 R17,由于R17阻值比较大,因此RST是高电平,同时电容通过R16迅速放电,即使按钮触点断开,电源也可对C13充电,使RST高电平稳定一段时间 ,保证可靠复位。C13容量较小时,R16可省掉,小电容短路放电不会损坏按钮触点。

复位按键电路2

上电复位原理接上电源瞬间,电容C7等效于短路,此时NRST点为低电位接地,STM32复位。当电容充电完成后,电容C1等效于开路NRST点电位回升为高电平。

按键复位原理按下按键KEY1,NRST点接地变为低电平,STM32复位。按键松开后,NRST点回升为高电平。

单片机唤醒按键

数据手册(stm32f4xx)中与唤醒按键相关的内容如下

WKUP 引脚上升沿时唤醒待机状态。

位8 EWUP的作用:

- 当将位8 EWUP设置为1时,WKUP引脚被配置为唤醒器件的输入。WKUP引脚在出现上升沿时可以从待机模式唤醒系统。
  
- 当将位8 EWUP设置为0时,WKUP引脚将用作通用I/O,而不会用于唤醒待机模式下的系统。

此外,位8 EWUP可以通过软件设置为1或清零,表示这个配置可以由软件控制。另外,通过系统复位可以将该位复位,恢复为默认值。

通常用于电源管理功能,以便控制设备在待机状态下的唤醒方式。这种设置通常允许开发人员根据实际需求对设备的唤醒方式进行灵活配置。

 单片机唤醒按键电路

通过松开唤醒按键后,保证单片机处于待机状态。

当按下唤醒按键时,WKUP引脚被拉高电平,单片机会被唤醒并进入工作状态。

在按键松开后,松开电路会确保WKUP引脚被拉低电平(通俗理解就是:SW7与电容C49形成断路,没有电流通过,WKUP引脚此时接电源地,WKUP引脚被拉低电平),单片机重新进入待机模式。

阻容滤波电路能够过滤掉WKUP引脚的干扰信号,保证其稳定性。

下拉电阻:为了保证唤醒时的低电平稳定,需要在WKUP引脚和GND之间加入适当的下拉电阻。

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

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

相关文章

NC65 rest接口 开发 NC65接口开发

一、在对应模块META-INF下编写 xxx.rest 文件,也要放在Home里对应的目录下。 二、开发接口,继承extends AbstractUAPRestResource,(有的项目会继承别的方法如:AbstractNCCRestResource,MTFRestResource;有…

智能水表预付费管理系统

智能水表预付费管理系统是当前智能水表技术的重要应用之一,结合了智能化管理和预付费功能,为水务公司和用户提供了便捷、高效的用水管理解决方案。该系统利用先进的科技手段,实现了水表抄表、计费和管理的自动化,为用户带来更便捷…

C++ Webserver从零开始:代码书写(十六)——配置文件,服务器,启动!

前言 现在是2024年2月28日的晚上20点36分,我完成了博客的所有内容。现在我整个人有一种如释重负的感觉,今天用webbench测试的时候还闹了个笑话,我在使用测试命令时,url多写了一个http://没注意,导致webbench访问服务器…

基于Python3的数据结构与算法 - 05 堆排序

目录 一、堆排序之树的基础知识 1. 树的定义 2. 树的一些概念 二、堆排序二叉树的基本知识 1. 二叉树的定义 2. 二叉树的存储方式(表达方式) 2.1 顺序存储方式 三、堆 1. 堆的定义 2. 堆的向下调整性质 四、堆排序的过程 1. 建造堆 五、时…

SpringCloud认识微服务

文章目录 1.1.单体架构1.2.分布式架构1.3.微服务1.4.SpringCloud1.5.总结 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 微服务架构是一种架构模式&…

软考51-上午题-【数据库】-索引

一、索引的定义 在数据库中,索引使得数据库程序无需对整个表进行扫描,就可以在其中找到所需数据。数据库中的索引是某个表中一列或者若干列,值的集合和相应的指向表中物理标识这些值的数据页逻辑指针清单。 二、索引的创建和删除 2-1、索引…

ThreeJS 几何体顶点position、法向量normal及uv坐标

文章目录 几何体的顶点position、法向量normal及uv坐标UV映射UV坐标系UV坐标与顶点坐标设置UV坐标案例1:使用PlaneGeometry创建平面缓存几何体案例2:使用BufferGeometry创建平面缓存几何体 法向量 - 顶点法向量光照计算案例1:不设置顶点法向量…

Linux shell:补充命令的使用

目录 一.导读 二.正文 三.结语 一.导读 上一篇介绍了脚本的简单概念以及使用,现在补充一些命令。 二.正文 目前处于全局目录,通过mkdir创建名我为day01的文件。 通过cd命令day01 切换至day01文件当中。 使用vim文本编辑器文件名(firstdir&…

【algorithm】算法基础课---排序算法(附笔记 | 建议收藏)

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:AcWing算法学习笔记 💬总结:希望你看完…

day 45 ● 70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数

#include<bits/stdc.h> using namespace std; int main(){int n,m;cin>>n>>m;vector<int> dp(33,0);dp[0]1;for(int i0;i<n;i){for(int j1;j<m;j){if(i>j)dp[i]dp[i-j];}}// return dp[n];cout<<dp[n]<<endl;} 当然注意 力扣是 …

2.23作业

1.自己实现单向循环链表的功能 //loop_list.c#include"loop_list.h" //创建单向循环链表 loop_p create_head() {loop_p H(loop_p)malloc(sizeof(loop_list));if(HNULL){printf("空间申请失败\n");return NULL;}H->len0;H->nextH;return H; }//创建…

C语言中如何进行内存管理

主页&#xff1a;17_Kevin-CSDN博客 收录专栏&#xff1a;《C语言》 C语言是一种强大而灵活的编程语言&#xff0c;但与其他高级语言不同&#xff0c;它要求程序员自己负责内存的管理。正确的内存管理对于程序的性能和稳定性至关重要。 一、引言 C 语言是一门广泛使用的编程语…

学习Android的第十八天

目录 Android 可复用 BaseAdapter 为什么使用BaseAdapter&#xff1f; 如何使用BaseAdapter&#xff1f; Android GridView 网格视图 GridView 属性 示例 Android Spinner 下拉选项框 Spinner Spinner 属性 示例 Android AutoCompleteTextView 自动完成文本框 Auto…

饲料加工设备让饲料厂和养殖场生产轻松高效

亲爱的饲料厂和养殖场朋友们&#xff0c;你们是不是正在寻找一款方便高效的饲料加工设备呢&#xff1f;那么我们的产品就是你们选择&#xff01; 郑州永兴专为饲料生产而设计的饲料加工设备&#xff0c;无论是养殖场还是饲料厂&#xff0c;都离不开它的帮助。我们提供大中小型…

51单片机-(定时/计数器)

51单片机-&#xff08;定时/计数器&#xff09; 了解CPU时序、特殊功能寄存器和定时/计数器工作原理&#xff0c;以定时器0实现每次间隔一秒亮灯一秒的实验为例理解定时/计数器的编程实现。 1.CPU时序 1.1.四个周期 振荡周期&#xff1a;为单片机提供定时信号的振荡源的周期…

卡尔曼滤波器的定义,实例和代码实现

卡尔曼滤波器(Kalman filter)是一种高效的递归滤波器, 能够从一系列包含噪音的测量值中估计动态系统的状态. 因为不需要存储历史状态, 没有复杂计算, 非常适合在资源有限的嵌入式系统中使用. 常用于飞行器的导引, 导航及控制, 机械和金融中的时间序列分析, 轨迹最佳化等. 卡尔曼…

LeetCode59. 螺旋矩阵 II(C++)

LeetCode59. 螺旋矩阵 II 题目链接代码 题目链接 https://leetcode.cn/problems/spiral-matrix-ii/ 代码 class Solution { public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> res(n, vector<int>(n, 0));int startx …

Linux第67步_linux字符设备驱动_注册和注销

1、字符设备注册与注销的函数原型” /*字符设备注册的函数原型*/ static inline int register_chrdev(unsigned int major,\ const char *name, \ const struct file_operations *fops) /* major:主设备号&#xff0c;Limnux下每个设备都有一个设备号&#xff0c;设备号分…

点云检测网络PointPillar

1. 提出PointPillar的目的 在此之前对于不规则的稀疏的点云的做法普遍分为两派: 一是把点云数据量化到一个个Voxel里&#xff0c;常见的有VoxelNet和SECOND , 但是这种做法比较普遍的问题是由于voxel大部分是空集所以会浪费算力(SECOND利用稀疏卷积解决了它) &#xff0c;但是…

MNIST数据集下载(自动下载)

&#x1f4da;**MNIST数据集下载(自动下载)**&#x1f4da; &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 &#x1f448; 希望得到您的…