畢業(yè)設(shè)計(jì)論文-基于labview的電子萬(wàn)年歷的設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)論文(設(shè)計(jì))</p><p>  題  目:基于LabVIEW的電子萬(wàn)年歷設(shè)計(jì)與工程簡(jiǎn)化  </p><p>  2015年5月18日</p><p>  基于LabVIEW的電子萬(wàn)年歷設(shè)計(jì)與工程簡(jiǎn)化</p><p>  The design and engineering simplify </p>

2、<p>  of a electronic calendar based on LabVIEW</p><p><b>  摘 要</b></p><p>  本文主要綜述了LabVIEW編寫(xiě)電子萬(wàn)年歷程序的各個(gè)過(guò)程,以及程序編寫(xiě)與實(shí)際工程設(shè)計(jì)的聯(lián)系,其中主要介紹了基于LabVIEW的電子萬(wàn)年歷程序中24時(shí)模塊、年月日模塊、星期模塊和鬧鐘模塊各自的完成

3、原理和相互串接時(shí)需進(jìn)行的各種調(diào)整。另外本文中還討論了以LabVIEW模型為藍(lán)圖進(jìn)行工程設(shè)計(jì)較之直接進(jìn)行設(shè)計(jì)的幾項(xiàng)優(yōu)點(diǎn)。本文還對(duì)LabVIEW在實(shí)例中體現(xiàn)出的特性與可行的應(yīng)用場(chǎng)景進(jìn)行了論述。</p><p>  關(guān)鍵詞:LabVIEW 虛擬儀器 仿真 模塊 萬(wàn)年歷</p><p><b>  Abstract</b></p><p>  

4、This review focuses on the electronic calendar program written in LabVIEW various processes, and procedures for the preparation and the actual engineering design links, which introduces the LabVIEW module's electroni

5、c calendar program 24 based on the date module, module and alarm module each week of complete theory and various adjustments connected with each other to be carried out. Also we discussed in this article with LabVIEW mod

6、el as a blueprint for engineering several advantages compared to</p><p>  Key words:LabVIEW Virtual Instruments Simulation Module Calendar</p><p><b>  目錄</b></p><p>

7、<b>  前 言1</b></p><p>  1 虛擬儀器技術(shù)的概念2</p><p>  2 LabVIEW的概念和應(yīng)用2</p><p>  2.1 LabVIEW的基本概念2</p><p>  2.2 LabVIEW的應(yīng)用領(lǐng)域3</p><p>  2.3 LabVIEW

8、相較文本語(yǔ)言的優(yōu)缺點(diǎn)3</p><p>  3 基于LabVIEW的電子萬(wàn)年歷4</p><p>  3.1 電子萬(wàn)年歷的模塊化分析4</p><p>  3.2 電子萬(wàn)年歷的模塊間綜合分析4</p><p>  4 基于LabVIEW的電子萬(wàn)年歷的編寫(xiě)過(guò)程4</p><p>  4.1 核心時(shí)間模塊的編

9、寫(xiě)5</p><p>  4.2 七段式數(shù)碼管子VI的編寫(xiě)6</p><p>  4.3 年月日模塊的編寫(xiě)及進(jìn)制轉(zhuǎn)換算法7</p><p>  4.4 星期模塊的編寫(xiě)及數(shù)碼管顯示矩陣算法9</p><p>  4.5 鬧鐘模塊的編寫(xiě)及智能化的加入10</p><p>  5 縱觀LabVIEW電子萬(wàn)年歷1

10、0</p><p>  5.1 LabVIEW電子萬(wàn)年歷編制工作總結(jié)10</p><p>  5.2 從萬(wàn)年歷看向LabVIEW的全方位13</p><p><b>  謝辭14</b></p><p><b>  參考文獻(xiàn)15</b></p><p><b&g

11、t;  前 言</b></p><p>  隨著電子信息技術(shù)的發(fā)展和集成芯片的出現(xiàn),人們身邊的各種工具正在以驚人的速度不斷地更新?lián)Q代,手機(jī)、電腦就不用多說(shuō)了,現(xiàn)在就連手表也具備了更繁雜的功能而被冠以“智能手表”的名號(hào)。這一切的變化都要?dú)w功于集成電路的誕生。</p><p>  通過(guò)對(duì)集成芯片的編碼,也就是單片機(jī)技術(shù)中常說(shuō)的“燒錄”,來(lái)使芯片實(shí)現(xiàn)固定的功能,不同語(yǔ)言的燒錄能夠?qū)懗?/p>

