请教一下STC单片机1秒钟内按2下按钮开关LED灯亮代码怎样写啊

请教一下STC单片机1秒钟内按2下按钮开关LED灯亮代码怎样写啊,第1张

很简单的。

循环(1){

检测按键,等待按下

发现按下后,延时消抖,等待释放,然后执行下面的循环;

循环(1){ //循环检测1秒钟

 发现按下后,灯亮,等待释放,然后就跳出循环;

 延时10ms

 次数加一

 次数不到100,继续循环

 到了100(即冲烂册1s了),关散宏灯,然后就跳出循环;

历大}

}

#include<reg51.h>

unsigned char times

sbit key=P1^0

sbit led=P1^4

void delay(unsigned char a)

{

unsigned char i,j

for(i=0i<兄型ai++)

for(j=0j<羡尘猜兄敏120j++)

}

main()

{

led=1

while(1)

{

if(key==0)

{

while(key==0)

times++

times%=3

}

switch(times)

{

case 0:led=1break

case 1:led=0break

case 2:led=~leddelay(100)break

default:break

}

}

}

#include“reg52.h”

#include“delay.h”

// 定义按键 KEY_0~KEY_6  对隐旅应P1^0~P1^6

sbit KEY_0 = P1^0

sbit KEY_1 = P1^1

sbit KEY_4 = P1^4

sbit KEY_5 = P1^5

sbit KEY_6 = P1^6

// 定义灶岁凳LED _7~LED_3 对应P2^7~P2^3

sbit LED_7 = P2^7

sbit LED_ 6= P2^6

sbit LED_ 5= P2^5

sbit LED_ 4= P2^4

sbit LED_ 3= P2^3

void main ( ) {

while(1){

if (!KEY_0 ) {      //  按键KEY_0被按

delayus(20);   //消抖动

    if (!KEY_0 雀唯) {       //确认被按下

       LED_7=~LED_7       //灯亮或灭

}

}

}

...... 其余一样即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/12300387.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存