找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:833190 发表于 2020-11-12 11:59 | 只看该作者
什么是使合两次灯灭灯亮?是按键动一次灯亮,再动一次灯灭吗?
回复

使用道具 举报

板凳
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;                 //清除状态记录。
                           }
                 }
}

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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