12、擁有不同功能的芯片。編碼語(yǔ)言的神奇可見(jiàn)一斑,而且編碼語(yǔ)言本身也存在多樣性,有看起來(lái)枯燥無(wú)味又十分難懂的C語(yǔ)言,也有像本文就要提到的LabVIEW一樣的圖形化直觀易懂的語(yǔ)言。[1]諸多的語(yǔ)言種類的編寫(xiě)過(guò)程其實(shí)都是大同小異,都是通過(guò)一系列簡(jiǎn)單功能的疊加嵌套來(lái)實(shí)現(xiàn)紛繁復(fù)雜的功能。[2]</p><p>  在編寫(xiě)比較簡(jiǎn)單的程序時(shí),LabVIEW較之C語(yǔ)言有一個(gè)十分顯著的優(yōu)點(diǎn),那就是它極度仿真的程序框圖外觀,直白明了的編

13、輯過(guò)程可以讓我們?cè)诰庉嫊r(shí)就可以按照實(shí)際的邏輯進(jìn)行模塊和子VI的鋪設(shè),極大地減少了邏輯錯(cuò)誤發(fā)生的可能性,避免了文字輸入錯(cuò)誤。但在見(jiàn)繁雜程序編寫(xiě)時(shí),過(guò)多的邏輯關(guān)系嵌套串接等等難免會(huì)產(chǎn)生錯(cuò)誤,這也是LabVIEW無(wú)法避免的弊病,所以根據(jù)需要和個(gè)人喜好選擇程序語(yǔ)言是首要的。[3]</p><p>  在編寫(xiě)方面,LabVIEW具有簡(jiǎn)潔明了的特點(diǎn),而在實(shí)際應(yīng)用中仿真模擬的應(yīng)用中,LabVIEW以其便捷直觀的特點(diǎn)也深受工程人

14、士的喜愛(ài),在了解硬件工作原理的基礎(chǔ)上,[4]甚至可以用LabVIEW編輯的子VI固定實(shí)現(xiàn)某一硬件芯片的功能,并設(shè)計(jì)引腳合理串接已形成仿真電路。</p><p>  本文就以基于LabVIEW的電子萬(wàn)年歷的設(shè)計(jì)編寫(xiě)為例,講述LabVIEW編寫(xiě)的整個(gè)過(guò)程以及注意事項(xiàng),通過(guò)模塊化串接的功能實(shí)現(xiàn)方式體現(xiàn)其在工程簡(jiǎn)化上的參考價(jià)值。</p><p>  1 虛擬儀器技術(shù)的概念</p>

15、<p>  虛擬儀器顧名思義就是虛擬的、沒(méi)有真實(shí)物理形態(tài)的儀器設(shè)備。虛擬儀器技術(shù)(Virtual instrument)就是利用高性能的模塊化硬件,結(jié)合高效靈活的軟件來(lái)完成各種測(cè)試、測(cè)量和自動(dòng)化的應(yīng)用。[5]</p><p>  用通俗的話講,虛擬儀器技術(shù)就是用高性能的集成技術(shù)芯片輔以編寫(xiě)完成的程序語(yǔ)言來(lái)實(shí)現(xiàn)相應(yīng)電路功能的技術(shù)。就如同用燒錄機(jī)給89S51芯片寫(xiě)入程序一樣。虛擬儀器的產(chǎn)生是集成電路發(fā)展的必

16、然,傳統(tǒng)機(jī)械結(jié)構(gòu)和非編程電路的不穩(wěn)定性和功能局限性決定了它們不可能實(shí)現(xiàn)復(fù)雜的功能,而且同一個(gè)設(shè)計(jì)造就的產(chǎn)品只能完成固定僅有的一個(gè)功能,這就意味著你身邊要有各種各樣的設(shè)備以滿足日常生活中為數(shù)不多的基本需求。[6]這一點(diǎn)可以舉一個(gè)路人皆知的例子就是埃尼阿克,龐大的體積和超乎想象的重量,完成的功能卻少得可憐。</p><p>  可以看出,虛擬儀器技術(shù)才是集成電路的核心,[7]就好比是靈魂,集成電路只是將各種元器件小尺

17、寸化,而虛擬儀器技術(shù)卻能夠合適的調(diào)用這數(shù)以億計(jì)的晶體管中的一部分來(lái)實(shí)現(xiàn)你想要的功能。[8]</p><p>  2 LabVIEW的概念和應(yīng)用</p><p>  2.1 LabVIEW的基本概念</p><p>  LabVIEW是一種圖形化的編程語(yǔ)言,又稱為“G語(yǔ)言”,其各個(gè)部件類似于普通文本式的編程語(yǔ)言中的函數(shù)固定語(yǔ)言或者子程序,LabVIEW開(kāi)發(fā)出的軟件也

18、就是我們所說(shuō)的虛擬儀器。[9]</p><p>  LabVIEW的編輯界面有程序框圖和前面板。程序框圖顯示的是各個(gè)部件或者子VI之間的邏輯關(guān)系圖,可以根據(jù)需要合理的添加或去除相應(yīng)部件;[10]前面板與現(xiàn)實(shí)中的儀器相仿,可以設(shè)置旋鈕、按鍵、顯示裝置或者是其他輸入輸出裝置,甚至還能夠按照個(gè)人喜好對(duì)界面進(jìn)行美化。</p><p>  LabVIEW系統(tǒng)的構(gòu)成相當(dāng)復(fù)雜,但大體上由數(shù)據(jù)采集、數(shù)據(jù)分

