中易网

c51单片机怎么用两个按键控制两个数码管的加减,加到99就好,求程序

答案:1  悬赏:70  
解决时间 2021-01-13 03:47
  • 提问者网友:轮囘Li巡影
  • 2021-01-12 05:08
c51单片机怎么用两个按键控制两个数码管的加减,加到99就好,求程序
最佳答案
  • 二级知识专家网友:封刀令
  • 2021-01-12 05:36
#include
void delay(unsigned int i); //这个函数自己写出来
int key = 0;
sbit key1 = P?? ;//哪个管教不知道
sbit key2 = P/?;
sbit ge = P??;
sbit shi = P??;
//此表为 LED 的字模, 共阴数码管 0-9 -
unsigned char code tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};

void keykey()
{
if(key1 == 1)//默认高电平是按键按下
{
delay(5);
if(key1 == 1)
{
key++;
}
}

else if(key2 == 1)//默认高电平是按键按下
{
delay(5);
if(key2 == 1)
{
key--;
}
}
if(key >99) //防止越界 也可以用与的方式写 key &= 0x63;这句话就能顶了下面俩判断
key = 0;
else if(key < 0)
key = 99;

}
void display(int x)
{
P0 = tap[x%10];
ge = 1;
delay(10);
ge = 0;
delay(10);
P0 =tap[x/10];
shi = 1;
delay(10);
shi = 0;
delay(10);
}
void main(void)
{
while(1)
{
display(key);
keykey();
}
}追问这个程序编译出来很多错误啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息