打印

请各位大侠帮忙改下程序

[复制链接]
1277|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;
即可

使用特权

评论回复
5
dirtwillfly| | 2013-11-23 12:25 | 只看该作者
额,ayb_ice老大真给力

使用特权

评论回复
6
麦才洋|  楼主 | 2013-11-23 13:00 | 只看该作者

ayb_ice 非常感谢程序可以用谢谢。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

25

帖子

0

粉丝