19、析、數(shù)據(jù)顯示及保存模塊構(gòu)成;按軟硬件分類,LabVIEW由兩部分組成:</p><p> ?、儆布@取測(cè)試對(duì)象的被測(cè)信號(hào);</p><p> ?、跍y(cè)試軟件的控制。[11]</p><p>  本身作為一種編程語(yǔ)言就具備了操作使用靈活的特點(diǎn),其編程所能實(shí)現(xiàn)的功能遠(yuǎn)遠(yuǎn)超出實(shí)際器件的范圍;加之本身極強(qiáng)的可辨識(shí)性和簡(jiǎn)單的學(xué)習(xí)難度,在許多應(yīng)用領(lǐng)域都能被人們很快的接受。[12]

20、</p><p>  當(dāng)然,圖形語(yǔ)言也不僅僅指LabVIEW,各種語(yǔ)言都有著各自的優(yōu)缺點(diǎn),LabVIEW也不例外,在簡(jiǎn)單程序語(yǔ)句的編寫(xiě)中LabVIEW要比文本性語(yǔ)言快捷得多,但是復(fù)雜功能的實(shí)現(xiàn)就略顯乏力,除非是經(jīng)常使用LabVIEW的工程師,每次使用都將日后可能用到的各個(gè)子VI單獨(dú)封裝保存,這樣即便是較繁瑣的程序編輯也會(huì)變得比較簡(jiǎn)單。</p><p>  2.2 LabVIEW的應(yīng)用領(lǐng)域&

21、lt;/p><p>  LabVIEW作為一種簡(jiǎn)單實(shí)用的圖形化編程語(yǔ)言,被廣泛的應(yīng)用于精細(xì)測(cè)量、建筑測(cè)量、設(shè)計(jì)模擬、生物醫(yī)藥、精密化工等各個(gè)高新技術(shù)領(lǐng)域。[13]</p><p>  2.3 LabVIEW相較文本語(yǔ)言的優(yōu)缺點(diǎn)</p><p>  與C語(yǔ)言等純文本性語(yǔ)言相比,LabVIEW更加直觀可視,操作也更加便捷,在常用功能的編輯中,LabVIEW可以直接調(diào)用一個(gè)或

22、多個(gè)部件完成C語(yǔ)言中數(shù)以百計(jì)的單詞編寫(xiě)出的程序的功能。</p><p>  另一方面,由于沒(méi)有大量文本的編寫(xiě),LabVIEW避免了像C語(yǔ)言中字符輸入錯(cuò)誤這樣的問(wèn)題,編寫(xiě)過(guò)程更加精準(zhǔn),減少了反復(fù)查找紕漏的過(guò)程。</p><p>  另外,LabVIEW還有前面板編輯,經(jīng)過(guò)美化的前面板幾乎可以與顯示儀器設(shè)備的面板相媲美,實(shí)際測(cè)量操作更接近現(xiàn)實(shí),還可以輸入或輸出數(shù)字、文字、圖形、表格等多種信息格

23、式,這樣多自由度的操作也是LabVIEW的亮點(diǎn)之一。[14]</p><p>  但LabVIEW也有無(wú)法避免的缺點(diǎn),那就是子VI的缺乏,不同的系統(tǒng)需要不同的子VI支持,就算是相同的系統(tǒng),鑒于不同使用者的喜好,子VI也不可能完全相同,很少有用戶能夠做到保存所有自己編寫(xiě)過(guò)的子VI,這樣一來(lái),在編寫(xiě)大型復(fù)雜化的軟件程序時(shí),每次都要浪費(fèi)人力物力在相同的子VI部件的編寫(xiě)上,這是LabVIEW模塊化部件工作的固有弊端。[1

24、5]</p><p>  3 基于LabVIEW的電子萬(wàn)年歷</p><p>  3.1 電子萬(wàn)年歷的模塊化分析</p><p>  不一定每個(gè)人都熟悉或者電子萬(wàn)年歷的構(gòu)造,但是我們大多都了解電子萬(wàn)年歷是如何發(fā)展過(guò)來(lái)的:</p><p>  從滴水計(jì)時(shí)到計(jì)時(shí)12時(shí)的鐘表、能計(jì)算日期的鐘表、能計(jì)算日期和星期的鐘表,到現(xiàn)在的萬(wàn)年歷,縱觀其中的各

