实验需要:CubeMXkeil5STM32F051K8开发板

一、查看实物

1.点灯的引脚配置与文章【使用 CubeMX+Keil5+STM32F051K8 开发实现点亮一盏LED实验】
(https://blog.csdn.net/qq_42798939/article/details/117281571)中相同。
2.查看“按键”的实物丝印:S1

二、查看原理图

1.查看底板

2.查看核心板
通过PA8可编程引脚检测按键是否按下,按键按下会给PA8输出一个高电平

【CubeMX中完成】

三、配置CubeMX

【芯片手册】

四、查看HAL库手册,找到操作IO引脚相关HAL库函数

引脚:HAL_GPIO_WritePin
功能:读取对应引脚状态函数
参数:GPIOx:GPIO端口,x=A.....HGPIO_Pin:GPIO引脚号,GPIO_PIN_0.....GPIO_PIN_15;
返回值:void配型
引脚状态:GPIO_PIN_RESET 0GPIO_PIN_SET   1

【在keil5中完成】

五、编写相关程序代码

main函数中关键代码:
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_8) == GPIO_PIN_SET )     //按键是否按下{HAL_Delay(80);//防止按键抖动(可不加)if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_8) == GPIO_PIN_RESET )HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);}

五项按键控制LED灯亮灭相关推荐

  1. ZYNQ学习笔记(五)---按键控制LED灯亮灭实验

    这个实验其实很早就做了,但是由于这段时间自己一直在忙一些其他的事所以没有及时更新.今天抽出个空来更新一下.本次实验是关于按键控制LED亮灭.其中涉及到的内容有计数器.按键消抖以及一些简单的逻辑. 1. ...

  2. 用51单片机实现按键控制LED灯亮灭

    用51单片机实现按键控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k1=P3^1;//位定义按键 void de ...

  3. 【tiny4412】按键控制led灯亮灭

    前言:使用友善之臂tiny4412进行嵌入式学习,对于初学者而言并不是一件轻松事情,即使该平台已经存在很多年,网上也有很多分享,但由于官方文档相对还是不够全面,导致很多初学者遇到问题不知如何下手,如果 ...

  4. STM32按键控制LED灯亮灭(四)

    编程要点: 1)使能GPIO端口时钟: 2)初始化GPIO目标引脚为输入模式(浮空输入): 3)编写简单测试程序,检测按键的状态,实现按键控制LED灯: bsp_led.h文件 #ifndef T_L ...

  5. 按键控制led灯亮灭c语言原理,4个独立按键控制4个LED亮灭的单片机程序问题

    本帖最后由 ll13536121668 于 2017-11-2 17:32 编辑 4只独立按键控制4只LED亮和灭,按下按键,LED亮,再按下,LED灭.因为我们很多都是按完按键,松开手LED才亮. ...

  6. 3.按键控制LED灯亮灭

    实验现象:本实验通过一个按键来控制一个发光二极管的亮灭.按键按一下LED点亮.再按一下LED熄灭. 理论学习: 该实验主要难点: 如何扫描按键的状态? 如何防抖动?  原理讲解: 按键检测原理:通过把 ...

  7. CC2530的中断操作----按键控制led灯亮灭

    中断使能主要有四个步骤: (1)使.EA 位为 1,开中断. (2)设置寄存器 IEN0.IEN1和IEN2中相应中断使能位为1. (3)如果需要,则设置P0.P1.P2各引脚对应的各中断使能位为1. ...

  8. 按键控制led灯亮灭c语言实验报告,通过按键控制LED灯的实验

    通过查看开发板的核心电路原理图,加上查阅SUMSANG 2440的datasheed得知四个按键K1,K2,K3,K4对应GPF中的GPF1,GPF4,GPF2,GPF0.将这四个引脚配置为输入模式, ...

  9. 按键控制LED灯亮灭——基于arduino单片机

    程序设计: 函数:digitalRead() 作用:用来读取数字串口状态,HIGH还是LOW (其实还有一种表达方式就是HIGH是"1",LOW是"0",只是H ...

最新文章

  1. App性能分析数据监控
  2. android面试题总结加强
  3. [Linux] vim的高亮查找操作
  4. 择天记手游的服务器维护世界,1130停服更新公告
  5. sqoop2 java api实现_Sqoop2 Java客户端API指南
  6. LeetCode 1061. 按字典序排列最小的等效字符串(并查集)
  7. AliOS Things声源定位应用演示 1
  8. java怎样将多个list写入txt中并且不覆盖原有数据_java容器,面试必备知识点整理!...
  9. Spark基础学习笔记05:搭建Spark Standalone模式的集群
  10. Python debug —— 逻辑错误(四)
  11. 笔记本无线网卡变身热点供手机Wi-Fi免费通过宽带上网
  12. 谷歌浏览器json工具安装
  13. netty 5 心跳
  14. 安装版tomcat tomcat6w.exe参数配置
  15. html5 模拟scrollview,horizontalScrollView
  16. 软件资源版权声明与免责声明
  17. 芋道Docker部署
  18. 科学巨星的美丽轨迹——走近博弈论大师纳什
  19. Nutch 笔记(二):Craw more urls and Recrawl
  20. c计算机怎么读音发音英语,CACD是什么意思

热门文章

  1. MongoDB(芒果数据库)学习(三)——Mongoose搭建及运用(Schemas、Model、Document)
  2. vue项目 请求封装
  3. 如何编辑EndNote的文后参考文献(bibliography)的格式
  4. Java 中的内存映射Mmap
  5. 从GoogleMap的金字塔模型到无限级索引数据结构(一)
  6. 工业机器人动力学控制器设计概述
  7. 天秀!花费 200W 设计的新版“小米”logo,看看用Python怎么绘制?
  8. Linux下USB驱动详解(HOST)
  9. 智能合约语言 Solidity 教程系列9 - 错误处理 1
  10. 模拟电路--相位可调移相器的设计