普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 965|回复: 0

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

[复制链接]

1

主题

1

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 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 10=0Xc0;break;
                case 20=0Xf9;break;
                case 30=0Xa4;break;
                case 40=0Xb0;break;
                case 50=0X99;break;
                case 60=0X92;break;
                case 70=0X82;break;
                case 80=0Xf8;break;
                case 90=0X80;break;
                case 100=0X90;break;
                case 11:P0=0Xff;break;
                default:break;
                }
                while(!S1);
                while(!S2);
                delay(1200);
        }

}


回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-26 14:16 , Processed in 0.086684 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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