五项按键控制LED灯亮灭
实验需要: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灯亮灭相关推荐
- ZYNQ学习笔记(五)---按键控制LED灯亮灭实验
这个实验其实很早就做了,但是由于这段时间自己一直在忙一些其他的事所以没有及时更新.今天抽出个空来更新一下.本次实验是关于按键控制LED亮灭.其中涉及到的内容有计数器.按键消抖以及一些简单的逻辑. 1. ...
- 用51单片机实现按键控制LED灯亮灭
用51单片机实现按键控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k1=P3^1;//位定义按键 void de ...
- 【tiny4412】按键控制led灯亮灭
前言:使用友善之臂tiny4412进行嵌入式学习,对于初学者而言并不是一件轻松事情,即使该平台已经存在很多年,网上也有很多分享,但由于官方文档相对还是不够全面,导致很多初学者遇到问题不知如何下手,如果 ...
- STM32按键控制LED灯亮灭(四)
编程要点: 1)使能GPIO端口时钟: 2)初始化GPIO目标引脚为输入模式(浮空输入): 3)编写简单测试程序,检测按键的状态,实现按键控制LED灯: bsp_led.h文件 #ifndef T_L ...
- 按键控制led灯亮灭c语言原理,4个独立按键控制4个LED亮灭的单片机程序问题
本帖最后由 ll13536121668 于 2017-11-2 17:32 编辑 4只独立按键控制4只LED亮和灭,按下按键,LED亮,再按下,LED灭.因为我们很多都是按完按键,松开手LED才亮. ...
- 3.按键控制LED灯亮灭
实验现象:本实验通过一个按键来控制一个发光二极管的亮灭.按键按一下LED点亮.再按一下LED熄灭. 理论学习: 该实验主要难点: 如何扫描按键的状态? 如何防抖动? 原理讲解: 按键检测原理:通过把 ...
- CC2530的中断操作----按键控制led灯亮灭
中断使能主要有四个步骤: (1)使.EA 位为 1,开中断. (2)设置寄存器 IEN0.IEN1和IEN2中相应中断使能位为1. (3)如果需要,则设置P0.P1.P2各引脚对应的各中断使能位为1. ...
- 按键控制led灯亮灭c语言实验报告,通过按键控制LED灯的实验
通过查看开发板的核心电路原理图,加上查阅SUMSANG 2440的datasheed得知四个按键K1,K2,K3,K4对应GPF中的GPF1,GPF4,GPF2,GPF0.将这四个引脚配置为输入模式, ...
- 按键控制LED灯亮灭——基于arduino单片机
程序设计: 函数:digitalRead() 作用:用来读取数字串口状态,HIGH还是LOW (其实还有一种表达方式就是HIGH是"1",LOW是"0",只是H ...
最新文章
- App性能分析数据监控
- android面试题总结加强
- [Linux] vim的高亮查找操作
- 择天记手游的服务器维护世界,1130停服更新公告
- sqoop2 java api实现_Sqoop2 Java客户端API指南
- LeetCode 1061. 按字典序排列最小的等效字符串(并查集)
- AliOS Things声源定位应用演示 1
- java怎样将多个list写入txt中并且不覆盖原有数据_java容器,面试必备知识点整理!...
- Spark基础学习笔记05:搭建Spark Standalone模式的集群
- Python debug —— 逻辑错误(四)
- 笔记本无线网卡变身热点供手机Wi-Fi免费通过宽带上网
- 谷歌浏览器json工具安装
- netty 5 心跳
- 安装版tomcat tomcat6w.exe参数配置
- html5 模拟scrollview,horizontalScrollView
- 软件资源版权声明与免责声明
- 芋道Docker部署
- 科学巨星的美丽轨迹——走近博弈论大师纳什
- Nutch 笔记(二):Craw more urls and Recrawl
- c计算机怎么读音发音英语,CACD是什么意思
热门文章
- MongoDB(芒果数据库)学习(三)——Mongoose搭建及运用(Schemas、Model、Document)
- vue项目 请求封装
- 如何编辑EndNote的文后参考文献(bibliography)的格式
- Java 中的内存映射Mmap
- 从GoogleMap的金字塔模型到无限级索引数据结构(一)
- 工业机器人动力学控制器设计概述
- 天秀!花费 200W 设计的新版“小米”logo,看看用Python怎么绘制?
- Linux下USB驱动详解(HOST)
- 智能合约语言 Solidity 教程系列9 - 错误处理 1
- 模拟电路--相位可调移相器的设计