天天看點

labview學習筆記之移位寄存器

作者:小趙愛舉鐵

德國著名數學家高斯幼年時代就聰明過人,在一次上課時老師布置了一道數學題:1+2+3+4+......+100=?,正在同學們都在埋頭作答時小高斯很快就給出了正确答案,原來聰明的小高斯将這個題目做了一個等價變形:1+2+3+4+.....+100=(1+100)*50=5050。令人不禁感歎人類大腦在處理、計算資料時的靈活性。相比較而言,計算機在處理、運算類似資料的時候就死闆的多,并不像我們想象的那麼“聰明”。但是在進行大量的數學運算時,計算機的運算速度是遠超人類的。

下面我們通過運用labview中的移位寄存器來實作同樣的計算,移位寄存器在使用的過程中要依附于for循環或while循環,主要作用是在循環的不同疊代之間傳遞資料。建立方法是在for循環或while循環邊框單擊右鍵,選擇添加移位寄存器即可。

labview學習筆記之移位寄存器

下面我們通過兩種方式計算1+2+3+4+......+100=?

labview學習筆記之移位寄存器

對比兩種實作方式不難發現在for循環中循環的停止條件為循環次數,而while循環是通過循環條件來控制循環是否停止,當for循環的循環接線端為0時,循環可以一次都不執行,但while循環至少要執行一次循環。

移位寄存器還有很多典型的用法例如下圖的狀态機:

labview學習筆記之移位寄存器
labview學習筆記之移位寄存器

我們在做一些測試流程稍複雜一點的上位機軟體時,狀态機還是比較好用的。程式中枚舉常量通過while循環連接配接移位寄存器,最後連接配接條件結構的分支選擇器,單擊前面闆的開始按鈕,程式從step1至step4逐漸執行,在執行到step4時進入到累加計數階段,數值從0到255逐漸遞增,當數值達到255時重新開始計數。

重點總結:1.移位寄存器的作用是在不同的循環疊代之間傳遞資料。

2. 不能單獨運作,要基于循環結構才能正常運作,并且要賦初始值。

3. 比較常用于狀态機、循環計數。

繼續閱讀