找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2113|回复: 4
打印 上一主题 下一主题
收起左侧

当按下K3键的时候怎么修改程序使得LED灯灭???

[复制链接]
跳转到指定楼层
楼主
ID:67897 发表于 2014-10-25 12:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define led P2
sbit k1=P0^0;
sbit k2=P0^1;
sbit k3=P0^2;
void delay10ms();
void main()
{
        uint i,j;
        j=0x01;
        while(1)
        {       
        P2=j;
                if(k1==0)
                {       
                        delay10ms();
                        if(k1==0)
                        {
                                j=_cror_(j,1);
                                while((k1==0)&&(i<50))
                                {
                                        delay10ms();
                                        i++;
                                }
                                i=0;
                        }
                }
                if(k2==0)
                {
                        delay10ms();
                        if(k2==0)
                        {
                                j=_crol_(j,1);
                                while((k2==0)&&(i<50))
                                {
                                        delay10ms();
                                        i++;
                                }
                                i=0;
                        }
                }
        }
        if(k3==0)
        {
                delay10ms();
                if(k3==0)
                {
                        P2=0x00;
                }
        }
}
void delay10ms(void)
{
        uchar a,b,c;
        for(a=1;a>0;a--)
                for(b=75;b>0;b--)
                        for(c=135;c>0;c--);
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:60266 发表于 2014-10-25 13:19 | 只看该作者
                if(k3==0)
                {
                        P2=0x00;
                }

改为

                if(k3==0)
                {
                        P2=0xff;
                }

评分

参与人数 1威望 +50 黑币 +50 收起 理由
admin + 50 + 50 共享资料的积分奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:67897 发表于 2014-10-25 13:33 | 只看该作者
heise 发表于 2014-10-25 13:19
if(k3==0)
                {
                        P2=0x00;

不行喔,按下K3键的时候还是没有反应
回复

使用道具 举报

地板
ID:60266 发表于 2014-10-25 13:41 | 只看该作者
把你的电路图贴出来看看
回复

使用道具 举报

5#
ID:63997 发表于 2014-11-18 00:32 | 只看该作者
不知道 你的问题 解决没有 问题很简单 因为你的k3按键扫描在主循环外面 程序永远都不可能检测到 k3的动作把if(!k3){delay10ms();if(!k3){P2 =0x00;}}这一段移到上面的括号里面 就有效咯
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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