单片机独立键盘按键系列代码问题

2019-07-15 13:49发布

如以下代码,我想通过按下k1键来让数码管从数字2进行自增
但是无法实现,求大神解答问题出在哪里?
#include<reg52.h>
               
sbit key1=P2^0;
//sbit key2=P2^1;

char table1[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void main()
{


  if(key1==0)
  {
  P0=~table1[2]++;
  }

}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
djmac
1楼-- · 2019-07-16 10:53
贺文武 发表于 2016-5-28 12:40
}

#include<reg52.h>
               
sbit k1=P2^0;
//sbit key2=P2^1;

char table1[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void main()
{
char i;
for(i=0;i<16;i++)
{
P0=0;
if(k1==0)
{
i=0;
P0=~table1;
i++;
}
}
}

这么写完之后 数码管显示的数字一直是8 按下k1键数字也不自增啊
电小龙
2楼-- · 2019-07-16 14:21
你的按键处理也不对,你这相当于按下去后,key一直是等于0的,然后单片机以很快的速度在一直执行显示循环,这肯定不行的
电小龙
3楼-- · 2019-07-16 15:09
你说说你想要的功能,我帮你改改
djmac
4楼-- · 2019-07-16 19:20
 精彩回答 2  元偷偷看……
djmac
5楼-- · 2019-07-16 19:50
电小龙 发表于 2016-5-29 10:36
你说说你想要的功能,我帮你改改

可以实现么?
电小龙
6楼-- · 2019-07-16 19:59
djmac 发表于 2016-5-29 20:41
可以实现么?

可以啊,现在还需要吗?最近有事没有登论坛

一周热门 更多>