找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2631|回复: 1
收起左侧

STM32学习—按键输入实验

[复制链接]
ID:82083 发表于 2015-6-9 00:29 | 显示全部楼层 |阅读模式
电路如图所示:
?按键与STM32连接原理图


这里需要注意的是:KEY0、KEY1 和 KEY2 是低电平有效的,而 WK_UP 是高电平有效的,并且外部都没有上下拉电阻,所以需要在 STM32 内部设置上下拉。

?重新建立一个工程,在HARDWARE 文件夹下新建一个 LED 文件夹、BEEP 文件夹 和 KEY文件夹,用来存放按键输入实验相关的代码。
?在HARDWARE 下新增 LED、BEEP、KEY文件夹


然后我们打开 USER 文件夹下的 USER.uvproj工程,按新建按钮新建一个文件,然后保存在 HARDWARE->led 文件夹下面,保存为led.h,在该文件中输入如下代码:
?led.h


保存 led.h 代码,然后我们按同样的方法新建一个 led.c 文件,也保存在 led 文件夹 下面。在led.c 中输入如下代码:
?led.c


再按新建按钮新建一个文件,然后保存在 HARDWARE->beep 文件夹下面,保存为beep.h,在该文件中输入如下代码:
?beep.h


保存 beep.h 代码,然后我们按同样的方法新建一个 beep.c 文件,也保存在 beep 文件夹下面。在beep.c 中输入如下代码:
?beep.c


再按新建按钮新建一个文件,然后保存在 HARDWARE->key 文件夹下面,保存为key.h,在该文件中输入如下代码:

?key.h


保存 key.h 代码,然后我们按同样的方法新建一个 key.c 文件,也保存在 key 文件夹下面。在 key.c中输入如下代码:

?按键初始化程序


?按键检测+ 功能处理程序


将 led.h 文件 和 beep.h 文件复制粘贴到 key 文件夹下,
?key文件夹下添加led.h和beep.h


我们把 led.c 、beep.c 和 key.c 加入到 HARDWARE里面,如图所示:

?将led.c、beep.c和key.c添加到HARDWARE中


回到主界面,在 USER.c 中输入如下代码:
?user.c


然后按编译,编译工程,得到结果如图:

?编译结果


代码实现功能:
WK_UP 控制蜂鸣器,按一次叫,再按一次停;KEY2控制 DS0,按一次亮,再按一次灭; KEY1 控制DS1,效果同 KEY2;KEY0 则同时控制 DS0 和 DS1,按一次,他们的状态就翻转一次。

回复

使用道具 举报

ID:535237 发表于 2020-3-3 13:13 | 显示全部楼层
有仿真图吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表