欢迎光临散文网 会员登陆 & 注册

GD32F450/F470旗舰开发板学习教程—10 按键实验

2023-03-13 13:35 作者:凌智科技  | 我要投稿

    大家好,我是凌智君。

    这节课大家一起学习一下单片机GPIO的输入模式,之前几节课讲了一下如何配置单片机实现GPIO的输出功能,这一节一起学习一下使用GPIO的输入功能读取外部输入信号,废话不多说了,直接上代码。

    一、实验目的:

    学习如何配置单片机实现外部输入。

    二、实验现象:

    下载程序后复位开发板,按键 KEY1 按下,LED3 亮,松开按键 KEY1,LED3 灭。

    三、实验原理

    问题1:按键是怎么样产生信号的?

    原因:按键的一侧接到单片机引脚,另外一侧接到电源引脚(GND或者3.3V),正常状态下,没有输入信号,当按键按下,单片机引脚和电源引脚连通。但是正常情况下,会给按键设置一个默认输入状态,下面会讲解。

    问题2:按键输入的原理是什么?

    原因:原理图如图所示,默认状态下,通过一个上拉电阻连接到单片机引脚,这时候单片机引脚默认是3.3V,当按键按下时,单片机引脚会直连到GND,这时候单片机引脚输入是0V,会产生一个电平的变化。

        问题3:怎么判断有按键按下?

        原因:单片机不断扫描读取引脚电平,默认状态下是高电平,当按键按下时,输入低电平,单片机读取到电平变化,则表明按键按下。

        问题4:程序是如何实现的?

        首先将单片机引脚初始化为输入模式,直接调用GD的库函数即可。

        

然后,宏定义一下单片机引脚电平变化分别代表的状态,RESET 低电平代表按下,SET高电平代表按键弹起。

在系统初始化调用初始化函数

    在执行函数内判断按键是否按下,其中进行10ms延时,用于按键消抖操作,当按键按下时,LED3灯亮,松开灯灭。

    以上就是整个配置单片机GPIO输入的配置过程,读取外部输入的高低电平信号。

配套视频链接:

待更新

开发板链接:

https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-13627328884.33.7bc1550ahpVF5F&id=691783952745


公众号:


公众号

凌智君:

YunXiang_TechShare

(添加V,有相关技术交流群)

GD32F450/F470旗舰开发板学习教程—10 按键实验的评论 (共 条)

分享到微博请遵守国家法律