|
大神幫我看下程序后面一個(gè)是按下后等延時(shí)30面要怎么改。這里面的延時(shí)現(xiàn)在變成了消抖了。是不是不能用while來(lái)寫啊。
#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;//定義開關(guān)接口
sbit L=P2^6;
sbit Y=P2^7;//輸出腳
main(){
while(1)
{
if(SW1!=SW2!=SW3)L=off;//SW1與SW2與SW3不相等時(shí)亮 (隨便三個(gè)按鍵都可以控制開燈關(guān)燈)
else L=on; //否則滅燈
if(SW4==off) //sw4與off不相等時(shí)亮 (按下這個(gè)按鍵后燈開后面延時(shí)30秒)
Y=off;
{
delay_ms(1); //延時(shí) (這個(gè)延時(shí)變成按鍵的消抖了而不是電燈的延時(shí)控制)
Y=on; //時(shí)間到后燈滅 (這里想延時(shí)30秒后關(guān)燈。但是不會(huì)影響上一個(gè)程序)
}
}
}
|
|