zoukankan      html  css  js  c++  java
  • 51单片机实现单键重复按键检测

    /*****************************************************************************
    Copyright: 2013-07-27.version1.0
    File name: key.c
    Description: 自己做的单键识别实现重复按键功能
    Author:
    Version: version1.0
    Date: 2013.7.27
    History: 无
    *******************************************************/
    #include <reg51.h>
    sbit key=P0^0;
    int num=0;

    /*************************************************
    Function: delay_press()
    Description: 键按下时的延时的功能
    Calls: 无
    Called By: key_test()
    Table Accessed: 无
    Table Updated: 无
    Input: void
    Output: 无
    Return: 1->按下
         0->松开
    Others: 无
    *************************************************/
    int  delay_press(void)
    {
     int press=1;
     int i,j;
     for(i=0;i<255;i++)
      for(j=0;j<255;j++)
       press=1;
     press=0;
     return press;
    }

    /*************************************************
    Function: delay()
    Description: 延时的功能
    Calls: 无
    Called By: key_test()
    Table Accessed: 无
    Table Updated: 无
    Input: void
    Output: 无
    Return: void
    Others: 无
    *************************************************/
    void delay(void)
    {
     int i,j;
     for(j=0;j<25;j++)
      for(i=0;i<25;i++);
    }

    /*************************************************
    Function: key_test()
    Description: 单键识别功能
    Calls: delay()
    Called By: main()
    Table Accessed: 无
    Table Updated: 无
    Input: void
    Output: num,按键按一次num自加一
    Return: void
    Others: 无
    *************************************************/
    void key_test(void)
    {
     if(!key)
     {
      delay();
      if(!key)
      {
       num++;
       if(num>255)
       num=0; 
      }
     }while(delay_press()); 
    }
    /*************************************************
    Function: main()
    Description: 程序的主函数
    Calls: key_test()
    Called By: 无
    Table Accessed: 无
    Table Updated: 无
    Input: void
    Output: 无
    Return: void
    Others: 无
    *************************************************/
    void main(void)
    {
     //int i;
     while(1)
     {
      key_test();
      P2=~num; 
     }
    }

  • 相关阅读:
    Mvc的路由
    Java编程思想——第14章 类型信息(一)RTTI
    让你的sql开启氮气加速
    CountDownLatch和CycliBarrier介绍
    Java编程思想——第21章 并发
    emojy表情的小问题
    ThreadPoolExecutor使用方法
    Java8两大特性(一)——Stream
    js保留两位小数(不四舍五入)
    vant popup能不能插在body下
  • 原文地址:https://www.cnblogs.com/luxiaolai/p/3219914.html
Copyright © 2011-2022 走看看