【畢業(yè)論文】基于LabVIEW的多功能秒表設計(計時器+倒計時+節(jié)拍器+日歷+時鐘)_第1頁
【畢業(yè)論文】基于LabVIEW的多功能秒表設計(計時器+倒計時+節(jié)拍器+日歷+時鐘)_第2頁
【畢業(yè)論文】基于LabVIEW的多功能秒表設計(計時器+倒計時+節(jié)拍器+日歷+時鐘)_第3頁
【畢業(yè)論文】基于LabVIEW的多功能秒表設計(計時器+倒計時+節(jié)拍器+日歷+時鐘)_第4頁
【畢業(yè)論文】基于LabVIEW的多功能秒表設計(計時器+倒計時+節(jié)拍器+日歷+時鐘)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、曲幺建盪科隹之曙率紓孝虎畢業(yè)設計(論文)用紙第II頁第II頁基于LabVIEW的秒表設計摘要數(shù)字式秒表是一種常用的計時工具,廣泛用于各種比賽以及各類實驗測量中。隨著生活節(jié)奏的加快,人們時間觀念的加強,各種計時器已經(jīng)成為人們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,并且人們已?jīng)不能滿足于單一的某一種功能了。而如何在秒表的基礎上,根據(jù)人們生活的需要增加相應的功能以方便人們的生活,便成為秒表設計方面的重點。我基于LabVIEW設計的的秒表,具有秒表計時器、倒計時器、節(jié)拍器、時鐘和鬧鐘的功能。其具有界面美觀,簡單易用,功能強大,精確度高等特點。此秒表的所有功能均可以獨立運行,互不干擾,具有很好的用戶體驗。關鍵詞:秒

2、表,計時,LabVIEW曲幺建盪科隹之曙率詩孝戍畢業(yè)設計(論文)用紙曲幺建盪科隹之曙率詩孝戍畢業(yè)設計(論文)用紙曲幺建盪科隹之曙率詩孝戍畢業(yè)設計(論文)用紙第IV頁第IV頁第iii頁StopwatchdesignbasedonLabVIEWAbstractDigitalstopwatchisacommonlyusedtoolfortiming.ltiswidelyusedinvariouscompetitionsandavarietyofexperimentalmeasurements.Withtheacceleratedpaceoflifeandthestrengtheningoftheco

3、nceptoftime,varietytimerhasbecomeanindispensablepartofeverydaylife,andithasbeenunabletomeetonasinglefeatureofacertainkind.Ithasbecomethefocusofthestopwatchdesignthathowtoaddthecorrespondingfunctionaccordingtotheneedsofpeopleslivesbasedonthestopwatchtoconveniencetopeopleslives.StopwatchwitchIdesigned

4、basedonLabVIEW,iswithastopwatchtimer,countdowntimer,metronome,clockandalarmfunctions.Ithasabeautifulinterface,easytouse,powerful,highprecisioncharacteristics.Thisstopwatchallfunctionscanberunindependently,meanscanwithoutdisturbingeachother,andwithgooduserexperience.Keywords:stopwatch,timer,LabVIEWTO

5、C o 1-5 h z緒論1 HYPERLINK l bookmark10 1.1引言1 HYPERLINK l bookmark12 1.2虛擬儀器的概念及特點1 HYPERLINK l bookmark14 1.2.1虛擬儀器1 HYPERLINK l bookmark16 1.2.2虛擬儀器的特點1 HYPERLINK l bookmark18 圖形化編程和LabVIEW2 HYPERLINK l bookmark20 2.1圖形化編程簡介2 HYPERLINK l bookmark22 2.2LabVIEW簡介2 HYPERLINK l bookmark24 2.2.1前面板2 HYP

6、ERLINK l bookmark26 2.3.2程序框圖2 HYPERLINK l bookmark28 秒表介紹及程序設計3 HYPERLINK l bookmark30 3.1概述3 HYPERLINK l bookmark32 3.2秒表的發(fā)展3 HYPERLINK l bookmark34 3.3秒表的功能設計5 HYPERLINK l bookmark36 3.3.1.正計時5 HYPERLINK l bookmark50 3.3.2倒計時6 HYPERLINK l bookmark52 節(jié)扌白器6 HYPERLINK l bookmark54 時鐘與鬧鐘6 HYPERLINK l

7、 bookmark56 程序?qū)崿F(xiàn)7 HYPERLINK l bookmark58 4.1秒表計時器7曲幺建盪科隹之曙率紓孝虎畢業(yè)設計(論文)用紙曲幺建盪科隹之曙率紓孝虎畢業(yè)設計(論文)用紙第v頁第v頁 HYPERLINK l bookmark60 4.1.1流程圖7 HYPERLINK l bookmark62 4.1.2程序設計84.2倒計時器21 HYPERLINK l bookmark94 4.2.1流程圖21 HYPERLINK l bookmark96 4.2.2程序設計22 HYPERLINK l bookmark92 4.3節(jié)拍器25 HYPERLINK l bookmark10

