标题:
单片机程序求助:按下开关3S,红灯亮,持续时间为3s,再次按下开关熄灭
[打印本页]
作者:
琲世
时间:
2020-8-5 16:39
标题:
单片机程序求助:按下开关3S,红灯亮,持续时间为3s,再次按下开关熄灭
目前大致的代码我已经写完了,就是不知道如何实现第二次按下开关小灯熄灭,求大佬支援!
单片机源程序如下:
#include "STC15.h"
#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t
typedef unsigned char uint8_t;
typedef unsigned int uint16_t;
typedef unsigned long uint32_t;
sbit KEY=P5^5;
sbit RED=P1^2;
u16 T=0;
void main(void)
{
while(1)
{
if(KEY==0)
{
TMOD=0x00;
TH0=0xB8;
TL0=0X00;
TR0=1;
if(TF0==1)
{
TF0=0;
TH0=0xB8;
TL0=0X00;
T++;
}
if(T>=150)
{
TR0=0;T=0;RED=0;
}
}
}
}
作者:
mffhxa
时间:
2020-8-5 21:17
在倒数第3个括号里加两条语句就可以了:while(KEY==1);RED=1; 第一条语句是按键没按下停在这,按键按下退出执行下一条语句关灯,再加个时延。
作者:
wuziForevergod
时间:
2020-8-6 10:18
在里面加一个循环当关闭的时候摁键关灯。
作者:
我么得感情
时间:
2020-8-6 16:33
你设置一个变量啊,按下一次变量加1,执行亮灯的程序,然后再按一次,变量再加1,执行灭灯的程序,然后把变量清零。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1