25、個(gè)過(guò)程我們不難發(fā)現(xiàn):</p><p>  后一代產(chǎn)物無(wú)法完全摒棄前一代的技術(shù)基礎(chǔ),計(jì)時(shí)12時(shí)的鐘表也需要秒為單位的基本計(jì)時(shí)模塊,計(jì)算日期的鐘表也必須要有秒單位和計(jì)時(shí)12時(shí)的功能,由此看來(lái),萬(wàn)年歷也肯定是前面所有種類計(jì)時(shí)器具優(yōu)點(diǎn)的集合加上其特有的功能所誕生的產(chǎn)品。</p><p>  那么我們不難分析出:萬(wàn)年歷是以秒計(jì)時(shí)單位為核心,按照相關(guān)進(jìn)制轉(zhuǎn)換計(jì)算分、時(shí)、日、月、年以及星期的步進(jìn)式結(jié)構(gòu),

26、而添加的鬧鐘工作時(shí)間可隨意調(diào)節(jié),可見(jiàn)鬧鐘是萬(wàn)年歷中一個(gè)獨(dú)特的單位,它每時(shí)每刻都會(huì)從萬(wàn)年歷獲取時(shí)間信息,與所定時(shí)間對(duì)比,而這時(shí)間相同時(shí),鬧鐘工作。也就是說(shuō)鬧鐘模塊獨(dú)立于計(jì)時(shí)循環(huán)模塊之外,但對(duì)萬(wàn)年歷時(shí)間的讀取工作模塊處于計(jì)時(shí)模塊之內(nèi)。</p><p>  3.2 電子萬(wàn)年歷的模塊間綜合分析</p><p>  鑒于LabVIEW本身的模塊式部件語(yǔ)句編寫(xiě)模式,對(duì)電子萬(wàn)年歷的分解只停留在部件是不夠

27、的,由3.1的分析可以得知:</p><p>  萬(wàn)年歷的主體由秒表模塊、秒轉(zhuǎn)分模塊、分轉(zhuǎn)時(shí)模塊、時(shí)轉(zhuǎn)日模塊、日轉(zhuǎn)月模塊、月轉(zhuǎn)年模塊和星期計(jì)算模塊以及鬧鐘模塊構(gòu)成,另外還要有數(shù)碼管顯示模塊和鬧鐘調(diào)節(jié)模塊以及初始調(diào)節(jié)模塊的補(bǔ)充和完善。</p><p>  各個(gè)轉(zhuǎn)換模塊之間按順序串接,就形成了一個(gè)以秒表為核心的基本自主計(jì)時(shí)體系;星期計(jì)算模塊需要實(shí)時(shí)獲取年信息、月信息以及日信息進(jìn)行相應(yīng)公式計(jì)算得

28、出相應(yīng)的星期;鬧鐘模塊隨時(shí)獲取相應(yīng)信息對(duì)比時(shí)間決定開(kāi)關(guān)即可;這一整體輔以數(shù)碼管顯示模塊和鬧鐘調(diào)節(jié)、初始調(diào)節(jié)模塊完善整個(gè)系統(tǒng)的輸入輸出,以實(shí)現(xiàn)電子萬(wàn)年歷功能。</p><p>  4 基于LabVIEW的電子萬(wàn)年歷的編寫(xiě)過(guò)程</p><p>  由于之前也沒(méi)有編寫(xiě)萬(wàn)年歷程序的經(jīng)歷,所以編寫(xiě)過(guò)程是先編寫(xiě)主要核心,然后主次添加所需模塊來(lái)完成的,為了講述方便,本文就按照編寫(xiě)進(jìn)度順序撰寫(xiě):<

29、/p><p>  4.1 核心時(shí)間模塊的編寫(xiě)</p><p>  所謂核心時(shí)間模塊就是整個(gè)電子萬(wàn)年歷的發(fā)條,如圖1所示為一個(gè)秒為單位的計(jì)時(shí)單元,延時(shí)模塊設(shè)置時(shí)間延遲為1s,while循環(huán)框中計(jì)數(shù)變量i每次經(jīng)過(guò)平鋪是順序框圖都要在其中延時(shí)模塊的控制下經(jīng)過(guò)1s時(shí)間,然后到達(dá)下一幀頁(yè)被+1然后進(jìn)入第二次循環(huán),當(dāng)然這樣的秒表是不完善的,i+1的輸出端也沒(méi)有接到顯示模塊上,秒的單位進(jìn)制是60,所以我們可

30、以取i值與60的余數(shù)作為當(dāng)前的秒的數(shù)值,以商的值作為分的進(jìn)位,如圖2所示,這樣秒表部分就完全完成了。</p><p>  圖 1 圖 2</p><p>  分到時(shí)的進(jìn)制也是60,也就是說(shuō)我們可以對(duì)分進(jìn)行同樣的取商取余處理,得到當(dāng)前分和時(shí)的數(shù)值,但如果直接將分?jǐn)?shù)值進(jìn)行除法換算,當(dāng)i的數(shù)值積累到60之后,每次計(jì)算所得商的值

