色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

電子工程網

標題: 關于c51語言掃描信號的探討!! [打印本頁]

作者: suzhijun2005    時間: 2011-5-21 23:20
標題: 關于c51語言掃描信號的探討。!
本人前段時間為公司開發(fā)了一臺簡單型的自動化機械,是采用51單片機控制的。程序是用匯編語言寫的,目前運行都十分正常。這段時間學了一下c51語言,今天嘗試用c51語言來寫此機械的控制程序。發(fā)覺用c51語言寫掃描信號代碼十分的麻煩,嘗試了幾種方法都覺得寫起來吃力。最后試了下使用goto調轉指令來寫感覺還算滿意。但是如果采用goto調轉指令來寫,好像又回到匯編語言的感覺,完全失去了c51語言的特性。因本機械在運行中有多個信號需要在不同的地方掃描。為了增強程序在運行中的穩(wěn)定性都采用每個信號掃描兩次(即掃描第一次后延遲10ms再掃描第二次)比較結果后執(zhí)行相應代碼。比如說要掃描缺料信號掃描兩次后將會有0  0;1  1;0  1;和1  0這四狀態(tài)。假設0  0狀態(tài)為有料,程序將繼續(xù)執(zhí)行。如果是1  1狀態(tài)那就是缺料程序將調轉到停機代碼那里執(zhí)行停機控制。如果是0  1或1  0那就是信號有誤需重新掃描直至正確為止。也就是說兩次掃描的信號相同才執(zhí)行相應代碼,如不同重新掃描直至正確為止。本人除了使用goto調轉指令來寫比較簡單外,切實想不出有更加簡單的方法來寫?杀救擞植幌脒^多的采用goto調轉指令來寫(有關教材說c51語言多不采用goto調轉指令),請各位高手指教下應該用c51語言怎么來寫才更加簡單方便。!在此表示十分的感謝各位。。!
下面是我采用goto調轉指令來寫的代碼:
          sbit  P1_0=P1^0;
          if(P1_0==1) goto ypx;   //p1.0等于1轉到ypx處
          if(P1_0==0) goto ypx1;  //p1.0等于0轉到ypx1處
     ypx:
           yanshi(10);        //延遲10ms
           if(P1_0==0) goto ypx1;//如果第二次掃描等于0,表示信號有誤,調轉到ypx1再次掃描
          goto baohu;           //如果兩次掃描結果都等于1,表示缺料程序調轉到停機代碼處執(zhí)行停機
  
    ypx1:
            yanshi(10);      //延遲10ms
            if(P1_0==1) goto ypx; //如果第二次掃描等于1,表示信號有誤,調轉到ypx再次掃描
           語句1      // 如果兩次掃描結果都等于0,表示有料程序繼續(xù)往下執(zhí)行
           語句2
           語句N
作者: bapi0908    時間: 2011-5-24 08:36
bu
作者: lcj333    時間: 2011-5-24 14:15
為什么不用中斷掃描?10ms中斷一次,掃一次狀態(tài)
作者: suzhijun2005    時間: 2011-5-24 21:55
為什么不用中斷掃描?10ms中斷一次,掃一次狀態(tài)
lcj333 發(fā)表于 2011-5-24 14:15

請指教!怎么寫代碼最簡單和方便。。〈藱C器在運行中有多個信號需掃描,但不是同一時候。每運動一個動作都是根據掃出的結果而執(zhí)行相應的代碼。!
作者: sjmzll    時間: 2011-6-10 16:41
有時間看




歡迎光臨 電子工程網 (http://m.54549.cn/) Powered by Discuz! X3.4