標(biāo)題:
單片機(jī)一個(gè)按鍵控制調(diào)用不同程序的設(shè)計(jì)思路是什么?
[打印本頁(yè)]
作者:
忍樹(shù)
時(shí)間:
2019-1-5 20:06
標(biāo)題:
單片機(jī)一個(gè)按鍵控制調(diào)用不同程序的設(shè)計(jì)思路是什么?
求解一個(gè)按鍵控制調(diào)用不同程序
作者:
xuyaqi
時(shí)間:
2019-1-6 10:14
可以用短按與長(zhǎng)按來(lái)區(qū)分。
作者:
dzbj
時(shí)間:
2019-1-6 10:19
一種方法是聲明n個(gè)標(biāo)記 比如if(flag_1==1)就執(zhí)行 執(zhí)行完畢自己把標(biāo)記清零 有多少個(gè)需要執(zhí)行的就聲明多少個(gè)標(biāo)記
作者:
wulin
時(shí)間:
2019-1-6 11:21
本帖最后由 wulin 于 2019-1-6 16:12 編輯
給你一個(gè)單鍵控制多任務(wù)的子函數(shù)示例
void Choice()
{
static unsigned char i=0;
unsigned int j;
if(!Key)//鍵按下
{
j=2000;
while(j--);//按鍵消抖
if(!Key)//確認(rèn)鍵按下
{
if(++i>n)//按鍵次數(shù)計(jì)數(shù)
i=0;
while(!Key);//等待按鍵松手
switch(i)//多分支執(zhí)行任務(wù)
{
case 0: /*停止所有任務(wù)*/; break;
case 1: /*任務(wù)1*/; break;
case 2: /*任務(wù)2*/; break;
case 3: /*任務(wù)3*/; break;
......
......
case n: /*任務(wù)n*/; break;
}
}
}
}
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1