基于LABVIEW的計算器課程設(shè)計報告_第1頁
基于LABVIEW的計算器課程設(shè)計報告_第2頁
基于LABVIEW的計算器課程設(shè)計報告_第3頁
基于LABVIEW的計算器課程設(shè)計報告_第4頁
基于LABVIEW的計算器課程設(shè)計報告_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、石家莊經(jīng)濟學(xué)院專業(yè)實習(xí)報告 班級: 姓名: 題目: 基于LABVIEW的簡易計算器設(shè)計 2013年 1 月 15 日 摘 要 虛擬儀器技術(shù)把現(xiàn)成即用的商業(yè)技術(shù)與創(chuàng)新的軟、硬件平臺相集成,從而為嵌入式設(shè)計、工業(yè)控制以及測試和測量提供了一種獨特的解決方案。使用虛擬儀器技術(shù),工程師可以利用圖形化開發(fā)軟件方便、高效的創(chuàng)建完全自定義的解決方案,以滿足靈活多變的需求趨勢。本次課程設(shè)計是基于LABVIEW所設(shè)計的計算器,目的是為了實現(xiàn)兩個數(shù)之間的加、減、乘、除四則運算及開方、求倒、取負運算,達到簡易計數(shù)器的功能。編程的思想是完成一種運算的過程,這個過程是:輸入第一個數(shù),存儲并顯示;輸入要進行運算的類型并存儲

2、;輸入第二個數(shù),存儲并顯示;按“=”運算或者按其它運算符號進行連續(xù)的運算時顯示運算結(jié)果。關(guān)鍵詞:LABVIEW;計算器;四則運算;函數(shù)功能ABSTRACT This experiment is to realize the sum of two Numbers, subtract, multiply, divide and root, then pour, simple operation, to bear the calculator. Programming is a complete thoughts of the operation process is complet,the num

3、ber, storage and input to the input operations and storage input number of the second type, storage and press = or by other operations symbol continuous operation result shows.KEY WORDS:LABVIEW;Calculator;Arithmetic;Function 目 錄1 引言52 總體設(shè)計方案62.1 程序流程圖72.2 簇中的各元素在條件結(jié)構(gòu)中代表的序號72.3 具體實現(xiàn)過程82.3.1 前面板設(shè)計及鍵入感

4、應(yīng)82.3.2 運算變量的初始化92.3.3 數(shù)字1-9的輸入92.3.4 數(shù)字0的輸入102.3.5 小數(shù)點的輸入112.3.6 結(jié)果去零操作122.3.7 “+/-”鍵的設(shè)計132.3.8 “+、-、*、/”四則運算132.3.9 等號鍵142.3.10 百分?jǐn)?shù)運算142.3.11 開方運算142.3.12 取倒數(shù)運算152.3.13 退格鍵的設(shè)計152.3.14 清零鍵的設(shè)計162.3.15 停止鍵163 結(jié)論17致 謝18參考文獻18附錄19 基于LABVIEW的簡易計算器設(shè)計1 引言 本次課程設(shè)計是基于LabVIEW虛擬儀器系統(tǒng)開發(fā)與實踐等原理與技術(shù)而設(shè)計的計算器,可以用來模擬真實計

5、算器而進行一些簡單的基本運算。虛擬儀器的起源可以追溯到20世紀(jì)70年代,“虛擬”的含義主要是強調(diào)軟件在儀器中的作用,體現(xiàn)了虛擬儀器與主要通過硬件實現(xiàn)各種功能的傳統(tǒng)儀器的不同。由于虛擬儀器結(jié)構(gòu)形式的多樣性和適用領(lǐng)域的廣泛性,目前對于虛擬儀器的概念還沒有統(tǒng)一的定義。美國國家儀器公司(National Instrunents Corpotion ,NI)認為,虛擬儀器是由計算機硬件資源、模塊化儀器硬件和用于數(shù)據(jù)分析、過程通信及圖形用戶界面的軟件組成的測控系統(tǒng),是一種計算機操縱的模塊化儀器系統(tǒng)。使用虛擬儀器技術(shù),工程師可以利用圖形化開發(fā)軟件方便、高效的創(chuàng)建完全自定義的解決方案,以滿足靈活多變的需求趨勢

