标题: 单片机独立按键延时消抖源程序 [打印本页]

作者: cj23436    时间: 2020-5-14 18:43
标题: 单片机独立按键延时消抖源程序
单片机之独立按键处理情况

单片机源程序如下:
  1. #include "STC15F2K60S2.h"
  2. #include <intrins.h>
  3. sbit buzzer = P0^6;
  4. void keycan(void);
  5. void delayms(unsigned int xms);

  6. void main()
  7. {
  8.         P2=0xa0;buzzer=0;P2=0x00;// close the buzzer
  9.         while(1)
  10.         {
  11.                         keycan();
  12.         }
  13. }

  14. void keycan()
  15. {
  16.         if(P30==0)
  17.         {
  18.                 delayms(5);
  19.                 if(P30==0)
  20.                 {
  21.                         P2=0X80;P0=0XFE;P2=0X00;
  22.                 }
  23.           while(!P30);//松手检测
  24.         }       
  25.         if(P31==0)
  26.         {
  27.                 delayms(5);
  28.                 if(P31==0)
  29.                 {
  30.                         P2=0X80;P0=0XFD;P2=0X00;
  31.                 }
  32.           while(!P31);//松手检测
  33.         }
  34.         if(P32==0)
  35.         {
  36.                 delayms(5);
  37.                 if(P32==0)
  38.                 {
  39.                         P2=0X80;P0=0X00;P2=0X00;
  40.                 }
  41.           while(!P32);//松手检测
  42.         }
  43.         if(P33==0)
  44.         {
  45.                 delayms(5);
  46.                 if(P33==0)
  47.                 {
  48.                         P2=0X80;P0=0XFF;P2=0X00;
  49.                 }
  50.           while(!P33);//松手检测
  51.         }                         
  52. }

  53. void delayms(int xms)
  54. {
  55.         unsigned char i,j;
  56.         for(i=xms;i>0;i--)  //b=200; 199; 198
  57.         for (j=500;j>0;j--);
  58. }
复制代码

所有资料51hei提供下载:
独立按键.rar (37.23 KB, 下载次数: 11)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1