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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1865|回復: 10
打印 上一主題 下一主題
收起左側

求指導單片機程序思路 三個輸入IO口,檢測低電平

[復制鏈接]
跳轉到指定樓層
樓主
ID:1093559 發(fā)表于 2023-10-28 19:51 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
各位好 我是小白
現(xiàn)在情況是這樣的,
我有三個輸入IO口,檢測低電平
1.自動程序(電機自動正反轉)
2.電機正轉
3.電機飯莊

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

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

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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:1093559 發(fā)表于 2023-10-28 19:51 | 只看該作者
對了是32單片機
回復

使用道具 舉報

板凳
ID:771630 發(fā)表于 2023-10-28 23:10 | 只看該作者
if(按鈕x按下)
  記錄狀態(tài)為x

if(時間到了)
   switch(x)
     case 正轉
     case 反轉
     case if(不是反轉)反轉else正轉
時間可以用定時器定時,或者while里面添加一個固定時間的循環(huán),然后記錄循環(huán)次數(shù)
回復

使用道具 舉報

地板
ID:624769 發(fā)表于 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;
         }
    }
}
回復

使用道具 舉報

5#
ID:213173 發(fā)表于 2023-10-29 08:11 | 只看該作者
樓主如果用的是普通按鈕而不是自鎖按鈕,就需要用一個變量記憶當前按鈕操作狀態(tài),用這個變量控制后續(xù)運行狀態(tài)。否則按鈕松手就只能運行一個循環(huán)。當再次判斷3個按鈕時就都是高電平,電機就不能持續(xù)既定工作狀態(tài)。另外還需要有退出機制,否則除了斷電停不下來。
回復

使用道具 舉報

6#
ID:1093559 發(fā)表于 2023-10-29 09:41 | 只看該作者
這是我昨天寫的另一個(附件) 今天發(fā)現(xiàn)新的問題 在沒有給B3輸入低電平的情況下,循環(huán)程序開機就執(zhí)行了,按下復位功能后,過一會又直接跳入xunhuan這段程序了

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

1.png

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

2.png
回復

使用道具 舉報

7#
ID:1093559 發(fā)表于 2023-10-29 09:44 | 只看該作者
XLinliY.Zhang 發(fā)表于 2023-10-28 23:10
if(按鈕x按下)
  記錄狀態(tài)為x

和時間沒有關系的,就是跳入不了循環(huán)程序 后邊我自己試著寫另一個方法 雖然實驗成功了  但是發(fā)現(xiàn)了另一個問題 頭大了  您可以幫忙看看我下邊回復了一個帖子 那是另一種問題
回復

使用道具 舉報

8#
ID:195496 發(fā)表于 2023-10-29 11:32 | 只看該作者
這個不難,小問題,
回復

使用道具 舉報

9#
ID:1093559 發(fā)表于 2023-10-30 16:09 | 只看該作者
wulin 發(fā)表于 2023-10-29 08:11
樓主如果用的是普通按鈕而不是自鎖按鈕,就需要用一個變量記憶當前按鈕操作狀態(tài),用這個變量控制后續(xù)運行狀 ...

是的 是的 我現(xiàn)在想要停下就直接拔電源         您有辦法推薦嗎  
回復

使用道具 舉報

10#
ID:1093559 發(fā)表于 2023-10-30 16:10 | 只看該作者

有解決方案嗎 可以給點建議嗎
回復

使用道具 舉報

11#
ID:123289 發(fā)表于 2023-11-1 16:43 | 只看該作者
1、做個10ms中斷。
2、每次中斷讀入三個端口狀態(tài)存入NEW,與變量LAST(是上次讀入的數(shù)據(jù),初化設置為全1)做比較。
2.1、NEW = LAST:什么也不做。
2.2、NEW <> LAST (有變化了),按照你的邏輯執(zhí)行。(改變運行狀態(tài),正、反、停。)
3、令 LAST = NEW,為下次比較輸入作依據(jù)。
更高級一點,加入按鍵防彈動:(這個不在此詳細說明)
加個計次,5次按鍵組合的數(shù)據(jù)相同,認為是真實按鍵狀態(tài)。低于5次不作數(shù)(彈動)。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线小视频 | 国产三级在线播放 | 国产第一福利 | 福利视频网站 | 日本aaaa| 亚洲资源在线 | 亚洲欧美视频 | 成人网av| 日韩免费视频 | 中文字幕一区在线观看 | 干干干操操操 | 国产日韩免费 | 日韩不卡一区 | 亚洲天堂一区二区三区 | 久久av在线 | 久久久久免费 | 亚洲成人精品 | 91精品免费视频 | 成年人午夜视频 | 国产美女自拍 | 日韩新片王网 | 久在线视频| 久久精品国产亚洲 | 日韩三级久久 | 国产女人水真多18毛片18精品 | 精品国产久 | 欧美激情一区二区三区 | 欧美一级片免费看 | 久久激情小说 | 能看毛片的网站 | 香蕉视频一区二区三区 | 欧美日韩在线观看视频 | 久久久精品国产sm调教 | 欧美日本在线 | 91福利片 | 欧美日韩四区 | 午夜久久精品 | 五月网站 | 免费精品 | 手机在线免费看av | 精久久久久 |