6、。 本次設(shè)計的計算器是利用虛擬儀器技術(shù)而完成的,可以完成利用計算器可以進行簡單的四則運算、可以進行平方、開根號和倒數(shù)運算、計算器可以進行清零和關(guān)閉計算器操作、在輸入數(shù)據(jù)時不慎將某個數(shù)字輸錯可以運用BackSpace清除該值等一些基本簡單的運算。2 總體設(shè)計方案完成標(biāo)準(zhǔn)型計算器的一般功能。設(shè)計框圖如圖2-1所示:圖2-1 程序框圖2.1 程序流程圖 圖2-2 程序流程圖2.2 簇中的各元素在條件結(jié)構(gòu)中代表的序號 表2-1簇中元素默認12345條件結(jié)構(gòu)中序號012345簇中元素67890.條件結(jié)構(gòu)中序號67891011簇中元素+/-+-*/=條件結(jié)構(gòu)中序號121314151617簇中元素sqrt%

7、1/xBackspaceCEXIT條件結(jié)構(gòu)中序號1819202122232.3 具體實現(xiàn)過程2.3.1 前面板設(shè)計及鍵入感應(yīng)首先建立一個簇,然后在簇中建立23個布爾量,其中包括0-9十個數(shù)字鍵,1個小數(shù)點鍵,4個“+、-、*、/”運算鍵,1個等號鍵,1個開方鍵,1個符號轉(zhuǎn)換鍵,1個倒數(shù)鍵,1個求百分?jǐn)?shù)鍵,1個清零鍵,1個退格鍵,1個退出鍵。如圖2-3所示: 圖2-3 前面板然后通過簇至數(shù)組轉(zhuǎn)換函數(shù)將簇中元素按產(chǎn)生的順序組成一個一維數(shù)組,如圖2-4所示: 圖2-4 鍵入感應(yīng)過程這樣就實現(xiàn)了每個鍵與數(shù)字(1-23)之間的對應(yīng)。每次按下一個鍵時,通過搜索一維數(shù)組函數(shù)查找出對應(yīng)的鍵并把其加1后對應(yīng)的數(shù)

8、字連接到一個case結(jié)構(gòu),然后執(zhí)行對應(yīng)case結(jié)構(gòu)中的程序,至此就完成了對一個鍵的感應(yīng)過程。2.3.2 運算變量的初始化 在運行程序之前,首先對需要用到的變量進行初始化,如圖2-5所示: 圖2-5 運算變量的初始化在沒有鍵按下的情況下,數(shù)值顯示控件顯示的是0。從上到下的寄存器功能依次為:最上面的用來存儲display中的數(shù)據(jù),第二個用來存放四則運算的符號,第三個用來前一次運算后輸出的數(shù)值,最底下的用來給出控制變量。2.3.3 數(shù)字1-9的輸入以數(shù)字“1”為例,當(dāng)?shù)谝淮屋斎霐?shù)字“1”后,波爾量為真,進入case結(jié)構(gòu),將1輸出到display中,波爾量變?yōu)榧?,如圖2-6所示。 圖2-6 輸入數(shù)字1

9、時若再次輸入1,為避免出現(xiàn)01這樣的字符串,先判斷之前顯示的數(shù)據(jù)是否為0,若為0,則直接輸出1,如圖2-7所示。 圖2-7 輸入第一個數(shù)字為0時若不為0,則將這兩次輸入的數(shù)據(jù)通過連接字符串函數(shù)連接到一起,在display中輸出。數(shù)字2到9也是同樣的道理,如圖2-8所示。 圖2-8 輸入第一個數(shù)字不為0時2.3.4 數(shù)字0的輸入當(dāng)?shù)谝淮屋斎?時,與輸入數(shù)字1-9的情況相同,現(xiàn)在就零輸入時的多零問題進行設(shè)計。雖然以多個零開頭不影響輸出的結(jié)果,但考慮到顯示形式的正確性,只在小數(shù)點前顯示一個零。當(dāng)數(shù)據(jù)輸入后,通過連接字符與00比較,若不等,則將數(shù)據(jù)直接輸出如圖2-9所示。 圖2-9 輸入不是00時當(dāng)數(shù)

10、據(jù)輸入后,通過連接字符與00比較,若相等,則直接輸出0,如圖2-10所示。 圖2-10 輸入是00時2.3.5 小數(shù)點的輸入 在小數(shù)點的輸入時,最多只能顯示出一個。若直接點擊小數(shù)點,則以“0.”輸出。若之前已輸入數(shù)據(jù),此時再輸入小數(shù)點首先利用如圖2-11所示程序圖2-11 判斷小數(shù)點的有無判斷已輸入的數(shù)據(jù)中是否含有小數(shù)點,若不含有,則執(zhí)行程序“真”,如圖2-12所示; 圖2-12 輸入不含小數(shù)點時若已輸入的數(shù)據(jù)中含有小數(shù)點,則執(zhí)行程序“假”,如圖2-13所示。 圖2-13 輸入含有小數(shù)點2.3.6 結(jié)果去零操作在進行“+、-、*、/”運算及取負,取百分?jǐn)?shù),去倒數(shù),開放運算之后程序默認為以保留6

