打印

按键开关

[复制链接]
1704|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
帮忙改错啊。LED2个一红,一绿。还有一个K。K是接地的。通电时候绿LED一直亮。当按下K后绿的不亮红得亮

#include"reg51.h"
#define K p0^7
#define LED_BLUE p0^0
#define LED_RED p0^4
void scan_key(void);//用来控制LED_RED
void DelayMS(unsigned int x);
void main()
{
while(1)
{
if(K==0)
LED_BLUE=1;
scan_key();
else
LED_BLUE=0;
}
}
void scan_key(void)
{
unsigned int i;
for(i=0;i<10000;i++);
LED_RED=0;
DelayMS(50);
}
//延时
void DelayMS(unsigned int x)
{
uchar i;
while(x--) for(i=0;i<120;i++);
}

相关帖子

沙发
qingfeng17017|  楼主 | 2011-9-23 09:26 | 只看该作者
各位大侠帮忙看看。我新手自己写的。帮忙指导下

使用特权

评论回复
板凳
ayb_ice| | 2011-9-23 10:21 | 只看该作者
标准的51 P0口要加上拉电阻

使用特权

评论回复
地板
ayb_ice| | 2011-9-23 10:27 | 只看该作者
#include"reg51.h"

//#define K p0^7
//#define LED_BLUE p0^0
//#define LED_RED p0^4

sbit K        = P0^7;
sbit LED_BLUE = P0^0;
sbit LED_RED  = P0^4;

#define LED_ON                0
#define LED_OFF                (!LED_ON)

void scan_key(void);//用来控制LED_RED
void DelayMS(unsigned int x);

void main()
{
        while(1)
        {
                if(!K){
                        LED_RED  = LED_ON;
                        LED_BLUE = LED_OFF;
                }else{
                        LED_RED  = LED_ON;
                        LED_BLUE = LED_ON;
                }

                DelayMS(10);
        }
}


//延时
void DelayMS(unsigned int x)
{
        uchar i;

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

使用特权

评论回复
5
qingfeng17017|  楼主 | 2011-9-23 20:27 | 只看该作者
谢谢你的回答

使用特权

评论回复
6
qingfeng17017|  楼主 | 2011-9-23 20:33 | 只看该作者
if(!K){
                        LED_RED  = LED_ON;
                        LED_BLUE = LED_OFF;
                   }else{
                        LED_RED  = LED_ON;//.....
                        LED_BLUE = LED_ON;//.....

解释下//。。。。。那2行好吗???

使用特权

评论回复
7
ayb_ice| | 2011-9-24 08:12 | 只看该作者
if(!K){
                        LED_RED  = LED_ON;
                        LED_BLUE = LED_OFF;
                   }else{
                        LED_RED  = LED_ON;//.....
                        LED_B ...
qingfeng17017 发表于 2011-9-23 20:33

根据你的要求做的

使用特权

评论回复
8
hjs1618| | 2011-9-24 16:38 | 只看该作者
ayb_ice写的可读性真是好!

使用特权

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

本版积分规则

0

主题

12

帖子

1

粉丝