根據(jù)Labview的虛擬儀器計算器設(shè)計_第1頁
根據(jù)Labview的虛擬儀器計算器設(shè)計_第2頁
根據(jù)Labview的虛擬儀器計算器設(shè)計_第3頁
根據(jù)Labview的虛擬儀器計算器設(shè)計_第4頁
根據(jù)Labview的虛擬儀器計算器設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、研究生課程考核試卷(適用于課程論文、提交報告)科目:虛擬儀器教師:姓名:學號:專業(yè):上課時間:類別:學術(shù)型考生成績:卷面成績平時成績課程綜合成績閱卷評語:閱卷教師(簽名)重慶大學研究生院制摘要通過對虛擬儀器課程的學習和撐握, 本次實驗設(shè)計了一個簡易計算器,可以 用來模擬真實計算器而進行一些簡單的基本運算。利用Labview軟件平臺編寫計 算器程序,可以實現(xiàn)“ +、-、X、卞平方、開方、xAy”這七種基本運算,并且 可以對上面的七種基本操作連續(xù)運算,另外實現(xiàn)了對輸入的錯誤數(shù)據(jù)進行清除的 功能。達到了本次實驗的要求。關(guān)鍵詞:Labview,七種基本運算,清除12目錄摘要1引言 2、整體方案設(shè)計2.

2、1、簇和前面板控件的說明2.2、程序流程圖3、具體實現(xiàn)過程3.1、前面板設(shè)計3.2、初始化和鍵的感應3.2.1、數(shù)字0-9的輸入3.3、輸入的第一個數(shù)3.3.1、多零問題3.3.2、小數(shù)點問題3.4、四則運算和xAy3.5、開方計算3.6、倒數(shù)計算3.7、輸入正負數(shù)去掉小數(shù)點后面 0的功能3.9、清除功能(Clear)103.10、退格功能104、總結(jié)12參考文獻13附錄A141、初始化程序142、總程序143、xy的幕程序15基于Labview的簡易計算器設(shè)計1、引言現(xiàn)代計算機技術(shù)和信息技術(shù)的迅猛發(fā)展,沖擊著國民經(jīng)濟的各個領(lǐng)域,也引起了測量儀器和測試技術(shù)的巨大變革。人們曾為測量儀器從模擬化、

3、數(shù)字化 到智能化的進步而欣喜,也為自動測試技術(shù)的日新月異的發(fā)展所鼓舞,當今虛 擬儀器技術(shù)的出現(xiàn)又使得測量儀器進步入了高科技的殿堂。虛擬儀器的起源可以追溯到 20世紀70年代,“虛擬”的含義主要是強調(diào)軟 件在儀器中的作用,體現(xiàn)了虛擬儀器與主要通過硬件實現(xiàn)各種功能的傳統(tǒng)儀器 的不同。由于虛擬儀器結(jié)構(gòu)形式的多樣性和適用領(lǐng)域的廣泛性,目前對于虛擬 儀器的概念還沒有統(tǒng)一的定義。美國國家儀器公司(Natio nal I nstru nents Corpotion,NI)認為,虛擬儀器是由計算機硬件資源、模塊化儀器硬件和用于 數(shù)據(jù)分析、過程通信及圖形用戶界面的軟件組成的測控系統(tǒng),是一種計算機操 縱的模塊化儀

4、器系統(tǒng)。使用虛擬儀器技術(shù),工程師可以利用圖形化開發(fā)軟件方 便、高效的創(chuàng)建完全自定義的解決方案,以滿足靈活多變的需求趨勢。本次實驗是基于LabVIEW軟件平臺而設(shè)計的一個簡易計算器,所設(shè)計的計 算器可以實現(xiàn)簡單的基本四則運算、平方、開方、求倒和 xAy任意次幕計算;還 能夠?qū)崿F(xiàn)清零和對輸入的錯誤數(shù) Backs pace功能。2、整體方案設(shè)計根據(jù)標準計算器的運算規(guī)則,得到下面本次實驗的整體程序框圖。圖2.1總體框圖2.1、簇和前面板控件的說明簇中有22個布爾型控件,簇中的符號說明如下表所示,由于本次實驗中我 們使用的是事件結(jié)構(gòu),配合屬性節(jié)點可以讀取布爾控件中的文本信息,所以可以不用對簇中的布爾控件

5、編號。事件結(jié)構(gòu)包括一個或多個子程序框圖或事件分支, 結(jié)構(gòu)執(zhí)行時,僅有一個子程序框圖或分支在執(zhí)行。事件結(jié)構(gòu)可等待直至事件發(fā)生, 并執(zhí)行相應條件分支,處理該事件。右鍵單擊結(jié)構(gòu)邊框,可添加新的分支并配置 要處理的事件。連線事件結(jié)構(gòu)邊框左上角的“超時”接線端,指定事件結(jié)構(gòu)等待 事件發(fā)生的時間,以毫秒為單位。默認值為-1,即永不超時。前面板除了簇中的22個布爾控件外,還包含第一個輸入數(shù)的存儲和顯示的 數(shù)值控件num1,以及第二個輸入數(shù)的存儲和顯示的數(shù)值控件num2和一個存儲操作運算的字符串控件operator,以及顯示運算結(jié)果的字符串控件 Show,Show充 當計算器的顯示器。還包含一個停止按鈕。表1