11、位小數(shù)的形式輸出。而為了顯示結(jié)果的簡便,將末位不影響結(jié)果的零及小數(shù)點進行省略。利用層疊式順序結(jié)構(gòu),首先將得出的結(jié)果經(jīng)過N-1位的偏移后與零進行比較,若相等,則進行去零操作,運用while循環(huán)結(jié)構(gòu),直至末位數(shù)字不為零,循環(huán)結(jié)束(如圖2-14-上圖表示末位為零,下圖表示末位不為零)。 圖2-14 去0操作在進行去零操作之后,進行層疊式順序結(jié)構(gòu)的第二層,對無關(guān)的小數(shù)點進行清除(如圖2-15-上圖表示末位為小數(shù)點,下圖表示末位不是小數(shù)點)。 圖2-15 去多余小數(shù)點操作2.3.7 “+/-”鍵的設(shè)計首先進行掃描字符串,將字符串?dāng)?shù)據(jù)轉(zhuǎn)換為數(shù)值數(shù)據(jù),經(jīng)過取負數(shù)后再轉(zhuǎn)換為字符串形式輸出。如圖2-16所示,其

12、中的順序結(jié)構(gòu)為去末尾零和去無關(guān)小數(shù)點的操作。 圖2-16 去0和小數(shù)點操作2.3.8 “+、-、*、/”四則運算以加法為例,當(dāng)簇中輸出的數(shù)據(jù)表示進行加法運算時,程序進入五層的層疊式順序結(jié)構(gòu),首先將字符串進行掃描,轉(zhuǎn)換為數(shù)值變量,如圖2-17所示。 圖2-17 掃描字符串并轉(zhuǎn)換為數(shù)值變量之后,對之前的數(shù)據(jù)進行運算,以保證連續(xù)運算時得到正確的結(jié)果:當(dāng)?shù)谝淮屋斎霑r,默認進行firstrun條件下的程序,如圖2-18所示。 圖2-18 默認條件下的程序若以前已有運算,以減法為例,先將之前的兩個數(shù)進行相減運算,并進行去零操作,之后再將本次的運算符號送入“運算符號”的局部變量,以便于進行下次運算,如圖2-

13、19所示。 圖2-19 運算過程操作2.3.9 等號鍵實現(xiàn)最終的運算結(jié)果,將結(jié)果進行去零操作后輸出到display中,同時將代表運算符號的移位寄存器置為空字符串。以加法為例。如圖2-20所示: 圖2-20 輸出運算結(jié)果2.3.10 百分?jǐn)?shù)運算 將字符串轉(zhuǎn)換為數(shù)值輸出后除以100即可得到百分?jǐn)?shù)輸出,并對其進行去零(順序結(jié)構(gòu)的后兩層為去零操作),如圖2-21所示:圖2-21 輸出百分?jǐn)?shù)運算結(jié)果2.3.11 開方運算 將字符串轉(zhuǎn)換為數(shù)值后進行開放運算,再轉(zhuǎn)換為字符串輸出,并進行去零操作(順序結(jié)構(gòu)的后兩層為去零操作),如圖2-22所示: 圖2-22 輸出開方運算結(jié)果2.3.12 取倒數(shù)運算 將字符串轉(zhuǎn)

14、換為數(shù)值后進行取倒數(shù)運算,再轉(zhuǎn)換為字符串輸出,并進行去零操作(順序結(jié)構(gòu)的后兩層為去零操作),如圖2-23所示: 圖2-23 取倒去0操作2.3.13 退格鍵的設(shè)計在點擊退格鍵時,要實現(xiàn)從末位開始的依次推格,直至輸出為0.首先,將整數(shù)部分與小數(shù)部分進行分離,運用拆分字符串函數(shù)實現(xiàn)此功能。分離后,將小數(shù)部分的字符串長度與0進行比較,若大于0,則進入到條件結(jié)構(gòu)的“真”,字符串長度減1后與整數(shù)部分連接,得到新的display輸出,如圖2-24所示。 圖2-24 小數(shù)部分退格鍵設(shè)計若原字符串只有整數(shù)部分或者小數(shù)部分已經(jīng)過退格鍵清除,則進入到條件結(jié)構(gòu)的“假”。若整數(shù)部分的字符串長度大于1,則進入到子條件結(jié)

