欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 求指導(dǎo)單片機(jī)程序思路 三個(gè)輸入IO口,檢測(cè)低電平 [打印本頁(yè)]

作者: xhsh    時(shí)間: 2023-10-28 19:51
標(biāo)題: 求指導(dǎo)單片機(jī)程序思路 三個(gè)輸入IO口,檢測(cè)低電平
各位好 我是小白
現(xiàn)在情況是這樣的,
我有三個(gè)輸入IO口,檢測(cè)低電平
1.自動(dòng)程序(電機(jī)自動(dòng)正反轉(zhuǎn))
2.電機(jī)正轉(zhuǎn)
3.電機(jī)飯莊

我在主函數(shù)while里邊用了三個(gè) if 語(yǔ)句
如果1是低電平  執(zhí)行循環(huán)程序
如果2是低電平  執(zhí)行電機(jī)正轉(zhuǎn)
如果3是低電平  執(zhí)行電機(jī)反轉(zhuǎn)

但是我現(xiàn)在遇到的問題是點(diǎn)完1按鈕后他只運(yùn)行了一個(gè)循環(huán)就不動(dòng)了 ,我的想法是要求他一直執(zhí)行該循環(huán)語(yǔ)句  直到斷電

我知道問題點(diǎn)出在哪里 但是就是不知道如何解決,請(qǐng)大家?guī)蛶兔?提點(diǎn)一下


作者: xhsh    時(shí)間: 2023-10-28 19:51
對(duì)了是32單片機(jī)
作者: XLinliY.Zhang    時(shí)間: 2023-10-28 23:10
if(按鈕x按下)
  記錄狀態(tài)為x

if(時(shí)間到了)
   switch(x)
     case 正轉(zhuǎn)
     case 反轉(zhuǎn)
     case if(不是反轉(zhuǎn))反轉(zhuǎn)else正轉(zhuǎn)
時(shí)間可以用定時(shí)器定時(shí),或者while里面添加一個(gè)固定時(shí)間的循環(huán),然后記錄循環(huán)次數(shù)
作者: 188610329    時(shí)間: 2023-10-29 01:35
unsigned char status;

void main()
{
    while(1)
    {
         if(P10 == 0)  status =0;
         if(P11 == 0)  status =1;
         if(P12 == 0)  status =2;
         switch(status)
         {
                case 0:
                //xxxxxxxxxxxxxxxxxxxxx
                break;
                case 1:
                //xxxxxxxxxxxxxxxxxxxxx
                break;
                case 2:
                //xxxxxxxxxxxxxxxxxxxxx
                break;
                default:
                break;
         }
    }
}
作者: wulin    時(shí)間: 2023-10-29 08:11
樓主如果用的是普通按鈕而不是自鎖按鈕,就需要用一個(gè)變量記憶當(dāng)前按鈕操作狀態(tài),用這個(gè)變量控制后續(xù)運(yùn)行狀態(tài)。否則按鈕松手就只能運(yùn)行一個(gè)循環(huán)。當(dāng)再次判斷3個(gè)按鈕時(shí)就都是高電平,電機(jī)就不能持續(xù)既定工作狀態(tài)。另外還需要有退出機(jī)制,否則除了斷電停不下來(lái)。
作者: xhsh    時(shí)間: 2023-10-29 09:41
這是我昨天寫的另一個(gè)(附件) 今天發(fā)現(xiàn)新的問題 在沒有給B3輸入低電平的情況下,循環(huán)程序開機(jī)就執(zhí)行了,按下復(fù)位功能后,過一會(huì)又直接跳入xunhuan這段程序了

1.png (91.14 KB, 下載次數(shù): 36)

1.png

2.png (28.07 KB, 下載次數(shù): 31)

2.png

作者: xhsh    時(shí)間: 2023-10-29 09:44
XLinliY.Zhang 發(fā)表于 2023-10-28 23:10
if(按鈕x按下)
  記錄狀態(tài)為x

和時(shí)間沒有關(guān)系的,就是跳入不了循環(huán)程序 后邊我自己試著寫另一個(gè)方法 雖然實(shí)驗(yàn)成功了  但是發(fā)現(xiàn)了另一個(gè)問題 頭大了  您可以幫忙看看我下邊回復(fù)了一個(gè)帖子 那是另一種問題
作者: 大漠落日    時(shí)間: 2023-10-29 11:32
這個(gè)不難,小問題,
作者: xhsh    時(shí)間: 2023-10-30 16:09
wulin 發(fā)表于 2023-10-29 08:11
樓主如果用的是普通按鈕而不是自鎖按鈕,就需要用一個(gè)變量記憶當(dāng)前按鈕操作狀態(tài),用這個(gè)變量控制后續(xù)運(yùn)行狀 ...

是的 是的 我現(xiàn)在想要停下就直接拔電源         您有辦法推薦嗎  
作者: xhsh    時(shí)間: 2023-10-30 16:10
大漠落日 發(fā)表于 2023-10-29 11:32
這個(gè)不難,小問題,

有解決方案嗎 可以給點(diǎn)建議嗎
作者: yzwzfyz    時(shí)間: 2023-11-1 16:43
1、做個(gè)10ms中斷。
2、每次中斷讀入三個(gè)端口狀態(tài)存入NEW,與變量LAST(是上次讀入的數(shù)據(jù),初化設(shè)置為全1)做比較。
2.1、NEW = LAST:什么也不做。
2.2、NEW <> LAST (有變化了),按照你的邏輯執(zhí)行。(改變運(yùn)行狀態(tài),正、反、停。)
3、令 LAST = NEW,為下次比較輸入作依據(jù)。
更高級(jí)一點(diǎn),加入按鍵防彈動(dòng):(這個(gè)不在此詳細(xì)說(shuō)明)
加個(gè)計(jì)次,5次按鍵組合的數(shù)據(jù)相同,認(rèn)為是真實(shí)按鍵狀態(tài)。低于5次不作數(shù)(彈動(dòng))。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1