標題:
想用單片機做一個延時電路,卻沒有思路
[打印本頁]
作者:
林森
時間:
2018-11-26 11:01
標題:
想用單片機做一個延時電路,卻沒有思路
按鈕1按下后過一段時間(比如2s)后,按下按鈕2,控制繼電器啟動,按鈕2按下后過一段時間(比如2s)后,按下按鈕1,控制繼電器啟動,我想理解怎么讓按鈕2知道按鈕1按下,有大佬可以給一下思路嗎,看一下程序
作者:
xuyaqi
時間:
2018-11-26 11:32
按鍵狀態(tài)應建一個標志,根據(jù)標志就知道那個按下,那個沒按下。
作者:
devcang
時間:
2018-11-26 12:32
全局變量,記住按鍵狀態(tài)
~~~~~~
作者:
ssk7793
時間:
2018-11-26 13:05
比較A1代表按鈕1的標志,A2代表按鈕2的標志,當按鈕1按下后,A1=1,按下按鈕2里,判斷A1=1的話就啟動繼電器 并讓A1=0
作者:
封小墨
時間:
2018-11-26 13:40
你的按鈕二不能自動按下吧,按鈕一按下2s后按鈕二按下的話,你寫個延時函數(shù)就可以啊
作者:
zhengaohui
時間:
2018-11-26 15:02
定義一個標志位,改變按鈕1的時候給標志位賦值就ok
作者:
qq1534646107
時間:
2018-11-26 15:43
最簡單的是在按鈕的程序時候定義標志位,根據(jù)標志位不同實現(xiàn)不同的功能。如果考慮到按下的時間就很復雜了
作者:
yzgxhld
時間:
2018-11-26 16:23
按下按鈕1后啟動定時器,當定時器超過2s后,持續(xù)查詢按鈕2狀態(tài),如果按鈕2按下,啟動繼電器
作者:
滅雷決88
時間:
2018-11-26 17:25
用單片機做延時電路,確實是浪費,還得編程。用555電路做就行,焊完電路通電就能用,方便很多。非要用單片機也行,你會編寫程序嗎,會編程就好辦了,用單片機延時是最簡單事了,延時的時間長短控制也非常靈活,范圍更大,延時一年都行,最短幾毫秒也行。
作者:
wbw8465132
時間:
2018-11-26 20:24
A2代表按鈕2的標志,當按鈕1按下后,A1=1,按下按鈕2里,判斷A1=1的話就啟動繼電器 并讓A1=0
作者:
LLIIf
時間:
2018-11-26 21:15
按鍵按下,看P口是什么情況,給按鍵編號,通過比較P口值判斷是幾號按鍵按下
作者:
花板子
時間:
2018-11-27 11:06
比較判斷嵌套,滿足第一個條件和第二個條件之后進行跳轉,可以跳轉到一個子程序去執(zhí)行你想要的功能。
作者:
yfpc2006
時間:
2018-11-27 16:38
//僅提供編程思路,代碼僅供參考,以51單片機為例:
sbit S1 Px.x
sbit S2 Px.x
bit S1_down_bit
bit S2_down_bit
if(S1 == 0) //按鈕1 按下
{
S1_down_bit = 1; //按鈕1 按下標志
}
if(S2 == 0) //按鈕2 按下
{
S2_down_bit = 1; //按鈕1 按下標志
}
if(S1_down_bit == 1) //按鈕1按下過,且在2秒內
{
if(S2 == 0) //按鈕2 按下
{
OUT1 = 1; //繼電器1輸出
}
}
if(S2_down_bit == 1) //按鈕2按下過,且在2秒內
{
if(S1 == 0) //按鈕1 按下
{
OUT2 = 1; //繼電器2輸出
}
}
//定時器中斷程序
void TIMx() interrupt 1 //配置成2秒定時器中斷
{
//清中斷標志
S1_down_bit = 0; //清0 按鈕1 按下標志
S2_down_bit = 0; //清0 按鈕2 按下標志
}
作者:
cjm82
時間:
2018-11-27 23:49
簡單的延遲功能用單片機確實有點浪費,555或者用分立原件加個LM358搭個RC延遲電路就能勝任了
作者:
董云交
時間:
2018-11-28 08:49
標志位
作者:
wendellyang
時間:
2018-11-28 09:55
使用定時器延時,仔細看下規(guī)格書
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1