久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機實現不同按鍵不同功能源程序 按鍵延遲
[打印本頁]
作者:
xuehai0405
時間:
2019-6-18 11:35
標題:
51單片機實現不同按鍵不同功能源程序 按鍵延遲
家里的壁掛管線機的一個程序,有2個抽水泵,一個是水位計控制水箱水泵,水位計是SW,有水位1,無水0。另外一個泵就是排水水泵,按鍵按下之后排水開始,然后延時關閉。加熱也是一樣,按下加熱,延時關閉。現在的問題是,水位計自動上下水的程序寫了之后,按鍵就會有點延遲,必須要長按才能有反應,這個是與水位計有水位長期觸發按鍵有關。還有就是,按鍵1按下后,馬上再按按鍵2,是沒有反應的,必須要按鍵1的程序執行完之后再按按鍵2才有反應。
想知道怎么樣才能讓按鍵水位各不干擾,按下執行程序再按別的按鍵能同時執行別的程序。
單片機源程序如下:
void main()
{
while(1)
{
if(sw==0) //sw水位開關 無水位1秒后抽水
{
delay(1000);
if(sw==0)
{
sb1=1; //泵1運行
}
}
if(sw==1) //有水位1秒后關泵
{
delay(1000);
if(sw==1)
{
sb1=0; //泵1停止
}
}
if(aj1==0) //按鍵1
{
delay(10);
if(aj1==0)
{
while(!aj1);//等待按鍵釋放
sb2=1; //泵2運行
delay(5000);
sb2=0; //泵2停止
}
}
if(aj2==0) //按鍵2
{
delay(10);
if(aj2==0)
{
while(!aj2);//等待按鍵釋放
jr=1; //加熱運行
delay(15000);
jr=0; //加熱停止
}
}
}
}
復制代碼
作者:
bhjyqjs
時間:
2019-6-25 08:58
在定時器中斷中檢測按鍵,再置位相應標志,再在主程序中執行相應動作即可。
萬不可在程序中出現類似delay(1000); 之類的東西!
作者:
egypt
時間:
2019-6-25 10:18
多浪費個變量做按住的計時,main 循環中要加 delay_ms 以劃分時間片
按住計時大致寫法是:( 假設 按住時 key=0 ,松手時 key=1 。 key_count 是 s8 類型,初值為 0)
有了 key_count 就可以玩不少花樣,比方說去抖、判斷按下瞬間、判斷松開瞬間。而且 main 程序邏輯并未阻塞,只是靠 count 做計數,下述代碼對并發性事務毫無阻塞。
if( key==0)
{ if(key_count==0) do_press_key(); if(key_count<100) key_count++; }
else
{ if(key_count>0) do_release_key(); key_count=0; }
(補充:例如去抖需要8毫秒,并且 main 循環每 ms 呼叫上述代碼,就需要修改為下述形式
if( key==0)
{ if(key_count==8) do_press_key(); if(key_count<100) key_count++; }
else
{ if(key_count>8) do_release_key(); key_count=0; }
)
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日韩91
|
亚洲国产精品网站
|
在线免费观看a级片
|
国产视频1区
|
日日爽
|
国产精品性做久久久久久
|
欧美色综合一区二区三区
|
在线精品一区
|
国产一区 在线视频
|
国产精品夜夜夜一区二区三区尤
|
天天视频一区二区三区
|
国产一区日韩在线
|
视频1区2区
|
日本手机在线
|
国产综合网址
|
欧美精品在线免费观看
|
国产精品视频在线观看
|
亚洲国产激情
|
亚洲精品一区二区三区四区高清
|
日韩和的一区二在线
|
一区
|
久久新视频
|
欧美lesbianxxxxhd视频社区
|
免费观看成人性生生活片
|
国产一区二区三区不卡av
|
一级毛片中国
|
蜜桃免费一区二区三区
|
精品视频久久久久久
|
免费不卡一区
|
成人黄在线观看
|
国产精品一区二
|
国产91视频播放
|
国产精品久久久久久一级毛片
|
99这里只有精品
|
成人亚洲综合
|
自拍偷拍精品
|
亚洲日本国产
|
欧美日韩成人在线
|
国产成人精品免高潮在线观看
|
久久久精品黄色
|
成人高清视频在线观看
|