【2019年整理】循環(huán)labview系列教程之六_第1頁
【2019年整理】循環(huán)labview系列教程之六_第2頁
【2019年整理】循環(huán)labview系列教程之六_第3頁
【2019年整理】循環(huán)labview系列教程之六_第4頁
【2019年整理】循環(huán)labview系列教程之六_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、06、循環(huán) While循環(huán) I. While循環(huán)是一種結(jié)構(gòu),它重復(fù)執(zhí)行代碼片段直到滿足某種條件為止。它可比作傳統(tǒng) 語言中的Do Loop或Repeat Un til循環(huán)。它位于編程宀結(jié)構(gòu)宀 Whi le循環(huán)。每個(gè) While循 環(huán)都有一個(gè)條件端子和一個(gè)重復(fù)端子。如圖: 雖:未旬名1程序框團(tuán)* 文件(日編輯直看凹項(xiàng)目(E)操作工具(D宙口倒幫助 匣可1.1呱畫闊 U僭1 / 両 應(yīng)用程序字體 AVR與虛擬儀器 / 重復(fù)端子 While循環(huán) 條件端子 重復(fù)端子用于記錄和輸出已執(zhí)行的循環(huán)的次數(shù),條件端子輸入的是一個(gè)布爾變量:真 或假,While循環(huán)將一直執(zhí)行到連接條件端子上的布爾值變成真或假為止,取

2、決于條件端子 設(shè)置為“真(T)時(shí)停止”還是“真(T)時(shí)繼續(xù)”。在條件端子上單擊右鍵即可進(jìn)行更改。 如圖: AVR與虛擬儀器 創(chuàng)建當(dāng)拉 創(chuàng)遂輸入控件 創(chuàng)建顯示控件 下面舉個(gè)簡(jiǎn)單的例子:利用 While循環(huán)產(chǎn)生隨機(jī)數(shù),當(dāng)產(chǎn)生的隨機(jī)數(shù)大于 0.8時(shí),循 環(huán)停止。 步驟如下: 1.打開前面板,新建兩個(gè)數(shù)值顯示控件,一個(gè)為循環(huán)次數(shù),一個(gè)顯示最后產(chǎn)生的那個(gè) 大于0.8的隨機(jī)數(shù)。如圖: 菲GE 1 li面袒* 2. 切換到程序框圖,放置一個(gè)While循環(huán),如圖 XWE)編規(guī)査看他項(xiàng)目迢操作(Q)工具CD 窗口訊 亟 列111剣藍(lán) 舌一廚13懐應(yīng)用程序 灑壞次數(shù)I 3. 放置隨機(jī)數(shù)函數(shù)到 While循環(huán)內(nèi),并

3、連線,如圖: 文件f巳漏輯駕看防項(xiàng)樂巳操件Q)工具窗口匹 兩雇I 丨岡3啓酥砸 I I - ” I 一 JI - . . . ”., 4. 放置比較函數(shù),將循環(huán)次數(shù)與重復(fù)端子連線,如圖: 隨機(jī)數(shù)I O.B 備環(huán)次數(shù)I A未侖名1程序IOS* A耒命名1前面牧* 文件編輯(町查看(Y)項(xiàng)目(E)操作工具窗口讓 0|刮悄冋塚豆衛(wèi)| 廻殛用程序 AVR與虛擬儀器 5.運(yùn)行,即可在前面板上看到結(jié)果,如圖: 丈件(日騙輯查看加項(xiàng)目僧皆 |戈鏗|匕叵| 1敢應(yīng)用程 AVR與虛擬儀器 循環(huán)次數(shù) 15 在程序框圖中,在數(shù)值顯示控件上單擊右鍵,可更改數(shù)值的類型,如圖: 0.99756E 範(fàn)機(jī)數(shù) 文件巳編輯【孕查

4、看co 項(xiàng)目 BfefF(Q)工具(: 鹵口 妙粘助(to “ 不闔冋両底llUcd:.未命名1程序框圖* 文件(日輪輯查看加項(xiàng)目(臼操作 工貝(I)窗口(創(chuàng)耕助 .門|3g應(yīng)用程序字修、|可刁喬 顯示項(xiàng) 幫助 范例 侃明和提示小 設(shè)置斷點(diǎn) 結(jié)構(gòu)選板 7自動(dòng)擴(kuò)展? AVR與虛擬儀器 添抑移位寄存器 替換為FodJf環(huán) 替換対定時(shí)循環(huán) 刪際Whiled環(huán) y夏(D時(shí)停止 文(D時(shí)讎?yán)m(xù) 有關(guān)位移寄存器的用法,我們將會(huì)在For循環(huán)中講到,這里暫不做介紹。 注意:While循環(huán)的條件端子一定要有連線,否則程序無法運(yùn)行!如圖: :未命名f程序框國(guó)* 文件遷 養(yǎng)看側(cè)項(xiàng)目回操作工真窗口 n(W p? L!

5、II i創(chuàng)痢駛帥應(yīng)用程丿 AV R與虛擬儀器 #錯(cuò)誤列表 For循環(huán) 1. For循環(huán)位于函數(shù)t編程t結(jié)構(gòu)t For循環(huán),如圖: P未命名丄琨序框闈* 文件巳輪輯 査看怕取目(巴 操作(0工具(!)窗口 (妙幫瞅也 屈曾1 HDI畫 上-1沖t應(yīng)用程序宇樣* | i I 問r 、計(jì)數(shù)端子 AVR與虛擬儀器 7 5 運(yùn)行程序,便可在前面板上看到結(jié)果。 6.因?yàn)槌绦虻倪\(yùn)行的速度非常快,我們無法一個(gè)一個(gè)地看清所產(chǎn)生的10個(gè)隨機(jī)數(shù),我們可 以在程序框圖中添加時(shí)間延遲控件。它位于函數(shù)t編程 t定時(shí)t時(shí)間延遲,如圖: xwe anw gff(y)j毀悝)TJun (*)Bb(h) EHEJ ffl ffi

6、 El W4(ffl53 s 卩卿和詳舉H3L, AVR與虛擬儀器 B E 日術(shù)聞娶” ess 略觀 7.放置它到程序框圖上,選擇延遲的時(shí)間,即兩次循環(huán)之間的時(shí)間間隔。如圖: EoHEI m 時(shí)間延遲 立件 編輯查看笛項(xiàng)目(巳慄作(Q)工具CD 窗口酗幫助(也 0廚叵|甬1闕血初由供師程序宇萍1*| AVR與虛擬儀器 www. a vr Viacom 1 A配查時(shí)鴻廷遲L耐間廷遲 兇 延遲時(shí)間 I10001 確定1職消 8將時(shí)間設(shè)置為1.000,點(diǎn)擊確定即可,再運(yùn)行程序就可從前面板上看到所產(chǎn)生的隨 機(jī)數(shù)了。 移位寄存器 移位寄存器用于 For循環(huán)或While循環(huán)中從一個(gè)迭代傳輸數(shù)據(jù)到下一個(gè)迭代

7、,它由循 環(huán)垂直邊框上一對(duì)反向相反的端子組成,在邊框上單擊右鍵, 選擇添加移位寄存器, 就可進(jìn) 行添加。如圖: 未命名1程序框圖* 文件(日蝙輯(或查看加項(xiàng)蟲臼操作工具(I)窗口(妙稱助 .1劇曾屬師 雨咼口甸廚I和謳用程序宇體莎喬 AVR與虛擬儀器 右端子(帶向上箭頭的矩形)在每完成一次迭代后存儲(chǔ)數(shù)據(jù),移位寄存器將上次迭代 的存儲(chǔ)數(shù)據(jù)在下一次迭代開始時(shí)移動(dòng)到左端子(具有向下箭頭的矩形)上。移位寄存器可存 儲(chǔ)任何數(shù)據(jù)類型,包括數(shù)字,布爾,字符串和數(shù)組,但連接到同一個(gè)寄存器端子上的數(shù)據(jù)必 須是同一類型。移位寄存器的類型與第一個(gè)連接到其端子之一的對(duì)象數(shù)據(jù)類型相同。 初始化 初始值 a -*3 第一

8、砍迭代 型初始值| 3 -E 新值 護(hù)虛擬儀器 第n次迭代 iUij-tss 新佰 Si BJ F面是1 + 2 + 3 + 4+-+ 100的程序,如圖: )編輯查看(幻項(xiàng)肌 r名1前面板1 AVR與虛擬儀器 說明:進(jìn)行第一次運(yùn)算的是0+0, For循環(huán)中的重復(fù)端子是從 0開始計(jì)數(shù),移位即寄存 器在沒有初始化的情況下,默認(rèn)的數(shù)值是0,所以第一次運(yùn)算的是0+0,第二次運(yùn)算的是寄 存器的0與重復(fù)端子的1相加,所以循環(huán)要進(jìn)行101次。而計(jì)數(shù)端子輸出的數(shù)據(jù)始終是101。 移位寄存器的初始化:移位寄存器的初始化是非常必要的,因?yàn)橹灰脩舨煌顺鯲I, 移位寄存器便可記錄上次運(yùn)算完時(shí)的結(jié)果,所以上面的程序

9、在第二次執(zhí)行時(shí)輸出的結(jié)果不是 5050,而是10100 !添加初始化即可,如圖: 11 下面在舉幾個(gè)復(fù)雜一點(diǎn)的例子。 例一:計(jì)算一組隨機(jī)數(shù)的最大值和最小值 1. 新建一個(gè)VI,在前面板上放置一個(gè)波形圖標(biāo),它位于新式T圖形T波形圖表,用它 來記錄產(chǎn)生的隨機(jī)數(shù)。同時(shí)在前面板上放置兩個(gè)數(shù)值顯示控件“最大值”和“最小 值”,用來顯示隨機(jī)數(shù)中的最大值和最小值。 2. 在程序框圖中,放置一個(gè) For循環(huán),設(shè)置循環(huán)次數(shù)為 50次。單擊邊框選擇添加兩個(gè) 移位寄存器,分別初始化為 0和1。 3. 放置隨機(jī)數(shù)函數(shù)和最大最小值函數(shù)與程序框圖中,其中最大最小值函數(shù)位于編程t 比較t最大值與最小值。然后連線。如圖: E

10、oJ- EJ EFEJ A.V R扁虛擬儀器 運(yùn)行,便可在前面板上看到結(jié)果,如圖: n 例二:計(jì)算a x! x 1. 在前面板上放置一個(gè)數(shù)值輸入控件“階次n”和一個(gè)數(shù)值顯示控件“求和結(jié)果” 2. 在程序框圖上放置兩個(gè)For循環(huán)嵌套結(jié)構(gòu),外層循環(huán)的計(jì)數(shù)端口與“階次 n”連接, 輸出是各個(gè)數(shù)的階乘所組成的一個(gè)數(shù)組。它的重復(fù)端子加1作為內(nèi)層循環(huán)的循環(huán)次 數(shù),內(nèi)層循環(huán)利用一個(gè)移位寄存器實(shí)現(xiàn)階乘運(yùn)算,移位寄存器的初始值設(shè)為1。 3. 同樣在程序框圖的右邊在放置一個(gè)For循環(huán)結(jié)構(gòu),它的計(jì)數(shù)端子沒有任何連接數(shù)據(jù), 使用的是自動(dòng)索引功能。這個(gè)循環(huán)的作用是對(duì)由階乘所組成的一個(gè)數(shù)組進(jìn)行索引, 對(duì)索引出的各個(gè)元素進(jìn)

11、行求和計(jì)算,最后將計(jì)算結(jié)果輸出給“求和結(jié)果”。 4. 完成連線,如圖: AVR與虛擬儀器 11111 算法:e : 1 直到:105 1! 2! 3!n!n! 步驟: 1. 新建一個(gè)VI,打開前面板,添加兩個(gè)數(shù)字顯示控件,分別表示“近似值e”和“臨界階 次N。 2. 切換到程序框圖,放置一個(gè)While循環(huán),將條件端子的條件改為“真時(shí)停止”。在 它內(nèi)部再放置一個(gè) For循環(huán),計(jì)數(shù)端子與 While循環(huán)結(jié)構(gòu)的重復(fù)端子加1后連接。 右擊For循環(huán)邊框,添加移位寄存器,并初始化為1,F(xiàn)or循環(huán)結(jié)構(gòu)的功能是計(jì)算各 個(gè)數(shù)的階乘。 3. 計(jì)算各個(gè)數(shù)階乘的倒數(shù),添加倒數(shù)函數(shù),它位于函數(shù)t編程t數(shù)值t倒數(shù)。 4

12、. 添加比較函數(shù),將它的階乘的倒數(shù)與10A-5比較,比較結(jié)果連接到 While循環(huán)結(jié)構(gòu) 的條件端子上,如果小于則返回“真”,停止循環(huán),否則返回“假”繼續(xù)循環(huán)。 5. 由于While循環(huán)默認(rèn)的是不能夠自動(dòng)索引功能,而程序中需要累加保存每次計(jì)算的 階乘,這就需要在輸出通道上選擇“啟用索引”,實(shí)現(xiàn)自動(dòng)索引,將各個(gè)元素累加 成為一維數(shù)組。 6. 在程序框圖右邊再添加一個(gè)For循環(huán),它的功能是進(jìn)行自動(dòng)索引求和,需要主機(jī)的 是它的移位寄存器被初始化為1,這是由近似算法所決定的。將輸出結(jié)果送給“近 似值e”。 7. 完成連線,并運(yùn)行程序。如圖: AVR與虛擬儀器 www a 1巴 .0m 打 J7 J 運(yùn)行結(jié)果,如圖: 17 1. 新建一個(gè)VI,在前面板上放置兩個(gè)波形圖表,一個(gè)為“原始波形”,一個(gè)為“濾波 后波形”。 2. 在程序框圖上放置一個(gè) While循環(huán),在邊框添加一個(gè)移位寄存器,然后在左邊的寄 存器上單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論