8、0 4.3.1流程圖25 HYPERLINK l bookmark102 4.3.2程序設計26 HYPERLINK l bookmark98 4.4時鐘及鬧鐘284.4.1流程圖284.4.2程序設計28 HYPERLINK l bookmark104 總結(jié)31 HYPERLINK l bookmark106 致謝33站曲幺建盪科隹之曙率紓孝虎畢業(yè)設計(論文)用紙曲幺建盪科隹之曙率詩孝戍畢業(yè)設計(論文)用紙第 頁第 頁1緒論1.1引言LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā)的,類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計算機語言的顯著區(qū)別是:其他計算機

9、語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。1.2虛擬儀器的概念及特點1.2.1虛擬儀器LabVIEW程序又稱虛擬儀器,即VI,其外觀和操作均模仿現(xiàn)實儀器,如示波器和萬用表。每個VI都使用函數(shù)從用戶界面或其它渠道獲取信息輸入,然后將信息顯示或傳輸至其它文件或計算機。1.2.2虛擬儀器的特點根據(jù)概念創(chuàng)建者美國國家儀器公司(NationalInstruments)的定義,虛擬儀器(英語:Virtualinstrumentation)技術(shù)就是利用高性能的模塊化硬件,結(jié)合高效靈活的軟件來完成各種測試、測量和自動化的應用。只有同時擁有高效

10、的軟件、模塊化I/O硬件和用于集成的軟硬件平臺這三大組成部分,才能充分發(fā)揮虛擬儀器技術(shù)性能高、擴展性強、開發(fā)時間少,以及出色的集成這四大優(yōu)勢。圖形化編程和LabVIEW2.1圖形化編程簡介圖形化的程序語言,又稱為“G”語言。使用這種語言編程時,基本上不寫程序代碼,取而代之的是流程圖或框圖。它可以增強你構(gòu)建自己的科學和工程系統(tǒng)的能力,提供了實現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑。使用它進行原理研究、設計、測試并實現(xiàn)儀器系統(tǒng)時,可以大大提高工作效率。2.2LabVIEW簡介雙擊LabVIEW快捷圖標,出現(xiàn)啟動畫面,打開一個新的LabVIEW程序,可以看到它由兩個面板組成。第一個是前面板窗口;第二個是

11、后面板窗口。221前面板前面板由輸入控件和顯示控件組成。這些控件是VI的輸入輸出端口。輸入控件模擬儀器的輸入裝置,為VI的程序框圖提供數(shù)據(jù)。顯示控件模擬儀器的輸出裝置,用以顯示程序框圖獲取或生成的數(shù)據(jù)。2.3.2程序框圖前面板創(chuàng)建完畢后,便可使用圖形化的函數(shù)添加源代碼來控制前面板上的對象。程序框圖是圖形化源代碼的集合,圖形化源代碼又稱G代碼或程序框圖代碼。前面板上的對象在程序框圖中顯示為接線端。秒表介紹及程序設計3.1概述秒表是一種常用的測時儀器。又可稱機械停表。由暫停按鈕、發(fā)條柄頭、分針等組成。它是利用擺的等時性控制指針轉(zhuǎn)動而計時的。在它的正面是一個大表盤,上方有小表盤(圖1.42)。秒針沿

12、大表盤轉(zhuǎn)動,分針沿小表盤轉(zhuǎn)動。分針和秒針所指的時間和就是所測的時間間隔。在表正上方有一表把,上有一按鈕。旋動按鈕,上緊發(fā)條,這是秒表走動的動力。用大拇指按下按鈕,秒表開始計時;再按下按鈕,秒表停止走動,進行讀數(shù);再按一次,秒表回零,準備下一次計時。秒表的精度一般在0.10.2秒,計時誤差主要是開表、停表不準造成的。而使用labview制作的秒表,其精確度可達到1毫秒。3.2秒表的發(fā)展原始人憑天空顏色的變化、太陽的光度來判斷時間。古埃及發(fā)現(xiàn)影子長度會隨時間改變,發(fā)明日晷在早上計時,他們亦發(fā)現(xiàn)水的流動需要的時間是固定的,因此發(fā)明了水鐘。古代中國人亦有以水來計時的工具一一銅壺滴漏,他們亦會用燒香計時