31、都會(huì)大于1,也就是每一秒都會(huì)給分累計(jì)加一,這樣的算法當(dāng)然是錯(cuò)誤的了,所以在這里添加一個(gè)判斷框,將余數(shù)與0對(duì)比:</p><p>  如果余數(shù)等于0,證明秒表剛好跑完了60秒,此時(shí)判定信息為“T”,可以給分一個(gè)信號(hào),完成“分=分+1”的函數(shù)過(guò)程;</p><p>  如果余數(shù)不等于0,則證明不是秒表讀數(shù)不是60的整數(shù)倍,此時(shí)判定信息為“F”,相應(yīng)的函數(shù)過(guò)程為“分=分”。如圖3和圖4所示:&l

32、t;/p><p>  圖 3 圖 4</p><p>  到這一步,秒到分的轉(zhuǎn)換已經(jīng)完成了,接下來(lái)分到時(shí)的轉(zhuǎn)換又出現(xiàn)了問(wèn)題,由于處在一個(gè)while循環(huán)框內(nèi),所以判定信號(hào)的頻率就是秒表的頻率,如果同樣適用秒到分的方式進(jìn)行進(jìn)位,那么當(dāng)分的數(shù)值為60的整數(shù)倍,也就是給時(shí)進(jìn)位之后的1分鐘之內(nèi),每一秒都會(huì)測(cè)得“分=0”給時(shí)進(jìn)位,這是個(gè)不

33、得了的問(wèn)題。</p><p>  既然這60秒不好惹,那我們就避開(kāi)它,直接從“分”進(jìn)行判定,那么這一分與其他時(shí)刻的分的區(qū)別在哪呢?</p><p>  對(duì),問(wèn)題就在于“此時(shí)的分”與“前一分”,為了表示簡(jiǎn)單,我們?cè)O(shè):“此時(shí)的分=分”,“前一分=分′”,那么我們就將“分”與“分′”進(jìn)行比較:</p><p>  當(dāng)“分=分′”此時(shí)分沒(méi)有變化,秒沒(méi)有進(jìn)位;</p&g

34、t;<p>  當(dāng)“分>分′”此時(shí)分為正常進(jìn)位,即分與60的商為0;</p><p>  當(dāng)“分<分′”此時(shí)分雖然得到了進(jìn)位,顯示值卻小于上一分的數(shù)值,證明此時(shí)分與60的商為1,余數(shù)也就是當(dāng)前的“分=0”。如圖5和圖6(圖中已經(jīng)準(zhǔn)備好了同樣原理的給“日”進(jìn)位的端口,本章節(jié)不再重復(fù)強(qiáng)調(diào))所示:</p><p>  圖 5

35、 圖 6</p><p>  到這里,核心時(shí)間模塊的編寫(xiě)已經(jīng)完成了,這部分是整個(gè)電子萬(wàn)年歷的核心,也是整個(gè)體系的主要部件。接下來(lái)的章節(jié)依次講解其他構(gòu)件的編寫(xiě)過(guò)程。</p><p>  4.2 七段式數(shù)碼管子VI的編寫(xiě)</p><p>  七段式數(shù)碼管就是我們常見(jiàn)的電子標(biāo)上就有的“8”字?jǐn)?shù)字熒光顯示屏,通過(guò)7節(jié)不同位置的熒光條的亮暗差別顯示0~9的

36、數(shù)字,這一結(jié)構(gòu)其實(shí)也很簡(jiǎn)單,在LabVIEW編程的前面板中,有可以隨意改變形狀的熒光燈結(jié)構(gòu),可以采用這個(gè)結(jié)構(gòu)和合適的程序語(yǔ)言實(shí)現(xiàn)數(shù)字到二進(jìn)制編碼的轉(zhuǎn)變,然后對(duì)七段式數(shù)碼管進(jìn)行控制,其程序框圖如圖7和圖8所示:</p><p>  圖 7 圖 8</p><p>  為了美觀,我個(gè)人將每一段數(shù)碼管變成三

37、段,用在程序框圖中的首位相同的布爾元件代表(即“00~02”為一段數(shù)碼管,同時(shí)開(kāi)關(guān))。按照數(shù)碼管的排列位置編號(hào)0~6,通過(guò)索引數(shù)組模塊將0~9的數(shù)字轉(zhuǎn)換成相應(yīng)的控制顯示的二進(jìn)制代碼,而后將其數(shù)字信號(hào)轉(zhuǎn)換為“T”或“F”的二進(jìn)制代碼并與0~6的數(shù)碼管序號(hào)關(guān)聯(lián)控制數(shù)碼管的亮暗。</p><p>  4.3 年月日模塊的編寫(xiě)及進(jìn)制轉(zhuǎn)換算法</p><p>  圖6中已經(jīng)有了時(shí)分秒模塊向日進(jìn)位的端

