久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 求指導單片機程序思路 三個輸入IO口,檢測低電平 [打印本頁]

作者: xhsh    時間: 2023-10-28 19:51
標題: 求指導單片機程序思路 三個輸入IO口,檢測低電平
各位好 我是小白
現在情況是這樣的,
我有三個輸入IO口,檢測低電平
1.自動程序(電機自動正反轉)
2.電機正轉
3.電機飯莊

我在主函數while里邊用了三個 if 語句
如果1是低電平  執行循環程序
如果2是低電平  執行電機正轉
如果3是低電平  執行電機反轉

但是我現在遇到的問題是點完1按鈕后他只運行了一個循環就不動了 ,我的想法是要求他一直執行該循環語句  直到斷電

我知道問題點出在哪里 但是就是不知道如何解決,請大家幫幫忙 提點一下


作者: xhsh    時間: 2023-10-28 19:51
對了是32單片機
作者: XLinliY.Zhang    時間: 2023-10-28 23:10
if(按鈕x按下)
  記錄狀態為x

if(時間到了)
   switch(x)
     case 正轉
     case 反轉
     case if(不是反轉)反轉else正轉
時間可以用定時器定時,或者while里面添加一個固定時間的循環,然后記錄循環次數
作者: 188610329    時間: 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    時間: 2023-10-29 08:11
樓主如果用的是普通按鈕而不是自鎖按鈕,就需要用一個變量記憶當前按鈕操作狀態,用這個變量控制后續運行狀態。否則按鈕松手就只能運行一個循環。當再次判斷3個按鈕時就都是高電平,電機就不能持續既定工作狀態。另外還需要有退出機制,否則除了斷電停不下來。
作者: xhsh    時間: 2023-10-29 09:41
這是我昨天寫的另一個(附件) 今天發現新的問題 在沒有給B3輸入低電平的情況下,循環程序開機就執行了,按下復位功能后,過一會又直接跳入xunhuan這段程序了

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

1.png

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

2.png

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

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

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

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




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 在线观看h视频 | 久久99精品久久 | 欧美一级片在线 | 国产免费高清 | av三级在线观看 | 欧美国产一区二区 | 国产精品3区| 99精品电影| 日韩精品a在线观看图片 | 国产精品久久久乱弄 | 成人网av| 亚洲欧美日韩在线 | av网站观看| 国产免费播放视频 | 精品久久视频 | 一区二区三区免费观看 | 天天操夜夜爽 | av网址在线播放 | 久久国内精品 | 国内精品一区二区 | 香蕉国产在线视频 | 国产精品一码二码三码在线 | 精品无码久久久久久国产 | 亚洲精品乱码久久久久久按摩观 | 国产又色又爽又黄又免费 | 久久国产精品99久久久久久丝袜 | 日韩av在线播 | 最新中文字幕久久 | 在线欧美一区 | 高清欧美性猛交 | 色在线免费 | 日本精品视频在线 | 久久这里只有精品首页 | 一区二区三区四区国产 | 亚洲在线免费 | 中文字幕 欧美 日韩 | 奇米四色在线观看 | 精品国产一区二区国模嫣然 | 91精品久久久久久久久久入口 | 欧美999| 亚洲一区二区免费电影 |