找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在按键计数时,为何我按一次键它计数几次

[复制链接]
跳转到指定楼层
楼主
ID:109892 发表于 2016-5-14 19:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问我错在哪里,我也有加按键消抖处理
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit k0=P2^0;
uint i;
uchar code segcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar wei[]={0xef,0xdf,0xbf,0x7f};
void delay(uint z)
{
uint x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--);
}

void main()
{
       
        if(k0==0)
        {
                delay(10);
                while(1)
        {
                        if(k0==0)
                        {
                               
                                P2=wei[0];
                        P0=segcode[i];
                                delay(100);
                       
       
                               
                        }
                        i++;
                                if(i==9)i=0;
        }
       
                               
        }
}



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

使用道具 举报

沙发
ID:7485 发表于 2016-5-14 20:13 | 只看该作者
可能,一是按键质量不好。二是消抖延时不够。适当加大延时试一试。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:120455 发表于 2016-5-14 20:55 | 只看该作者
if(k0==0)
                        {
                                
                                P2=wei[0];
                        P0=segcode[i];
                                delay(100);
                         while(k0==0)
                           {}
                        }

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:94827 发表于 2016-5-14 23:05 | 只看该作者
没加松手检测

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:74868 发表于 2016-5-15 15:25 | 只看该作者
把延时加长点

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:97438 发表于 2016-5-16 14:25 | 只看该作者
抖动啊。。。你看看消抖处理。。。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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