38、口,而日到月的進(jìn)位就沒(méi)有那么簡(jiǎn)單了,但也有其規(guī)律算法可循,我們所熟知的:1、3、5、7、8、10、12七個(gè)月份都是31天的進(jìn)制,4、6、9、11四個(gè)月份是31天為進(jìn)制,二月是一個(gè)個(gè)例,其本身與年號(hào)相掛鉤,能被4整除不能被400整除的年,也就是閏年中,二月是29天,其他年份都為28天,通過(guò)這些邏輯的羅列我們能看到閏年的判定還是比較簡(jiǎn)單的,而且是決定月份計(jì)算的基礎(chǔ);月的判定相關(guān)性和相似性很強(qiáng),適合統(tǒng)一計(jì)算,閏年的計(jì)算如圖9所示:</p

39、><p><b>  圖 9</b></p><p>  按照經(jīng)驗(yàn)我們可以將日到月的運(yùn)算分為三類:二月份運(yùn)算、30天月份的運(yùn)算和31天月份的運(yùn)算。如圖10和圖11所示:</p><p>  圖 10 圖 11</p><p>  首先要強(qiáng)調(diào)的是系統(tǒng)運(yùn)算時(shí)所

40、用的數(shù)字是從0開(kāi)始的自然數(shù)組,而現(xiàn)實(shí)中的月份和日期都是從1開(kāi)始的數(shù)組,所以就設(shè)置了“ri=日-1”和“yue=月-1”的轉(zhuǎn)化語(yǔ)言,此處并非編寫(xiě)錯(cuò)誤。</p><p>  時(shí)進(jìn)給日的是非條件分為三條路線分別傳送給二月運(yùn)算路線、30天月份運(yùn)算路線和31天月份運(yùn)算路線,可以看到0~11的12個(gè)數(shù)字被分成了三組,分別代表這三個(gè)月份分類,通過(guò)求當(dāng)前月份值與相應(yīng)數(shù)字的差值是否為0來(lái)判定當(dāng)前處于哪個(gè)月份,處于2月則需再根據(jù)跟閏

41、年判斷結(jié)果相與得到的邏輯符號(hào)來(lái)判定是進(jìn)入28天的運(yùn)算模塊還是29天的運(yùn)算模塊,如果不在二月,就直接輸出0就可以了;處于30天的月份則只需令“T”時(shí)為30天運(yùn)算,“F”時(shí)輸出為0就可以了,31天月份的運(yùn)算方式也是如此。</p><p>  這種運(yùn)算方式確保了12個(gè)月的路線全都走過(guò),有該累計(jì)月份進(jìn)位的就輸出1,不該累計(jì)的輸出0,這樣的12個(gè)數(shù)字最后求和就可以準(zhǔn)確無(wú)誤的算出當(dāng)前的月份值了。</p><

42、;p>  月到年的進(jìn)位就更加簡(jiǎn)單了,跟分到時(shí)的進(jìn)位大同小異,這里不再詳細(xì)說(shuō)明。</p><p>  4.4 星期模塊的編寫(xiě)及數(shù)碼管顯示矩陣算法</p><p>  星期模塊是編寫(xiě)過(guò)程中最為麻煩的一個(gè)模塊,由于統(tǒng)計(jì)的數(shù)據(jù)過(guò)于龐大,所以就采用了三個(gè)方案進(jìn)行簡(jiǎn)化:</p><p>  將年、月事先進(jìn)行除7取余的簡(jiǎn)化,也就是選取一個(gè)基準(zhǔn)年的年初第一天,即2000年1月

43、1日作為基準(zhǔn)日,選擇2000年是因?yàn)?000年是能被400整除的非閏年,這樣在計(jì)算2000年前或2000年后的不同年份的日期時(shí)可以4年為一個(gè)小單位,25個(gè)小單位為一個(gè)大單位,詳細(xì)的說(shuō)就是非閏年365天,可以簡(jiǎn)單運(yùn)算為:365÷7=52……1,星期的進(jìn)位為1,閏年366÷7=52……2,星期進(jìn)位為2,每4年含有一個(gè)閏年,每25個(gè)4年,也就是每100年有一個(gè)被400整除的特殊非閏年,這樣的計(jì)算模式如圖12和圖13所示:&

44、lt;/p><p>  圖 12 圖 13</p><p>  對(duì)當(dāng)前月份和本年度經(jīng)過(guò)整月份的運(yùn)算也通過(guò)相似的方法進(jìn)行整合取余簡(jiǎn)化運(yùn)算,鑒于本部分圖案特點(diǎn)原因,就不單獨(dú)進(jìn)行圖示了</p><p>  星期的表示方式采用熒光管矩陣形式</p><p>  這種形式的應(yīng)用主要是考慮