6、簇中布爾控件的說明簇0 9.sqrt1/Xxy+、-、+/-=Cbackspace表示輸入的0-9數(shù)值小數(shù)點開方倒數(shù)X的y次幕四則運算正負號等號清除退格2.2、程序流程圖開始初始化(數(shù)據(jù)清空、局部變量清零)輸入第一個數(shù)值YNY組合字符判斷是否有操作運算判斷是否有小數(shù)點“.”N判斷是否為開萬、倒數(shù)運算輸入第二個數(shù)值NNY組合字符下“=”判斷是否按判斷是否有小數(shù)點“.”顯示計算結(jié)果2.2算法流程圖3、具體實現(xiàn)過程3.1、前面板設(shè)計為了使得所設(shè)計的計算器的外觀比較好看,先在前面板上放置一個修飾控件,然后在修飾框里建立一個簇,在簇中放置22個布爾控件,其中包括0-9十個數(shù)字鍵,1個小數(shù)點鍵,4個“+

7、-、X、寧運算鍵,1個等號鍵,1個開 方,1個符號轉(zhuǎn)換,1個倒數(shù),1個x的y次幕,1個清零,1個退格,并對每一 個布爾控件修改一個適合的名稱,放置兩個數(shù)值型的控件用于存儲兩個計算的數(shù) 據(jù)存儲和顯示,放置兩個字符串的控件,F(xiàn)irstrun所在的字符串控件表示運算符op erator的存儲和顯示控件,上面的最大的字符串大框用于顯示計算的結(jié)果,最 終放置完所有控件并排版后得到如下圖3.1所示的前面:基于Lalbview的簡易計算器FiftrunMy 1旳rt 1l/x 1J5 I2 I-(00圖3.1前面板布局3.2、初始化和鍵的感應在后面板中先放置一個層疊式順序結(jié)構(gòu),先將前面板中的各個顯示框初始

8、化,由于在本程序中用到了部分全局變量,也需要初始化,總的初始化如下圖3.2所示: 口口口口口口 口口口 OI口口斗 0 亡可卜口 口 口口 D h口 peratoriFifsvunl,E卜o四則運罰魚 loaBsar umlJfpsrI 1 l-aC-l I冷胡rrum2回etc圖3.2各顯示控件初始化然后在層疊式順序結(jié)構(gòu)中實施在后面添加幀操作。在1幀里添加while循環(huán)。Clnstev ?6 Arvayl將簇放置在while循環(huán)里面,在循環(huán)里面放置一個,將簇中元素按產(chǎn)生的順序組成一個一維數(shù)組,這樣就實現(xiàn)了每個鍵與數(shù)字(0-21)之間的對應。查找出對應的鍵并把結(jié)果連接到一個事件每次按下一個鍵時

9、,通過且結(jié)構(gòu),通過事件結(jié)構(gòu)的控件引用結(jié)合屬性節(jié)點便可得到前面板中控件上面顯示的 字符,至此就完成了對鍵的感應過程,如下圖 3.3所示。 口口口 口 PUD 口 刊1陰卜嚀圖3.3鍵的感應321、數(shù)字0-9的輸入由于前面板中的0-9數(shù)字鍵其屬性設(shè)置中的關(guān)時文本分別對應 0-9,通過控 件引用,然后選擇屬性節(jié)點,布爾文本中的文本,然后用 Decimal String To Number數(shù)字將感應到的布爾文本字符串轉(zhuǎn)化為數(shù)值,然后將數(shù) 字存儲在全局變量tdata中,將tdata和之前的數(shù)據(jù)連接便可得到需要計算的每一 個數(shù)據(jù),如圖3.4所示。錢crc. jfetAc豔tnuc. iSJoyr g.后g

10、:宏宜叭養(yǎng)區(qū)蛭rinw:族比nJ;道SLS 卜卜嚴 BmI 3oclrtAtreV圖3.4數(shù)字0-9的感應3.3、輸入的第一個數(shù)3.3.1、多零問題當?shù)谝淮屋斎?時,與輸入數(shù)字1-9的情況相同,現(xiàn)在就零輸入時的多零問 題進行設(shè)計。雖然以多個零開頭不影響輸出的結(jié)果,但考慮到顯示形式的正確性, 只在小數(shù)點前顯示一個零。當運行程序時按多次數(shù)字0,通過十進制數(shù)字符串至Decimal String To Number宇苻串一數(shù)字轉(zhuǎn)換如,將多個0的輸入變成一個0,如圖3.5所示。332、小數(shù)點問題一個輸入數(shù)中不可能出現(xiàn)兩個及其以上的小數(shù)點, 所以需要對輸入的數(shù)據(jù)進 行設(shè)計。由于單獨的按小數(shù)點的時候并不能進

