【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)

本文详细介绍了如何使用C++编程控制单片机的LED灯,包括独立按键的原理、LED的亮灭控制、避免按键抖动、二进制显示以及LED的移位功能,通过实例展示了如何处理硬件接口和实现简单的逻辑操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

大家好吖,欢迎来到 YY 滴单片机系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁
主要内容含:
在这里插入图片描述

欢迎订阅 YY滴C++专栏!更多干货持续更新!以下是传送门!

一.前置操作

1.独立按键介绍

  • 如图三所示,红色和黄色区域接触部分;当按钮按下时,图二中所示的金属片会将两部分(四引脚)链接;

在这里插入图片描述

2.独立按键的原理图图与电平状态

  • 独立按键的原理图,注意
  • 我们在MCU的原理图中可以找到与其链接的L口
  • 单片机上电时,所有L口默认是 高电平;所以当按键按下时,L口就变为 低电平(接了独立按键的地线)

在这里插入图片描述

3.开发板图查询:对应独立按键,LED和MCU的原理图,找对应接口控制

  • 我们根据开发图,发现P3.0~3.3控制按键;P2控制LED在这里插入图片描述

4.按键寄存器:利用【寄存器检测IO电平并返回的性质】

  • 寄存器写一个值,它会送到L口上
  • 寄存器也会检测这个L口的电平,然后再重新读回寄存器中
  • 在这次独立按键实验中的现象就是:独立按键按下,寄存器值为0;松开寄存器值为1;
  • 反应到代码中即是
    在这里插入图片描述

5.LED:寄存器P2——>8位控制,P2_n——>1位控制

  • 右击头文件,点击打开
    在这里插入图片描述
  • 我们可以看到P2_0~7分别单独控制1位,一共控制8位
  • 我们既可以通过8位控制LED,也可以1位1位单独控制
    在这里插入图片描述
  • 1位控制:
    在这里插入图片描述
  • 8位控制: (不支持二进制直接转换,要换成十六进制)
    在这里插入图片描述

二.【控制LED亮灭】

  • 完整代码如下所示:
  • 烧写步骤可见博主【LED的三个基本项目(LED点亮&LED闪烁&LED流水灯)】关于烧写的部分:传送门
#include <REGX52.H>


void main(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY的秘密代码小屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值