13、。將香橫放,上面放上連有鋼珠的繩子,有報時功能。中國古代燒香的鬧鐘。除了用水流來計時外,中國古代民間亦有利用燃點線香來計量時間。龍舟報時更香就是利用燒香來計時的儀器,它更設有定時響鬧的作用。龍舟上掛了數(shù)條兩端系著金屬球的幼線,線下放了燃著的香。每隔第 頁第 頁曲幺建盪科隹之曙率萍孝戍畢業(yè)設計(論文)用紙一段時間,香便會燒斷一條線子,當金屬球跌進下面的盛器時,便會發(fā)出報時響鬧。這種燒香時計最早見于宋代(公元12世紀中葉)的文獻中。用更香來計算時間的精度不高,但由于它簡單易行,極之適合民間使用,所以曾經(jīng)十分流行。據(jù)文獻記載有些更香可燃燒一畫夜,有些甚至可以燃燒至一個月。此更香是根據(jù)文獻及示圖復原,

14、沒有原物傳世。1088年,宋朝的科學家蘇頌和韓工廉等人制造了史上首座以水力作自動化機械操作的水運儀象臺,它是把渾儀、渾象和機械計時器組合起來的裝置。1276年,中國元代的郭守敬制成大明燈漏。它是利用水力驅(qū)動,通過齒輪系及相當復雜的凸輪結(jié)構(gòu),帶動木偶進行“一刻鳴鐘、二刻鼓、三鉦、四鐃”的自動報時。自宋起,十二時辰分初正即廿四小時系統(tǒng),一刻即今天的十五分鐘,其準確度較德國之桌鐘早三百多年。1283年在英格蘭的修道院出現(xiàn)史上首座以砝碼帶動的機械鐘。13世紀意大利北部的僧侶開始建立鐘塔(或稱鐘樓),其目的是提醒人禱告的時間。1360年詹希元創(chuàng)制“五輪沙漏”,以齒輪、時刻盤合成16世紀中在德國開始有桌上

15、的鐘。那些鐘只有一支針,鐘面分成四部分,使時間準確至最近的十五分鐘。1657年,惠更斯發(fā)現(xiàn)擺的頻率可以計算時間,造出了第一個擺鐘。1670年英國人威廉克萊門特(WilliamClement)發(fā)明錨形擒縱器。1797年,美國人伊萊特里(EliTerry)獲得一個鐘的專利權(quán)。他被視為美國鐘表業(yè)的始祖。世界上第一座原子鐘建于1949年,位于美國的國家標準技術(shù)研究所。第一曲幺建盪科隹之曙率紓孝虎畢業(yè)設計(論文)用紙座準確的原子鐘于1955年建造,位于英國國家物理實驗室。1967年,第十三屆國際度量衡會議采用銫-133原子鐘所發(fā)出特定波長的頻率,作為秒的基準依據(jù)。當此原子鐘某特定波長所發(fā)出的光振動9,1

16、92,631,770次所經(jīng)過的時間,定義為一秒。原子鐘相當穩(wěn)定,不易受環(huán)境變化影響。計時碼表,或稱碼表,是一種有計時功能的手表,是將秒表的功能結(jié)合于手表之中。計時碼表于1720年由英國人GeorgeGraham發(fā)明。無論是機械手表,石英手表,甚至LCD顯示數(shù)位表,都有計時碼表的產(chǎn)品。LCD數(shù)位手表的價錢是三者中最低,但計時功能卻是最為精確,精度可達百分之一秒或千分之一秒。石英的計時碼表價錢較貴,精度多數(shù)為十分之一秒。而機械計時碼表的精度是最差,只能以秒計算,但由于機芯結(jié)構(gòu)復雜,因此價錢最為昂貴。3.3秒表的功能設計3.3.1.正計時我設計的秒表的正計時器首先具有精確到0.01秒的計時功能,最高

17、可以計時到99小時59分59秒99,其他功能如下:以LED七段數(shù)碼管的方式顯示時間。在計時過程中,可以暫停、繼續(xù)計時。在任意狀態(tài)下,可以執(zhí)行復位操作,清除所有數(shù)據(jù)??梢栽谌我鉅顟B(tài)記錄任意次時間。曲幺建盪科隹之曙率萍孝戍畢業(yè)設計(論文)用紙曲幺建盪科隹之曙率萍孝戍畢業(yè)設計(論文)用紙第 頁第 頁在任意狀態(tài)下,可以實現(xiàn)單人記圈/多人記名的切換,并且切換后自動復位。有毫秒指針,每秒轉(zhuǎn)一圈。3.3.2倒計時我設計的倒計時器可以從任意時間開始倒計時,并在倒計時結(jié)束時觸發(fā)警報,其他功能如下:有倒計時指針顯示剩余時間的百分比,且平滑移動。以LED七段數(shù)碼管的方式顯示剩余時間。可以設置不同的提示音。精確到1秒