11、入主程序中運行,只有當按數(shù)字鍵0-9的時候,全局變量卜卜卜于Show存儲的字符串最末尾就帶有小數(shù)點,所以可以直接將原來的字符串數(shù)據(jù)和新輸入的數(shù)字連接成新的字符串。如下圖3.6所示:in b才為真,為真的時候才進入主程序中運行,由圖3.9開方計算圖3.6多輸入小數(shù)點的這問題對第二個數(shù)的輸入判斷是不是多 0和多小數(shù)點的問題也是一樣的,因此不再 贅述。3.4、四則運算和X八y點擊四則運算的時候,operator先獲得操作數(shù)的類型(+、-、x、勺,由于計 算xy的時候也將Power的值賦給operator,所以按等號的時候?qū)@五種運算進 行計算。如圖3.7和3.8所示:I時面 鈿SS3B a 01丁0

12、 玳Tc 比一G P1 EG r IBr 卜鼻show J L3 UUUUUULIUIJBJLiEJLJ BfU 口 LJLJLJL3L3EJILJLJLJLJLJLJ 匚IF一 !-r 議Eqg:値et雯畫“7和“盯”口仃“切嘰口中Ppm唧mm oUI優(yōu)門tLirrIfln intd書 Limt IAF*rLm:Wj口口口口口口口口口口C口口口口口口口圖3.8四則運算和xAy的計算3.5、開方計算開方的計算可以不用按等號便可直接進行計算和顯示。a于Latwiow的簡易計SO舉-卜I 疔-養(yǎng)和rr:道改痰L時閭h控件引s原1 奔 2howp*J- -.t114* fnJ紳FubP& rtr I

13、 rti J3.6、倒數(shù)計算和開方計算一樣,輸入一個數(shù)便可計算出其倒數(shù)值。馬H工1蟻W直改變5ho詢卜卜慢薑1圖3.7、輸入正負數(shù)界面上有“ +/-”這個按鈕,能夠?qū)ω摂?shù)進行計算。|wfL- !r J ml.圖3.11正負數(shù)運算3.8、去掉小數(shù)點后面0的功能12。使用格式化寫入由于經(jīng)過前面的運算,數(shù)據(jù)后面保持 6位小數(shù),如12.000000這種情況。為 了和一般所見到的計算器的顯示格式一樣,即將其顯示為 字符串,其格式字符串設(shè)置為#f,%表示格式說明符的開始,#使用格式化函數(shù) 時,該修飾符移除尾部的無效零,如數(shù)值無小數(shù)部分,該修飾符會將有效數(shù)字精 度之外的數(shù)值強制為零,f表示帶小數(shù)格式的浮點數(shù)

14、。去掉小數(shù)點的程序如圖3.12 所示:5+7=12|ftIdb-J frii urm:圖3.12去掉末尾多余的0E卜一尸mg3.9、清除功能(Clear )清除功能能使各個顯示控件和全局變量恢復到初始化的狀態(tài),保證后續(xù)計算能夠正確地進行,類似于初始化的功能。如圖3.13所示。gBSEESg+/-DisabledFir 百 tain 円 #0 peraitor|sqrl時聞控件引用焉值 I卜egr|匡卜poinT|hD;ablgdft num 1圈、;】町列心I國i網(wǎng)匹則運算squareI ?disabled-DisabledDisflbled Disabled圖3.13清除功能3.10、退格功

15、能有時候輸入的數(shù)據(jù)并不是我們需要的或者其它的原因需要修改輸入的數(shù)值, 這時候用一個退格功能的按鈕能帶來很大的方便。主要是用到了字符串長度M和截取字符串長度J +. O*#這兩個。如圖3.14所示。d惟,退籽:if改變対間掛牛呂用SHS.aI申四鳳I運苣葉iI3ZZEr fE ttf *1ULTL|_一一N ! 3 UW UTJU F 3 hJL L US WJ3 3 U4 2Ul I 3 U U h圖3.14退格功能4、總結(jié)本程序框圖完成對計算器的兩個輸入數(shù)據(jù)的加、減、乘、除、平方、開方、 倒數(shù)和xAy次幕這八種基本運算。而且對加、減、乘、除四種基本運算實現(xiàn)連續(xù) 運算的功能,能夠?qū)斎氲臄?shù)據(jù)進行退格,并且對顯示的數(shù)據(jù)去掉末尾多余的 0。 還對除法等運算進行除數(shù)的判定,當除數(shù)為 0時候,顯示“除數(shù)不為0!或者 “被開方數(shù)不為負數(shù)! ”。通過本次實驗對計算器的設(shè)計,增加了我對虛擬儀器設(shè) 計軟件系統(tǒng)的認識,也很感謝文老師課堂上認真的講解, 使得我們同學少走了很 多彎路。參考文獻1陳錫輝丄abview8.20程序設(shè)計從入門到精通M.北京:清華大學出版社,2007.附錄A總程序框圖:1、初始化程序2、總程序LJHLJULJUELJEJLJnLltJLILJELJULJ

溫馨提示

  • 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

提交評論