45、到美觀性和協(xié)調(diào)性,整個(gè)萬(wàn)年歷中的年、月、日、時(shí)、分、秒的顯示都可以憑借七段式數(shù)碼管來(lái)實(shí)現(xiàn),那么何不將星期的顯示也通過(guò)數(shù)碼管來(lái)實(shí)現(xiàn)呢?</p><p>  而星期兩個(gè)字在一周7天的變化中始終不變,所以就直接寫(xiě)在前面板上,“一”到“日”的變化可以通過(guò)點(diǎn)亮矩陣中相應(yīng)位置的燈來(lái)顯示,圖14所示就是前面板顯示用的10*10數(shù)碼管矩陣中顯示數(shù)字“五”的效果:</p><p><b>  圖

46、14</b></p><p>  4.5 鬧鐘模塊的編寫(xiě)及智能化的加入</p><p>  其實(shí)作為萬(wàn)年歷一般都不會(huì)具有鬧鐘模塊的,這里添加鬧鐘模塊只是出于我個(gè)人對(duì)于電腦沒(méi)有自帶鬧鐘的消遣,這一模塊也是整個(gè)系統(tǒng)中最為簡(jiǎn)單的模塊,通過(guò)直接讀取時(shí)、分信息與設(shè)定信息比對(duì),相同時(shí)就響起鬧鐘,而我設(shè)計(jì)的鬧鐘還有兩個(gè)更為人性化的地方:</p><p>  鬧鐘除了時(shí)

47、、分的比對(duì)之外,還設(shè)有能單獨(dú)開(kāi)關(guān)的日期比對(duì)模塊,也就是說(shuō),如果你需要,可以指定鬧鐘在固定日期的固定時(shí)間響起,而其他日期的這一時(shí)間絕對(duì)不會(huì)影響你。</p><p>  鬧鐘還設(shè)置了間歇式逐次提醒模式,鬧鐘每次持續(xù)響鈴時(shí)間為1分鐘,如果你沒(méi)時(shí)間去管它,那么一分鐘之后它就會(huì)暫時(shí)安靜下來(lái),給你5分鐘的休憩時(shí)間然后再響1分鐘,總共響鈴4次。</p><p>  這樣的設(shè)計(jì)沒(méi)有什么獨(dú)特或者高難度的地方

48、,純粹為了個(gè)人喜好而已。</p><p>  5 縱觀LabVIEW電子萬(wàn)年歷</p><p>  5.1 LabVIEW電子萬(wàn)年歷編制工作總結(jié)</p><p>  到這里,基于LabVIEW的電子萬(wàn)年歷的基本零件已經(jīng)講述完了,另外還有很多為了美化和實(shí)用考慮的編程部件和美化顯示效果的前面板設(shè)計(jì)就沒(méi)有什么技術(shù)性可言了,這樣的部件相互串接在一個(gè)大型的while循環(huán)框內(nèi)

49、就成了一個(gè)自循環(huán)的電子萬(wàn)年歷。</p><p>  現(xiàn)在的萬(wàn)年歷雖然已經(jīng)是修改了二十多次的完成版,運(yùn)行時(shí)的運(yùn)算也基本都趨于穩(wěn)定,不會(huì)再出現(xiàn)月份隨秒表跳動(dòng)等低級(jí)的錯(cuò)誤,但經(jīng)過(guò)最終的測(cè)試,也還存在著以下幾個(gè)不足:</p><p>  時(shí)間的初始設(shè)置中,月份和日期的設(shè)置只能通過(guò)對(duì)“yue”和“ri”的設(shè)置來(lái)實(shí)現(xiàn);</p><p>  時(shí)間的初始設(shè)置中,秒的設(shè)置不會(huì)起作用,

50、不管秒設(shè)置值為多少,點(diǎn)擊開(kāi)始之后,都會(huì)直接跳過(guò)當(dāng)前一分鐘進(jìn)入下一分鐘的0秒開(kāi)始計(jì)時(shí);</p><p>  鬧鐘的鈴聲尚不能自由選取,這里涉及軟件權(quán)限問(wèn)題,屬于個(gè)人能力欠缺</p><p>  以上3個(gè)問(wèn)題并非不能解決,只是鑒于個(gè)人原因沒(méi)有充足的時(shí)間進(jìn)行設(shè)計(jì),放到最后的主要原因是這些問(wèn)題都不影響程序整體的穩(wěn)定運(yùn)行。</p><p>  另外,整個(gè)電子萬(wàn)年歷的編程之中,

51、除了上述的各個(gè)部件之外,還有少數(shù)幾個(gè)微小功能的部件,在接下來(lái)的整體程序框圖(圖15)和前面板圖(圖16)中都有體現(xiàn):</p><p>  圖15 程序框圖</p><p>  圖 16 前面板</p><p>  5.2 從萬(wàn)年歷看向LabVIEW的全方位</p><p>  LabVIEW編寫(xiě)電子萬(wàn)年歷只是LabVIEW用法的一