18、。倒計時結(jié)束時指針中間會出現(xiàn)紅點。節(jié)扌白器我設計的節(jié)拍器具有如下功能:開始、暫停節(jié)拍器。設置節(jié)拍,從20拍/分鐘到240拍/分鐘,間隔為20拍/分鐘。時鐘與鬧鐘我設計的時鐘具有以下功能:以指針方式顯示12進制的時間。顯示當前日期和時間,星期。設置鬧鐘,并可設置鬧鐘狀態(tài)。程序?qū)崿F(xiàn)4.1秒表計時器4.1.1流程圖通過對秒表原理的理解基礎上,在結(jié)合LabVIEW軟件,秒表計時器的程序流程圖如圖(4.1)所示:圖4.1程序流程圖曲W建遙剁捏之曙軟汁悅畢業(yè)設計(論文)用紙曲W建遙剁捏之曙軟汁悅畢業(yè)設計(論文)用紙粧三建題聖注之曙和訶儻畢業(yè)設計(論文)用紙第 #頁第 頁第 頁4.1.2程序設計前面板設計程

19、序的前面板如圖4.2所示秒表樋計時節(jié)拍時鐘ulI*ljlj!|jlj:S)圖4.2前面板程序框圖整個秒表計時器的程序框圖如圖4.3所示嚴f岳n?右家3U_-r-E懈詁茴&|laiLJHteMM于飛趣姑幅1譙4-忘iEE7tBsaHBzffZ臥La!1SPfaF-Ihllilll*.葉負:M切住.曙止:罰雖Hill簽朗旳月卜聊即口FZi陽且曲卜1;11上蛙|卜仃pun口mg:13-圖4.3程序框圖程序設計順序計數(shù)的實現(xiàn):建立while循環(huán),將i創(chuàng)建顯示控件,從而將計數(shù)值顯示到前面板上。在循環(huán)中添加等待時間可以控制計時精度。如添加10毫秒等待則是精確到0.01秒。進位的實現(xiàn):進位的實現(xiàn)有幾種備選方

20、案:1)for循環(huán)指定循環(huán)次數(shù)2)事件結(jié)構(gòu)中設置比較器,當i等于特定值時觸發(fā)進位3)使用條件結(jié)構(gòu),當i等于特定值時比較器輸出true,激活進位4)算數(shù)計算由i算出各個數(shù)位使用前三種方案有一個弊端:每增加一個進位就會相應的增加一個嵌套的循環(huán),而循環(huán)越多越容易出現(xiàn)錯誤和死循環(huán)。于是我選用第四個進位方法:算第 頁第 #頁曲幺建盪科it之曙軟討戍畢業(yè)設計(論文)用紙數(shù)方法。由于1秒=1000毫秒,1分鐘=60秒,1小時=60分鐘。我們可以算出,當while循環(huán)延遲為1毫秒時,小時數(shù)為(i/60*60*1000)的整數(shù)商。設i為(i/60*60*1000)的余數(shù),則分鐘數(shù)為(i/60*1000)的整數(shù)商

21、。設i”為G/60*1000)的余數(shù),貝V秒數(shù)為(i”/1000)的商,其余數(shù)即為毫秒數(shù)。市面上的秒表多數(shù)是精確到0.01秒,也就是10毫秒,所以我把算出的毫秒數(shù)又進行了*10,從而得到0.01秒的精確度。實現(xiàn)算數(shù)進位的子vi程序框圖如圖4.4所示,其中x為輸入端,輸出為一個含有4位的時間簇。圖4.4算數(shù)進位函數(shù)暫停計時的實現(xiàn):暫停計數(shù)要求在計數(shù)開始后點擊暫停按鈕時暫停計數(shù),再次點擊時又開始計數(shù),并且是接著剛才的數(shù)值計數(shù)。這就要求在整體程序運行時,將程序的一部分暫停和恢復。為了做到這點,我先后嘗試了各種結(jié)構(gòu),最終使用了雙層while循環(huán)的嵌套結(jié)構(gòu)。具體是將一個while循環(huán)外再加一個while

22、循環(huán),在內(nèi)層while循環(huán)中加入停止按鈕,并且將停止按鈕的動作設置為“釋放時轉(zhuǎn)換”,同時將前面板的停止按鈕設置為開關的形狀以便于識別。曲幺建盪科隹之曙率詩孝優(yōu)畢業(yè)設計(論文)用紙曲幺建盪科隹之曙率詩孝優(yōu)畢業(yè)設計(論文)用紙曲幺建盪科隹之曙率并孝優(yōu)畢業(yè)設計(論文)用紙第 頁第 #頁第 頁這樣,這個內(nèi)層的停止按鈕就會實現(xiàn)暫停的功能。具體程序框圖如圖4.5所示我的計數(shù)方案沒有for循環(huán),所以它不會自己停止。如果沿用先前的獨立停止按鈕的設計,就會出現(xiàn)一個嚴重的問題:只能在計時過程中停止。當程序處于計時狀態(tài)時,內(nèi)部while循環(huán)處于停止狀態(tài),點擊停止按鈕會立即得到響應;而當程序處于暫停計時時,內(nèi)部whi

