找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3785|回复: 0
打印 上一主题 下一主题
收起左侧

单片机独立按键延时消抖源程序

[复制链接]
跳转到指定楼层
楼主
ID:701095 发表于 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)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表