AT89C51单片机学习日记2024/4/2

本文介绍了如何使用51单片机通过P1_0口连接LED灯,P3_2口连接独立按键,实现按键控制LED状态的实验过程。通过延时函数处理按键抖动,确保状态切换准确。
摘要由CSDN通过智能技术生成

                                                   利用独立按键控制LED状态

实验目的:利用利用独立按键控制LED状态

实验接法:LED灯接51单片机P1_0口,独立按键接单片机P3_2口,利用独立按键控制LED灯状态

实验现象:按键按下时LED灯状态不变(灭),松开时LED灯亮起;再次按键按下时LED灯状态不变(亮);松开按键LED灯灭(检测按键松开不是按下)

实验代码:

#include <REGX52.H>
//延时函数{
void Delay(unsigned int xms)
{
    unsigned char i, j;
    while(xms)
    {
        i = 2;
        j = 239;
        do
        {
            while (--j);
        } while (--i);
        xms--;
    }
}
//延时函数}
int main(void)
{

    while(1)
    {
        if(P3_2==0)            //检测按键按下,没按时单片机默认高电平,按下单片机变低电平
        {
            Delay(20);        //延时消除抖动
            while(P3_2==0);    // 循环检测按键是否被持续按下
            Delay(20);        //延时消除抖动
            
            P1_0=~P1_0;        //检测到按键松开,将LED灯一端电平取反,实现状态控制
    
        }
    }
}

   

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值