23、le循環(huán)處于運行狀態(tài),從而外部的事件將無法響應。我注意到,當在暫停狀態(tài)下點擊停止按鈕后再讓秒表開始計時,內(nèi)部循環(huán)將會跳出,而停止命令則會得到響應。由此想到,如果讓程序在我點擊停止的時候,自動讓內(nèi)部while循環(huán)處于運行狀態(tài),那么問題便迎刃而解了。由此想法,列出了如下的真值表:暫停端停止端內(nèi)部while循環(huán)101111000011不難看出此真值表與或門完全一致。于是便有了如圖4.6所示的設計。使用或門將兩個按鈕同時連接到內(nèi)部while循環(huán),并且把觸發(fā)端都放置在最內(nèi)部,消除延遲:圖4.6停止按鈕設計整體框圖如圖4.7所示曲幺建盪科隹之曙率療孝戍畢業(yè)設計(論文)用紙曲幺建盪科隹之曙率療孝戍畢業(yè)設計(

24、論文)用紙曲幺建運科it之曙軟討?t畢業(yè)設計(論文)用紙第 頁第 #頁第 頁停止I圖4.7可以隨時停止的秒表設計計時清零的實現(xiàn):對顯示控件的清零有幾種備選方案:1)事件結(jié)構(gòu)2)條件結(jié)構(gòu)3)嵌套while循環(huán)經(jīng)過多次實驗,發(fā)現(xiàn)事件結(jié)構(gòu)和條件結(jié)構(gòu)容易在while循環(huán)中形成死循環(huán)無法跳出,故采用嵌套while循環(huán)來實現(xiàn)清零功能。由于在前面的程序中停止程序并重啟后i會自動歸零,所以在整個程序外面再加一個while循環(huán)。這樣,可以隨時停止內(nèi)部程序而不中止整個進程。而停止內(nèi)部程序則會實現(xiàn)清零的操作。和停止按鈕一樣,如果沿用先前的獨立停止按鈕的設計,就會出現(xiàn)同樣的的問題:只能在計時過程中清零。當程序處于計時

25、狀態(tài)時,內(nèi)部while循環(huán)處于停止狀態(tài),點擊清零按鈕會立即得到響應;而當程序處于暫停計時時,內(nèi)部while循環(huán)處于運行狀態(tài),從而外部的事件將無法響應。解決此問題,同樣根據(jù)真值表可以看出,在內(nèi)循環(huán)添加或門,這樣就可以順利觸發(fā)清零。程序框圖如圖4.7所示.圖4.7帶停止功能的秒表程序框圖記錄功能的實現(xiàn):秒表的記錄功能要求能夠在計時的過程中隨時記錄多次的時間。首先,我實現(xiàn)的是記名。為了能夠顯示一個完整的字符串(如:第1名:0小時0分鐘1曲幺建盪科隹之曙軟i孝僥畢業(yè)設計(論文)用紙曲幺建盪科隹之曙軟i孝僥畢業(yè)設計(論文)用紙第 #頁第 頁秒.20)我使用字符串連接函數(shù)將多個字符串和時間進行組合,并使用

26、條件結(jié)構(gòu)控制對數(shù)據(jù)的采集。在最后添加換行符以換行。為了能夠?qū)崿F(xiàn)實時采集,同樣將采集按鈕放在最內(nèi)層循環(huán),并使用或門與其他按鈕相連。為使程序能夠連續(xù)多次記錄,使用反饋節(jié)點儲存數(shù)據(jù)。程序框圖如圖4.8所示。圖4.8可以連續(xù)記錄的秒表程序框圖隨著記錄功能而來的一個問題就是清屏。先前的清零只能對時間進行重置,而字符串卻不行。開始時,我使用了對顯示控件從新賦值的方法,但這種方法有一個弊端,就是移位寄存器是不可重置的,這樣就會導致在執(zhí)行清零后再記錄時,先前清除的內(nèi)容又顯示回來了。為了解決移位寄存器清零的問題,我轉(zhuǎn)而使用了另一種方法:臨時文件的讀取寫入。臨時文件可以很好的解決清除數(shù)據(jù)與讀取的問題。先將數(shù)據(jù)寫入

