【stm32】GPIO输入

GPIO输入

按键介绍

常见输入设备,按下导通,松手断开
按键抖动 :由于案件内部使用的是机械式弹簧片来进行通断,在按下和松手的瞬间会伴有一连串抖动

传感器介绍

传感器元件(光敏电阻/热敏电阻/红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻串联分压 即可得到模拟电压输出 ,再通过电压比较器 进行二值化即可得到数字电压输出

C2滤波电容 ,给中间的电压输出进行滤波,滤除一些干扰,保证输出电压波形平滑

在电路里遇到一端接在电路中,另一端接地的电容,考虑是否为滤波电容,若是,则不是电路主要框架,在分析电路的时候,可以先将其抹掉,使分析更加简单

去掉滤波电容之后,构成了基本的分压电路

N1阻值变小时,下拉作用增强,中间AO段的电压就会拉低,极端情况下,N1阻值为0,AO输出被完全下拉,输出0V;反之N1阻值变大时,上拉作用增强,中间AO段的电压就会拉高,极端情况下,相当于断路,输出电压R1拉高至VCC(上下拉电阻)

若阻值为0,则拉力无穷大,若上下阻值均为0,电源短路,应避免这个情况

二值化是通过芯片LM393完成
LM393,电压比较器芯片,里面有两个独立的电压比较器电路,相当于运算放大器,当同相输入端大于反向输入端的电压时,输出会瞬间升高为最大值,就是输出接VCC;反之输出瞬间降为最小值,也就是输出接GND

应用:同相输入端IN+接到AO模拟电压端,IN-接电位器,电位器揭发也为分压电阻原理,拧动电位器,IN-就会生成一个可调的阈值电压,两个电压比较,最终输出结果就是DO,数字电压输出,DO接到引脚的输出端

左边为电源指示灯,通电就亮;右边为DO输出指示灯,可以指示DO的输出电平,低电平点亮,高电平熄灭

R5上拉电阻,保证默认输出为高电平

对于光敏传感器来说,N1为光敏电阻

对于热敏传感器来说,N1为热敏电阻

对于红外传感器来说,N1为红外接收管,此外还会多一个点亮红外发射管的电路

发射管发射红外光,接收管接受红外光,模拟电压表示接收光的强度,电位器换成了两个电阻分压,这样数字输出就是固定阈值的二值化,通常用来检测通断,故阈值不需过多调整

最后有个也是红外发射管和接收管,但其是向下发射红外光,然后检测反射光,可用来做寻迹小车

按键和传感器硬件电路

上面两个为下接按键的方式,下面两个为上接按键的方式,一般来说按键都是用下接的方式,原因跟LED接法类似,是电路设计的习惯和规范

图一

为按键最常用接法,当按键按下时,PA0被直接下拉到GND,此时读取PA0口的电压就是低电平,当按键松开时,PA0被悬空,会导致引脚电压不确定,故这种接法下,要求PA0是上拉输入的模式,此时按下为低电平,松开为高电平

图二

相较于图一,外部接了一个上拉电阻,按键松开时,引脚由于上拉作用,保持高电平;按键按下时,引脚接GND,为低电平,此时PA0引脚可配置为浮空输入或上拉输入,若为上拉输入,为内外两个上拉电阻共同作用,高电平会更强一些,更稳定,但,当引脚被强行拉到低时,损耗也会大些·

图三

要求PA0必须配置成下拉输入,按键按下时,引脚为高电平;松开时,引脚回到默认值低电平,一般单片机不一定有下拉输入的模式,故最好使用上面接法

图四

PA0需要配置成下拉输入模式或浮空输入模式

传感器模块电路:

c语言相关知识点复习

数据类型

char本意是字符型数据的意思,但单片机通常用它存放整数而不是字符

宏定义

#define

用途:用一个字符串代替一个数字,便于理解,防止出错;提取程序中经常出现的参数,便于快速修改

定义宏定义如:#define ABC 12345

引用宏定义如:int a = ABC;//等效于int a = 12345

typedef

用途:将一个比较长的变量类型 换个名字,便于使用

定义typedef:

c 复制代码
typedef unsigned char uint8_t

引用typedef:

c 复制代码
uint8_t a;//等效于unsigned char a

枚举enum

用途:定义一个取值受限制的整型变量,用于限制变量取值范围;宏定义的结合

定义枚举变量:

c 复制代码
enum{FALSE = 0, TRUE = 1} EnumName;

因为枚举变量类型较长,所以通常用typedef更改变量类型名

引用枚举成员:

c 复制代码
EnumName = FALSE;
EnumName = TRUE;

注;本文来源为江协b站课程,为笔记

相关推荐
echo_pen1 小时前
蓝桥杯----串口
单片机·蓝桥杯
Ronin-Lotus3 小时前
嵌入式硬件篇---Openmv
嵌入式硬件
echo_pen3 小时前
蓝桥杯----超声波
单片机·蓝桥杯
机器视觉知识推荐、就业指导4 小时前
STM32 GPIO 中8种配置模式
stm32·单片机·嵌入式硬件
四谎真好看4 小时前
第六章第二节 定时器定时中断 & 定时器外部时钟
stm32·单片机·嵌入式硬件·定时器·timer
qq10549415164 小时前
江协科技STM32 14-1 WDG看门狗
科技·stm32·嵌入式硬件
景彡先生6 小时前
STM32启动流程详解:从复位到main函数的完整路径
stm32·单片机·嵌入式硬件
安庆平.Я7 小时前
STM32——启动过程浅析
stm32·单片机·嵌入式硬件
Python小老六7 小时前
stm32是如何实现电源控制的?
stm32·单片机·嵌入式硬件