15、構(gòu)的“假”,將整數(shù)的字符串長度減一后輸出,如圖2-25所示。 圖2-25 整數(shù)部分退格鍵設(shè)計若整數(shù)部分的長度不大于1,即小于等于1時,則進入到子條件結(jié)構(gòu)的“真”,直接輸出0.,如圖26 所示。 圖2-26 整數(shù)部分退格鍵設(shè)計2.3.14 清零鍵的設(shè)計將程序中所有用到的變量均進行復(fù)位,達到清零復(fù)位的目的,如圖2-27所示。 圖2-27 清零操作相當(dāng)于進行計數(shù)器的初始化操作。2.3.15 停止鍵 程序結(jié)束,將T輸入到while循環(huán)的停止鍵上,如圖2-28所示。 圖2-28 退出操作3 結(jié)論經(jīng)過調(diào)試,此次設(shè)計的簡易計算器可以實現(xiàn)實物計算器具有的一般功能。LABVIEW對于初學(xué)者比較容易理解接受,用L

16、ABVIEW設(shè)計的程序調(diào)理分明,具有很強的邏輯。即使在不深入學(xué)習(xí)的情況下,也可以實現(xiàn)一些簡單的設(shè)計。還可以根據(jù)用戶自己的需要添加一些特有的功能,這是比實物的計算器更高明的地方的。但是,由于虛擬儀器的局限,使得用戶在一些情況下沒有實物用著方便,使用LABVIEW必須在準(zhǔn)備好的環(huán)境下才能使用??傊?,由于LABVIEW能夠為用戶提供簡明、直觀、易用的圖形編輯方式,能夠?qū)⒎爆崗?fù)雜的語言編程簡化成以菜單提示方式選擇功能,與傳統(tǒng)的語言比較,LABVIEW圖形編輯方式能夠節(jié)省程序的開發(fā)時間。在不久的將來,人們可以LABVIEW設(shè)計的計算器計算出任何問題,在實現(xiàn)基礎(chǔ)運算的條件下,只需要選擇運算的路徑,屆時使用

17、虛擬儀器一定會成為社會的主流。 致 謝 這次畢業(yè)設(shè)計得到了老師和同學(xué)的幫助,另外,感謝消校方給予我們這樣一次機會,能夠獨立的完成一個課題,并在這個過程當(dāng)中,給予我們一些機會,使我們在即將實習(xí)的最后一段時間里,能夠更多學(xué)習(xí)一些實踐應(yīng)用知識,增強了我們實踐操作和動手應(yīng)用能力,提高了獨立思考的能力。 再一次對我的母校表示感謝。感謝在整個畢業(yè)設(shè)計期間給予過我?guī)椭幕锇閭儯诒敬握n程設(shè)計即將結(jié)束的最后的日子里,正是因為有了你們的幫助,才讓我不僅學(xué)到了本次課題所涉及的新知識,更讓我感覺到了知識以外的東西。最后,感謝所有在這次畢業(yè)設(shè)計中給予過我?guī)椭娜?。再一次真誠地表示感謝你們!參考文獻1 葉齊鑫,侯國屏,

18、趙偉. 虛擬儀器環(huán)境下的頻率特性測試方法J. 電測與儀表,2005(6):10-13.2 高聰杰,李松巖.基于LabVIEW的信號輸出與數(shù)據(jù)采集系統(tǒng)J.數(shù)采與監(jiān)測,2008,(24):135-136.3馬銀平,宣亮亮,彭如基于LabVIEW的數(shù)據(jù)采集系統(tǒng)分析與設(shè)計電子元器件應(yīng)用2009年第11卷第10期4 夏俊芳,周勇,張平華.基于虛擬儀器技術(shù)的排種器漏播檢測技術(shù)J.華中農(nóng)業(yè)大學(xué)學(xué)報,2008,27(4):540-544.5劉雁征,滕光輝虛擬儀器技術(shù)在設(shè)施農(nóng)業(yè)中的應(yīng)用現(xiàn)狀及趨勢J.華中農(nóng)業(yè)大學(xué)學(xué)報,2004(增刊35):81-86.6 陳秀清.關(guān)于虛擬實驗室的建設(shè)J.福建廣播電視大學(xué)學(xué)報,2003(1):40-43. 7楊樂平,李海濤.北京LabVIEW高級程序設(shè)計M.北京:清華大學(xué)出版社,2003.1-350.8 陳錫輝.Labview8.20程序設(shè)計從入門到精通M.北

溫馨提示

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

評論

0/150

提交評論