27、臨時文件,再從文件中讀取字符串顯示到顯示控件上。每點擊一次采集按鈕,就會在對應文件的下一行添加一個記錄字符串。當需要清零時只需要刪除文件內(nèi)站曲幺建盪科隹之曙和討優(yōu)畢業(yè)設計(論文)用紙站曲幺建盪科隹之曙和討優(yōu)畢業(yè)設計(論文)用紙第 #頁第 頁第 頁爲曲幺建盪科隹之曙軟討優(yōu)畢業(yè)設計(論文)用紙的數(shù)據(jù)即可。這樣,當點擊清零按鈕時,所有顯示控件都會清零,并且沒有數(shù)據(jù)殘留。同樣,將該按鈕放置在內(nèi)循環(huán)并使用或門與其它開關相連。程序框圖如圖4.9所示.hC:2.Htl-n7UrissnLn也2空士沁沁V占沁沁沁津工沁沁沁沁曲III廿弭!STTrtiJvdv.txtr;ny-L戶uHo嚴“7?”.於:韻嚴I5

28、*10100口卜障止31I秒!.E卜endT:圖4.9可以清零的秒表程序框圖復位按鈕的實現(xiàn):秒表上通常會有一個復位按鈕,這個按鈕會同時實現(xiàn)兩個功能:清除所有數(shù)據(jù);使秒表處于停止計時狀態(tài)。所以我把清零按鈕改為了復位按鈕,次改進需要增加一些觸發(fā)功能。首先,在點擊復位時會清空臨時文件中的數(shù)據(jù),這一點通過事件結(jié)構(gòu)實現(xiàn);其次,在清除數(shù)據(jù)時,將開關置為暫停狀態(tài),為此創(chuàng)建了暫停按鈕局部變量,通過對局部變量的賦值實現(xiàn)該功能。當點擊復位時,暫停按鈕會被賦值F,從而暫停計時。事件結(jié)構(gòu)具體如圖4.10所示。切換記名/記圈的實現(xiàn):切換記名/記圈實現(xiàn)的功能就是當點擊切換按鈕時,程序會在記名模式/記圈模式之間來回切換,并

29、且在切換的同時進行復位。為實現(xiàn)該功能,我使用了一個條件結(jié)構(gòu),在“真”里面放置“圈”字,在“假”里面放置“名”字,使其共同輸出到一個顯示控件上。同時,在前面板隱藏該顯示控件,并在程序框圖上創(chuàng)建該顯示控件的局部變量,設置為讀取模式,將其連接到采集數(shù)據(jù)的長字符串里面。這樣,就可以把字符串里面的一個字符在兩個字之間切換了。程序框圖如圖4.11所示為了能夠在切換的同時執(zhí)行復位,我在復位按鈕的旁邊增加了一個事件結(jié)構(gòu),設置觸發(fā)源為切換按鈕值改變,這樣,點擊切換按鈕時,事件結(jié)構(gòu)觸發(fā),輸出一個T,將其和復位按鈕以或門相連,便可以實現(xiàn)多個觸發(fā)源觸發(fā)一個功能了。曲幺建謹科隹之曙軟討優(yōu)畢業(yè)設計(論文)用紙曲幺建謹科隹

30、之曙軟討優(yōu)畢業(yè)設計(論文)用紙曲幺建遙科隹之曙和討戍畢業(yè)設計(論文)用紙第 #頁第 頁第 頁Ei11兀圖4.11切換的實現(xiàn)1LED七段數(shù)碼管顯示的實現(xiàn):七段數(shù)碼管顯示數(shù)字的效果如圖4.22所示。每一位數(shù)字都是由7個布爾指示燈拼接而成,每兩位形成一組,共同顯示一個小時/分鐘/秒/毫秒數(shù)值。在每兩個位之間,有綠色的雙閃LED燈,每秒閃一下。圖4.12LED七段數(shù)碼管顯示效果為了實現(xiàn)LED數(shù)碼管的顯示,首先需要制作一個數(shù)字轉(zhuǎn)換為LED顯示的子VI,否則程序會很繁雜。該子VI的程序框圖如圖4.13所示,前面板如圖4.14所示。首先,建立一個十進制整形的數(shù)值輸入控件,將其連接至一個條件結(jié)構(gòu),在條件結(jié)構(gòu)中

