标题: 怎么才能使合两次灯灭灯亮,c语言程序 [打印本页]

作者: Lzzzj009    时间: 2020-11-11 16:06
标题: 怎么才能使合两次灯灭灯亮,c语言程序

作者: i_could_have    时间: 2020-11-12 11:59
什么是使合两次灯灭灯亮?是按键动一次灯亮,再动一次灯灭吗?
作者: lovexulu    时间: 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;                 //清除状态记录。
                           }
                 }
}






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1