資源描述:
《labview課程設(shè)計(jì) 交通燈》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、北京師范大學(xué)第1章程序的設(shè)計(jì)1.1前面板的設(shè)計(jì)前面板是VI的用戶界面。創(chuàng)建VI時,通常應(yīng)先設(shè)計(jì)前面板,然后在前面板上創(chuàng)建輸入/輸出任務(wù)。本課程設(shè)計(jì)中前面板比較簡單,只需要用六盞燈、兩個時間顯示器、一個停止按鍵即可。其中的六盞燈,紅、黃、綠各兩盞,在控件選板中選擇指示燈,將它放在前面板合適的位置,單擊鼠標(biāo)右鍵,更改指示燈的屬性,改變指示燈的大小,做出一個合適的指示燈,依同樣的步驟可以做好另外五個,將六個燈均分為兩組,每組都包含紅黃綠三種顏色的燈,再用框?qū)⒚拷M燈框起來,做成一個交通燈。在每組交通燈合適的位置放置一個數(shù)值顯示控件作為交通燈的計(jì)時器。在前面板合適
2、的位置放置一個開關(guān)按鈕,控制循環(huán)的停止。這樣交通燈系統(tǒng)的前面板就做好了。面板設(shè)計(jì)如圖1-1所示。圖1-1交通燈前面板示意圖1.2定時信號的產(chǎn)生毫秒計(jì)時器在LabVIEW中的一個計(jì)時單元,它的圖標(biāo)與用途如圖3-2所示。在函數(shù)選板的【編程】→【定時】子選板中選擇時間計(jì)數(shù)器選定該單元。毫秒計(jì)數(shù)器對時間信號計(jì)數(shù),要產(chǎn)生一個一秒為單位的時間信號,所以還得用毫秒計(jì)數(shù)值除以1000,取商得到以秒為單位的時間信號。接線如圖1-3所示:116北京師范大學(xué)圖1-2時間計(jì)數(shù)器圖1-3時間計(jì)數(shù)器接線圖1.2時間信號的分段將得到的時間信號除以每個循環(huán)所用的時間70s,取余數(shù)。得到
3、的余數(shù)x的范圍為0<=x<70,當(dāng)0<=x<5時,條件滿足,執(zhí)行第一個條件結(jié)構(gòu)里面的程序,北黃和東紅燈點(diǎn)亮。當(dāng)5<=x<35時,條件滿足,執(zhí)行第二個條件結(jié)構(gòu)里的程序,北紅和東綠燈點(diǎn)亮。當(dāng)35<=x<40時,條件滿足,北紅和東黃燈點(diǎn)亮。當(dāng)40<=x<70時,x<40的條件不滿足,執(zhí)行條件結(jié)構(gòu)里面為假的程序,北綠和東紅燈點(diǎn)亮。時間分段的程序結(jié)構(gòu)如圖1-4所示。圖1-4時間分段程序這里用到了判定范圍并強(qiáng)制轉(zhuǎn)換控件,應(yīng)用這個控件可以判定輸入的數(shù)是否在上限和下限之間。它的圖標(biāo)和作用如圖1-5所示。如果輸出信號在范圍之內(nèi),“?”接口將產(chǎn)生一個信號,此信號恰可以輸入到
4、條件結(jié)構(gòu)作為分支選擇器信號。圖1-5判定范圍并強(qiáng)制轉(zhuǎn)換控件1.3各組時間信號的動作116北京師范大學(xué)條件結(jié)構(gòu)是LabVIEW最基本的結(jié)構(gòu)之一,條件結(jié)構(gòu)類似于文本編程語言中的switch語句或者if…then…else語句。條件結(jié)構(gòu)可以從【結(jié)構(gòu)】子選板中創(chuàng)建,它的圖標(biāo)及功能如圖1-6所示。圖1-6條件結(jié)構(gòu)在條件結(jié)構(gòu)中,選擇端口相當(dāng)于switch語句中的“表達(dá)式”,框圖表示符相當(dāng)于“表達(dá)式n”。編程時,將外部控制條件連接至選擇端口上,程序運(yùn)行時選擇端口會判斷送來的控制條件,引導(dǎo)選擇結(jié)構(gòu)執(zhí)行相應(yīng)框架中的內(nèi)容。在本程序中的控制條件為從判定范圍并強(qiáng)制轉(zhuǎn)換“?”端口
5、輸出地判斷值。當(dāng)各組條件滿足時,將執(zhí)行各條件結(jié)構(gòu)里的程序。每個條件結(jié)構(gòu)里的程序基本相同。用需要點(diǎn)亮的燈與布爾真常量連接,不需要點(diǎn)亮的與布爾假常量連接,而時間顯示器則用一定的值減去輸入的時間量,以實(shí)現(xiàn)倒計(jì)時的功能,各結(jié)構(gòu)里的程序略有不同,具體程序如圖1-7到圖1-10所示。第一階段:余數(shù)在0至5秒之間,此時東紅和北黃兩個燈點(diǎn)亮,向東方向的時間顯示器東燈顯示為離紅燈熄滅的時間(從6s到1s),向北方向的時間顯示器北燈顯示為離黃燈熄滅的時間(從6s到1s)。116北京師范大學(xué)圖1-7條件結(jié)構(gòu)1第二階段:當(dāng)北黃燈點(diǎn)亮5秒后,即余數(shù)大于5并且小于35時,條件結(jié)構(gòu)2
6、條件滿足,北紅和東綠兩個燈點(diǎn)亮,向東方向的時間顯示器顯示離東綠(通行)熄滅的時間(從30s到1s),向北方向的顯示離紅燈(禁止通行)熄滅的時間(從35s到6s)。圖1-8條件結(jié)構(gòu)2第三階段:當(dāng)東綠燈點(diǎn)亮30秒后,即余數(shù)大于35并且小于40時,條件結(jié)構(gòu)3條件滿足,東黃燈點(diǎn)亮,而北紅未到熄滅的時間,繼續(xù)點(diǎn)亮。向東方向的時間顯示器顯示離東黃(準(zhǔn)備轉(zhuǎn)換)熄滅的時間(從6s到1s),向北方向的繼續(xù)顯示離紅燈(禁止通行)熄滅的時間(從6s到1s)。116北京師范大學(xué)圖1-9條件結(jié)構(gòu)3第四階段:當(dāng)北黃燈點(diǎn)亮5秒后,即余數(shù)大于40并且小于70時,條件結(jié)構(gòu)4為假的條件滿足
7、,北綠和東紅兩個燈點(diǎn)亮,向東方向的時間顯示器顯示離東紅(禁止通行)熄滅的時間(從35s到6s),向北方向的顯示離綠燈(通行)熄滅的時間(從30s到1s)。圖1-10條件結(jié)構(gòu)43.4循環(huán)的設(shè)計(jì)LabVIEW中的循環(huán)結(jié)構(gòu)主要通過while和for循環(huán)實(shí)現(xiàn)。這兩種循環(huán)的功能基本相同,但使用上有一些差別。for循環(huán)必須確定循環(huán)次數(shù),循環(huán)一定次數(shù)后自動退出循環(huán);而while循環(huán)不用確定循環(huán)次數(shù),只需要指定退出循環(huán)的條件。本次課程設(shè)計(jì)中循環(huán)的次數(shù)不能確定,所以就用到了while循環(huán)。LabVIEW中的while循環(huán)相當(dāng)于C語言中的while循環(huán)和do…while循環(huán)
8、。116北京師范大學(xué)While循環(huán)可以從程序框圖中的【結(jié)構(gòu)】子選板中創(chuàng)建,whi