色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽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