找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3706|回复: 14
收起左侧

怎么让单片机开发板一直按住K1键然后LED就亮着,松开后LED就灭

  [复制链接]
ID:454178 发表于 2018-12-28 00:50 | 显示全部楼层 |阅读模式

#include "reg52.h"               

typedef unsigned int u16;
typedef unsigned char u8;

sbit k1=P3^1;
sbit led=P2^0;
void delay(u16 i)
{
        while(i--);       
void keypros()
{
        if(k1==0)       
        {       
                delay(1000);
                if(k1==0)
                {

                        led=~led;
                }
                while(!k1)
        }               
}
void main()
{       
        while(1)
        {       
                keypros();
        }               
}
这代码是按一次就亮 再按一次就灭了,我想知道在哪个地方可以改,就达到我想要的那个长按就亮松开就灭

回复

使用道具 举报

ID:454178 发表于 2018-12-28 11:18 | 显示全部楼层
HC6800-ES-V2.0 发表于 2018-12-28 07:59
你的程序还有两个错误。
修改后就是你要的样子:
#include "reg52.h"               

谢谢 我做出来了,就是再删掉那个void delay那部分,就可以实现出来我想要的结果了。
回复

使用道具 举报

ID:454178 发表于 2018-12-28 11:20 | 显示全部楼层
谢谢各位大家 ,我买来开发板,由于好奇心,想改一下那种长按,结果不行,我才知道是缺少了那个if和else,,结果就弄了2天最后找不出来。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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