电子产业一站式赋能平台

PCB联盟网

搜索
查看: 1911|回复: 0
收起左侧

单片机C语言实例-224-独立按键去抖动

[复制链接]
发表于 2022-3-1 10:56:02 | 显示全部楼层 |阅读模式
单片机C语言实例-224-独立按键去抖动

/*-----------------------------------------------
  名称:独立按键
  公司:上海浩豚电子科技有限公司
  编写:师访
  日期:2009.5
  修改:无
  内容:切换到独立按键模式,通过按键在数码管显示对应的数字
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit key1=P3^0;   //定义按键位置
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3;
/*------------------------------------------------
                    延时子程序
------------------------------------------------*/
void delay(unsigned int cnt)
{
while(--cnt);
}
/*------------------------------------------------
                    主函数
------------------------------------------------*/
main()
{


P2=0x00;
while(1)
      {
      if(!key1)
         {  //按下相应的按键,数码管显示相应的码值
         delay(1000);
         if(!key1)
           {
               P0=0x06;//数码管显示"1"
            }
                 }
      if(!key2)
         {  //按下相应的按键,数码管显示相应的码值
         delay(1000);//去抖动
         if(!key2)   //检测按键确实按下,进行按键处理
           {
               P0=0x5B;//数码管显示"2"
                   //这里可以添加按键按下所需要的操作,如数据加减乘除,蜂鸣器等设备开关
            }
                  }
      if(!key3)
         {  //按下相应的按键,数码管显示相应的码值
         delay(1000);
         if(!key3)
           {
               P0=0x4F;//数码管显示"3"
                   }
                  }
      if(!key4)
         {  //按下相应的按键,数码管显示相应的码值
         delay(1000);
         if(!key4)
           {
               P0=0x66;//数码管显示"4"
            }
         }
      }
}

更多详情参考附件文档

+08:00C163联盟网8228.png
游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

发表回复

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

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表