31、添加10個條件分支,分別對應09這10個數(shù)字。在條件結(jié)構(gòu)的每個分支中,加入7個布爾常量,并分別創(chuàng)建顯示控件,將顯示控件設置為方形指示燈,這7個指示燈對應7個數(shù)碼管。對這7個指示燈的形狀和大小進行調(diào)整,使之成為一個“8”字。接下來對條件結(jié)構(gòu)中的常量進行設定,比如8對應的數(shù)碼管就是7個T,因為8的LED顯示中數(shù)碼管都是亮的。同樣的,對所有10個條件分支進行設定,使每一個數(shù)值對應一個LED顯示樣式。因為本程序是子VI,不宜有太多輸出,故創(chuàng)建局部變量并將其捆綁為簇,實現(xiàn)單輸入單輸出。|髀布爾4卜j|帶在爾7卜輸出簇圖4.13LED顯示子VI程序框圖圖4.14LED顯示子VI前面板在主程序中,需要調(diào)用8

32、次LED顯示函數(shù)。因為該函數(shù)一次只能顯示一位,所以要把時間的兩位數(shù)變?yōu)閮蓚€一位數(shù)。對一個兩位數(shù)除10取余和商便可達到這一目的。將簇解除捆綁之后,把每一位除以10,將商和余數(shù)分別接入LED顯示子VI,并在子VI上創(chuàng)建顯示控件,便可在前面板上顯示出LED的數(shù)字了。程序框圖如圖4.15所示.為實現(xiàn)每兩個數(shù)字中間的閃爍燈,我在秒的位置增加了除以2的操作,通曲幺建謹科隹之曙率并孝戍畢業(yè)設計(論文)用紙曲幺建謹科隹之曙率并孝戍畢業(yè)設計(論文)用紙第 頁第 #頁過余數(shù)來判斷奇偶,當?shù)玫狡鏀?shù)時,使用條件結(jié)構(gòu)給8個布爾指示燈賦值T,使之點亮。當?shù)玫脚紨?shù)時,使用條件結(jié)構(gòu)給8個布爾指示燈賦值F,使之滅。程序框圖如圖

33、4.15所示。van二E-ia輸出簇孑輔出族5輸出簇創(chuàng)輸出簇石*8Hfikij輸出簇呂圖4.15主函數(shù)部分LED顯示布爾布爾3臥二=2:工=二孟必布爾布爾3圖4.15閃爍燈程序框圖秒針轉(zhuǎn)盤的實現(xiàn):在前面板上創(chuàng)建一個量表,并進行自定義,使之成為圖4.16中的樣子,并將其最大值設置為100這樣,即可實現(xiàn)每秒鐘轉(zhuǎn)一圈的秒表指針了。第 頁第 頁曲W建遙聖it之曙軟討戍畢業(yè)設計(論文)用紙圖4.16毫秒指針4.2倒計時器4.2.1流程圖倒計時器的流程圖如圖4.17所示。圖4.17倒計時器流程圖曲幺建遙科隹之曙軟討優(yōu)畢業(yè)設計(論文)用紙曲幺建遙科隹之曙軟討優(yōu)畢業(yè)設計(論文)用紙曲三建慝科捏之曙軟討優(yōu)畢業(yè)設

34、計(論文)用紙第 頁第 #頁第 頁4.2.2程序設計前面板設計程序的前面板如圖4.18所示。秒卷倒計時器稀中injJuun*nnJUIJ圖4.18倒計時器的前面板程序框圖倒計時器的程序框圖如圖4.19所示。圖4.19倒計時器的程序框圖程序設計初始時間設置的實現(xiàn):倒計時所輸入的時間為小時:分鐘:秒,想將這些時間轉(zhuǎn)化為秒,則需要把小時*3600+分鐘*60+秒。數(shù)值倒計的實現(xiàn):得到秒的數(shù)值之后,只需要把該數(shù)值減去循環(huán)次數(shù)i就可以實現(xiàn)倒計時了。而將while循環(huán)的間隔設置為1秒就可以實現(xiàn)每秒減1的倒計時了。在實際設計中,倒計時提示會在程序運行時響起,因為此時計數(shù)數(shù)值也是0為解決此問題,我在-i之前對

35、數(shù)值*100,在-i之后又進行/100取整,并且使用/10取整之前的數(shù)值與1比較,相等時就會觸發(fā)報警。同時,把while循環(huán)的間隔設置到10毫秒,這樣計時還是1秒,同時提高了精確度。程序框圖如圖4.20所示。曲幺建盪科隹之曙率殊孝戍畢業(yè)設計(論文)用紙曲幺建盪科隹之曙率殊孝戍畢業(yè)設計(論文)用紙爲曲幺建盪科隹之曙軟討悅畢業(yè)設計(論文)用紙第 頁第 #頁第 頁圖4.20倒計時原理倒計時暫停/開始的實現(xiàn):和秒表一樣,具體是將一個while循環(huán)外再加一個while循環(huán),在內(nèi)層while循環(huán)中加入停止按鈕,并且將停止按鈕的動作設置為“釋放時轉(zhuǎn)換”,同時將前面板的停止按鈕設置為開關的形狀以便于識別。這樣

