找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

怎么才能使合两次灯灭灯亮,c语言程序

查看数: 1316 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-11-11 16:06

正文摘要:

回复

ID:687694 发表于 2020-11-12 16:12
单键开关?
#include "reg51.h"
/*----------此程序仅作演示用,按键操作部分精简,并不十分严谨。-------------*/
int n=0;                 //按键去抖动状态变量
sbit key=P0^0;      //定义按键开关输入gpio
sbit led=P0^1;      //定义输出gpio,此处以led为例
void main(void)     //主函数
{
        while(1)                                 //主函数循环
               {
                 if(key==0)n++;            //按键按下,低电平有效
                 if(n>=100)n=100;         //当100个循环周期检测都为按下状态。则保持n值
                 if(n==100&&key==1)    //当按键抬起时,执行操作,并恢复初始态。
                          {
                            led=~led;          //输出状态为当前状态取反。如果现在是0,则输出改变为1,下一次则是0;如此循环。
                            n=0;                 //清除状态记录。
                           }
                 }
}

ID:833190 发表于 2020-11-12 11:59
什么是使合两次灯灭灯亮?是按键动一次灯亮,再动一次灯灭吗?

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

Powered by 单片机教程网

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