52、個(gè)很小的方面,另外,LabVIEW在電子電路測(cè)量、微變化物理量測(cè)量中搭配硬件儀器設(shè)備構(gòu)件測(cè)量系統(tǒng)的功能也是當(dāng)今LabVIEW的主要用途之一。</p><p>  LabVIEW還經(jīng)常應(yīng)用于簡(jiǎn)單單片機(jī)設(shè)備虛擬系統(tǒng)開(kāi)發(fā)、工程機(jī)械控制等諸多領(lǐng)域。</p><p>  總結(jié)而言,軟件編輯操控硬件設(shè)備才是LabVIEW的看家本領(lǐng),在高新科技飛速發(fā)展的現(xiàn)在,硬件設(shè)備的更新?lián)Q代十分飛快,這也就意味著像L

53、abVIEW這樣的的編輯語(yǔ)言所受到的限制就越來(lái)越小,那么LabVIEW的未來(lái)究竟可以是什么樣子呢?是可編程自動(dòng)學(xué)習(xí)型的機(jī)器人設(shè)備還是高精度高可靠性的醫(yī)療衛(wèi)生裝備?我們無(wú)從知曉,但是,讓我們也多多少少的去接觸去了解一下這一類應(yīng)用,哪怕只是給自己編輯一個(gè)最為普通的日常應(yīng)用而已。</p><p><b>  謝辭</b></p><p>  本論文的研究和撰寫(xiě)是在**老師的

54、嚴(yán)格要求和悉心指導(dǎo)下完成的。在畢業(yè)設(shè)計(jì)期間,**老師對(duì)我始終嚴(yán)格要求、充分信任,對(duì)我的專業(yè)學(xué)習(xí)給予了充分的理解和支持,他教導(dǎo)的研究方法的探索、創(chuàng)新能力的培養(yǎng)以及為人處事的原則對(duì)我產(chǎn)生的意義遠(yuǎn)遠(yuǎn)超過(guò)了論文本身。在此,必須要向我的指導(dǎo)**老師表示感謝!</p><p>  同時(shí),我要特別感謝在大學(xué)期間曾經(jīng)給予過(guò)我關(guān)懷和幫助的所有老師。沒(méi)有他們對(duì)我各方面的關(guān)心和指導(dǎo),我是不會(huì)如此順利地完成我的學(xué)業(yè)以及這篇論文。<

55、/p><p>  另外,我還想感謝給予我支持和幫助的同學(xué)和室友。正是由于大家的團(tuán)結(jié)協(xié)作和互相幫助,才使得本論文能夠順利完成。在此,向他們表示衷心的感謝!</p><p>  最后,我向所有曾給予過(guò)我指導(dǎo)和關(guān)心的親人、老師和朋友們致以由衷的感謝和崇高的敬意。</p><p><b>  參考文獻(xiàn)</b></p><p>  [

56、1]鄭對(duì)元. 精通LabVIEW虛擬儀器程序設(shè)計(jì) 清華大學(xué)出版社; 2012年5月第1版:7</p><p>  [2] 陳樹(shù)學(xué),劉萱. LabVIEW寶典 電子工業(yè)出版社, 2005:205-211 </p><p>  [3](美)布魯姆著,劉章發(fā),LabVIEW編程樣式 電子工業(yè)出版社,2006:205-208</p><p>  [4](美)Johnson

57、,G.W,Jennings,R著;武嘉澍,陸勁昆譯. LabVIEW圖形編程 </p><p>  北京大學(xué)出版社,2001年1月:9-12</p><p>  [5](美)特拉維斯(Travis,J.),(美)克林(Kring,J.)著;喬瑞萍等譯. </p><p>  LabVIEW大學(xué)實(shí)用教程,2008,31(4):92-94.</p><

58、;p>  [6]江建軍. LabVIEW程序設(shè)計(jì)教程 電子工業(yè)出版社,2008年3月第一版:75</p><p>  [7]康威(Conway,J.),瓦特(Watts,S.)著. 軟件工程方法在LabVIEW中的應(yīng)用</p><p>  北京大學(xué)出版社, 2000(2):40</p><p>  [8]NI開(kāi)發(fā)者社區(qū),</p><p>

59、;  [9]鄭對(duì)元. 精通LabVIEW虛擬儀器程序設(shè)計(jì) 清華大學(xué)出版社,</p><p>  2012年5月第1版:65-68</p><p>  [10]黃松嶺,吳靜編著. 虛擬儀器設(shè)計(jì)基礎(chǔ)教程 清華大學(xué)出版社,2008年10月</p><p><b>  12-13</b></p><p>  [11]鄭對(duì)元. 精

60、通LabVIEW虛擬儀器程序設(shè)計(jì) 清華大學(xué)出版社,2012年5月第1版:181-192</p><p>  [12]David J.Ritter, LabVIEW GUI McGraw-Hill 2011年12月 第28卷:212-233</p><p>  [13]阮奇楨,我和LabVIEW 北京航空航天大學(xué)出版社2009年9月 第26卷第1期:27-29</p><

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論