36、,這個內(nèi)層的停止按鈕就會實現(xiàn)暫停的功能。倒計時復位的實現(xiàn):倒計時的復位原理同秒表一樣,只不過由于不需要記錄數(shù)據(jù),要比先前簡單很多。在點擊復位按鈕之后,內(nèi)循環(huán)會停止,同時將暫停開始按鈕置為暫停狀態(tài)。原理在前面的秒表部分已有敘述,在此不再重復。倒計時鈴聲及其切換的實現(xiàn):該倒計時器在倒計時器結(jié)束時會有鈴聲報警,并且鈴聲是可換的。為了實現(xiàn)該功能,我先找來兩個wav格式的鈴聲,使用事件結(jié)構(gòu)來判斷是否時間到。時間到時,事件結(jié)構(gòu)執(zhí)行真的部分,播放放在指定路徑下的聲音文件。為了實現(xiàn)切換提示音,在條件結(jié)構(gòu)內(nèi)在加入一個條件結(jié)構(gòu),并在前面板中加入一個枚舉輸入,從而選擇鈴聲。另外,在倒計時結(jié)束時,指針中間會有一個紅點

37、出現(xiàn),這使用的是一個圓形指示燈的可見性屬性節(jié)點通過條件結(jié)構(gòu)的賦值所實現(xiàn)的。其觸發(fā)原理同上。程序框圖如圖4.21所示。圖4.21倒計時結(jié)束觸發(fā)整合停止按鈕:在邏輯上,秒表和倒計時器的運行關系是并行的,也就是說互不影響,所以要放在同一個程序中。這樣就要求當點擊停止按鈕時,它們必須同時停止而不是只有一個框架停止運行。為實現(xiàn)該功能,我隱藏了倒計時器的停止按鈕,同時使用了一個觸發(fā)源為秒表停止按鈕的事件結(jié)構(gòu)來代替它。這樣,一個停止按鈕就可以停止整個程序了。指針倒計時的實現(xiàn):倒計時指針是一個顯示剩余時間百分比的裝置。所以只需要對剩余時間和設定時間的秒數(shù)進行相除即可。為實現(xiàn)平滑效果,將其接入-i的前面和后面,

38、這樣指針每10毫秒動一下,人的肉眼幾乎無法察覺。4.3節(jié)拍器4.3.1流程圖節(jié)拍器的流程圖如圖4.22所示。曲W建盪科隹之曙和討戍畢業(yè)設計(論文)用紙曲W建盪科隹之曙和討戍畢業(yè)設計(論文)用紙曲幺建盪聖捏之曙軟討庇畢業(yè)設計(論文)用紙第 頁第 #頁第 頁圖4.22節(jié)拍器流程圖4.3.2程序設計前面板設計程序的前面板如圖4.23所示。秒表倒計時節(jié)拍器時鐘設置節(jié)拍(拍/分鐘)圖4.23節(jié)拍器程序框圖節(jié)拍器的程序框圖如圖4.24所示。程序設計節(jié)拍選擇的實現(xiàn):在前面板使用轉(zhuǎn)盤輸入所需節(jié)拍,將其設置為輸入差值20,最小值20,最大值240。設需要x拍/分鐘,則每拍就是60/x秒,故用60除以所輸入的數(shù)值

39、即可。為了使得節(jié)拍器可以實時識別指令,將while循環(huán)的間隔設為50毫秒,同時對輸出數(shù)值*20。節(jié)拍的提示方式:該節(jié)拍器通過判斷循環(huán)次數(shù)i與所需節(jié)拍是否為整除關系來判斷是否報警,通過條件結(jié)構(gòu)實現(xiàn)。節(jié)拍提示采用系統(tǒng)自帶的提示音,使用發(fā)聲控件實現(xiàn)。站曲W建盪剁隹之曙和討庇畢業(yè)設計(論文)用紙站曲W建盪剁隹之曙和討庇畢業(yè)設計(論文)用紙站曲幺建盪科隹之曙軟討戍畢業(yè)設計(論文)用紙第 頁第 #頁第 頁節(jié)拍的暫停/繼續(xù)與停止:此處的原理與倒計時器和秒表完全相同,故在此不再重復說明。4.4時鐘及鬧鐘4.4.1流程圖時鐘鬧鐘的流程圖如圖4.25所示。點擊I甫辟開關圖4.25時鐘鬧鐘的流程圖4.4.2程序設計前面板設計程序的前面板如圖4.26所示。鶴表愷計時節(jié)招器0、1、11II12r;/.1J迓走聞憐時間:V”1012:h時-913二A分加1DIVTE4;A秒765八/*|120135150同三12

溫馨提示

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

最新文檔

評論

0/150

提交評論