#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
// P2口为十位,P3口为个位
sbit kk1 = P1^0; //按键输入;
sbit kk2 = P1^1; //按键输入;
uchar code table[11] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xff};
//共阳数码管显示
void Delay(uint x)
{
while(x--);
}
void Display(uchar k)
{
if (k / 10 == 0) P2 = table[10]; //显示空白
else P2 = table[k / 10]; //显示十位
P3 = table[k % 10]; //显示个位
Delay(5);
}
void main()
{
uchar v=5;
while(1)
{
P1=0xff;
if(!kk1) //判断kk1是否按下
{
Display(v);
if(!kk1) //再次判断kk1是否按下
{
while(!kk1); //等待kk1释放
v++;
if(v>99)v=0;
}
}
if(!kk2)
{
Display(v);
{
if(!kk2)
{
while(!kk2);
{
v--;
if(v<1)v=99;
}
}
}
}
Display(v);
}
}
|