标题:
大神帮我看下这个灯的单片机程序 按下后等延时30面要怎么改。这里面的延时现在变成...
[打印本页]
作者:
maidezhu
时间:
2017-5-9 22:04
标题:
大神帮我看下这个灯的单片机程序 按下后等延时30面要怎么改。这里面的延时现在变成...
大神帮我看下程序后面一个是按下后等延时30面要怎么改。这里面的延时现在变成了消抖了。是不是不能用while来写啊。
#include <STC15W4K.h>
#include"delay.h"
#define on 1
#define off 0
sbit SW1=P1^0;
sbit SW2=P1^1;
sbit SW3=P3^0;
sbit SW4=P1^2;//定义开关接口
sbit L=P2^6;
sbit Y=P2^7;//输出脚
main(){
while(1)
{
if(SW1!=SW2!=SW3)L=off;//SW1与SW2与SW3不相等时亮
(随便三个按键都可以控制开灯关灯)
else L=on; //否则灭灯
if(SW4==off) //sw4与off不相等时亮
(按下这个按键后灯开后面延时30秒)
Y=off;
{
delay_ms(1); //延时
(这个延时变成按键的消抖了而不是电灯的延时控制)
Y=on; //时间到后灯灭
(这里想延时30秒后关灯。但是不会影响上一个程序)
}
}
}
作者:
zl2168
时间:
2017-5-10 10:39
重新换了一个马甲,“30面”怎么还没换?
作者:
maidezhu
时间:
2017-5-10 14:02
zl2168 发表于 2017-5-10 10:39
重新换了一个马甲,“30面”怎么还没换?
30秒哈哈哈打错了
作者:
微微的笑
时间:
2017-5-10 15:53
main(){
while(1)
{
if(SW1!=SW2!=SW3)L=off;//SW1与SW2与SW3不相等时亮 (随便三个按键都可以控制开灯关灯)
else L=on; //否则灭灯
if(SW4==off) //sw4与off不相等时亮 (按下这个按键后灯开后面延时30秒)
{
Y=off;
for(i=0;i<300;i++)
{
delay_ms(100); //延时 (这个延时变成按键的消抖了而不是电灯的延时控制)
} Y=on; //时间到后灯灭 (这里想延时30秒后关灯。但是不会影响上一个程序)
}
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1