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

標題: 請教一個非常簡單的起保停電路 [打印本頁]

作者: 孤獨行者    時間: 2020-3-3 09:56
標題: 請教一個非常簡單的起保停電路
初學單片機想寫一個起保停電路,開始覺得很簡單(因為以前寫過PLC的),后來自己寫了發現單片機的掃描和PLC的不一樣不能像PLC的去寫,就是我寫了一個按鍵去置位一個位M0,while(M0)然后像讓下面的程序在這個WHILE里面一直循環,,然后我在用另一個按鍵去復位M0就可以這樣,但是現實中單片機去了執行WHILE里面的程序就不會跳出來執行掃描我另外一個按鍵了,,所以停不了這樣

作者: haierzaifei11    時間: 2020-3-3 13:59
下面的程序????沒有程序啊,你仔細看看中斷位置。設置合理不,我也不會
作者: 孤獨行者    時間: 2020-3-3 16:37
haierzaifei11 發表于 2020-3-3 13:59
下面的程序????沒有程序啊,你仔細看看中斷位置。設置合理不,我也不會

有啊,里面還有幾個根據輸入再去相應輸出的程序,中斷我也想過,,但是如果需要多個起保停的話,很明顯中斷是不行的
作者: f556    時間: 2020-3-3 17:31
好象是程序思路問題,這樣行不:
while(1)
{
   監測key0;  M0=1;
    while(M0)
    {
       處理key0;
     監測key1;  M0=0;
         while(M1)
               {  
                 處理key1;
           }

   }

作者: brew9    時間: 2020-3-3 18:28
你如果把while(M0)和按鍵判斷程序都放在主循環while(1)里,當用按鍵設置M0為1后,程序會永遠卡在while(M0)那,不會再響應其它代碼了。可以考慮把按鍵判斷放在中斷里面試試,或者在while(M0)里加入判斷使其能退出。
作者: sunxxxx3321    時間: 2020-3-3 19:41
單片機好多人被擋住被難住的入門條件就是這類的。
作者: sunxxxx3321    時間: 2020-3-3 19:49
這個問題難住了好多剛入門的!
你要反邏輯去寫;就是IF判斷停止按鈕是不是被按下,按下就復位M0。
沒有按下再判斷停止按鈕沒有按下與啟動按鈕被按下置位M0.
作者: 孤獨行者    時間: 2020-3-4 08:03
f556 發表于 2020-3-3 17:31
好象是程序思路問題,這樣行不:
while(1)
{

檢測哪里是IF語句嗎,
作者: 孤獨行者    時間: 2020-3-4 08:04
brew9 發表于 2020-3-3 18:28
你如果把while(M0)和按鍵判斷程序都放在主循環while(1)里,當用按鍵設置M0為1后,程序會永遠卡在while(M0) ...

中斷不行,如果需要多個這樣的程序就不太現實了
作者: 孤獨行者    時間: 2020-3-4 08:05
sunxxxx3321 發表于 2020-3-3 19:49
這個問題難住了好多剛入門的!
你要反邏輯去寫;就是IF判斷停止按鈕是不是被按下,按下就復位M0。
沒有按 ...

我就是新手
作者: f556    時間: 2020-3-4 10:48
孤獨行者 發表于 2020-3-4 08:03
檢測哪里是IF語句嗎,

是的,除了if判斷,可能還要消抖,我主要想說明的邏輯思路
作者: lrkeji1982    時間: 2020-3-4 11:31
不懂你的具體需求,起保停就兩個按鍵,一個開按鈕和一個關按鈕,一個輸出端口,
作者: sunxxxx3321    時間: 2020-3-7 09:23
while(1)
{   
};這個語句再程序里面最好只在主程序里用一次,做大循化用。一般你寫程序是要一遍一遍的執行的。這條就是讓你開啟程序一直循環,不然程序一遍就停了。就是像PLC里面程序是從上到下一邊一邊連續不停的掃描,卻沒有讓你寫這條程序段。是因為PLC已經默認寫好這條了。一般你要用到的多次循環或實時(就是你要一直判斷的條件)就要放到這里。




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