请各位大侠帮忙改下程序

[复制链接]
1707|5
 楼主| 麦才洋 发表于 2013-11-23 08:51 | 显示全部楼层 |阅读模式
要求: 当K1按钮开关按下时(未放开)K2.K3.K4同时也可以控制LED2.LED3.LED4 请各位大侠帮忙看看怎么   改我是新手请大侠指导  谢谢。。。程序如下:
   
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char counter;
sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit LED5=P0^4;
sbit LED6=P0^5;
sbit LED7=P0^6;
sbit K1=P2^0;
sbit K2=P2^1;
sbit K3=P2^2;
sbit K4=P2^3;
/********延时**************/
void DelayMS(uint x)
{
  uchar i;
while(x--) for(i=0;i<120;i++);
   }
/*****************主程序**********/
void main()
{
  P0=0xff;
  P2=0xff;
while(1)
{
  LED2=K2;
  LED3=K3;
  LED4=K4;
  LED1=K1;
  LED5=K1;
if(K1==0)
{
while(K1==0);//等待按键释放
  counter++;
if(counter>=20)
    LED6=0;
if(counter>=10)
    LED7=0;
  }
DelayMS(10);
}

ayb_ice 发表于 2013-11-23 09:08 | 显示全部楼层
// 要求: 当K1按钮开关按下时(未放开)K2.K3.K4同时也可以控制LED2.LED3.LED4
// 请各位大侠帮忙看看怎么   改我是新手请大侠指导  谢谢。。。程序如下:

#include<reg51.h>

#define uchar unsigned char
#define uint unsigned int

unsigned char counter;

sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit LED5=P0^4;
sbit LED6=P0^5;
sbit LED7=P0^6;

sbit K1=P2^0;
sbit K2=P2^1;
sbit K3=P2^2;
sbit K4=P2^3;

/********延时**************/
void DelayMS(uint x)
{
        uchar i;

        while(x--){
                for(i=0;i<120;i++){

                }
        }
}

/*****************主程序**********/
void main()
{
        bit b;
        bit k;

        P0=0xff;
        P2=0xff;

        b = K1;

        while(1)
        {
                LED2=K2;
                LED3=K3;
                LED4=K4;

                LED1=K1;
                LED5=K1;

                k = K1;
                if(k != b && !k)
                {
                        counter++;
                        if(counter>=20){
                                LED6=0;
                        }
                        if(counter>=10){
                                LED7=0;
                        }
                }

                b = t;

                DelayMS(10);
        }
}

评分

参与人数 1威望 +2 收起 理由
麦才洋 + 2 赞一个!

查看全部评分

 楼主| 麦才洋 发表于 2013-11-23 09:22 | 显示全部楼层
ayb_ice   这句是什么意思啊  b = t;   我编译出来说这句错误
ayb_ice 发表于 2013-11-23 10:26 | 显示全部楼层
麦才洋 发表于 2013-11-23 09:22
ayb_ice   这句是什么意思啊  b = t;   我编译出来说这句错误

改为
b = k;
即可
dirtwillfly 发表于 2013-11-23 12:25 | 显示全部楼层
额,ayb_ice老大真给力
 楼主| 麦才洋 发表于 2013-11-23 13:00 | 显示全部楼层

ayb_ice 非常感谢程序可以用谢谢。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

25

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部