du2914 发表于 2023-3-11 19:47:38

求助两个按键控制显示加减

这个程序哪里有问题啊无法实现两个按键控制数码管的加减

//一个按键控制多种灯模式
#include<reg51.h>
#include<math.h>
#include<intrins.h>

sbit S1=P1^0;//S1数码管加按键
sbit S2=P1^1;//S2数码管减按键

//函数名:delay
//函数功能:实现软件延时
//形式参数:整型变量i,控制循环次数
//返回值:无
void delay (unsigned int i)
{
        unsigned int k;
        for (k=0;k<i;k++);
}
void main( )
{
    unsigned char i=0;
        P0=0xff;
        while (1)
        {
          if (S1==0)
          {
                    delay(1200);
                  if(S1==0)
                  {
                   if(++i==12)
                     i=1;
                  }
          }
          if (S2==0)
          {
                    delay(1200);
                  if(S2==0)
                  {
                   if(--i==1)
                     i=1;
                  }
          }
                switch(i)
                {
                case 1:P0=0Xc0;break;
                case 2:P0=0Xf9;break;
                case 3:P0=0Xa4;break;
                case 4:P0=0Xb0;break;
                case 5:P0=0X99;break;
                case 6:P0=0X92;break;
                case 7:P0=0X82;break;
                case 8:P0=0Xf8;break;
                case 9:P0=0X80;break;
                case 10:P0=0X90;break;
                case 11:P0=0Xff;break;
                default:break;
                }
                while(!S1);
                while(!S2);
                delay(1200);
        }

}


页: [1]
查看完整版本: 求助两个按键控制显示加减