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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

11、入主程序中運(yùn)行,只有當(dāng)按數(shù)字鍵0-9的時(shí)候,全局變量卜卜卜于Show存儲(chǔ)的字符串最末尾就帶有小數(shù)點(diǎn),所以可以直接將原來的字符串?dāng)?shù)據(jù)和新輸入的數(shù)字連接成新的字符串。如下圖3.6所示:in b才為真,為真的時(shí)候才進(jìn)入主程序中運(yùn)行,由圖3.9開方計(jì)算圖3.6多輸入小數(shù)點(diǎn)的這問題對第二個(gè)數(shù)的輸入判斷是不是多 0和多小數(shù)點(diǎn)的問題也是一樣的,因此不再 贅述。3.4、四則運(yùn)算和X八y點(diǎn)擊四則運(yùn)算的時(shí)候,operator先獲得操作數(shù)的類型(+、-、x、勺,由于計(jì) 算xy的時(shí)候也將Power的值賦給operator,所以按等號的時(shí)候?qū)@五種運(yùn)算進(jìn) 行計(jì)算。如圖3.7和3.8所示:I時(shí)面 鈿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四則運(yùn)算和xAy的計(jì)算3.5、開方計(jì)算開方的計(jì)算可以不用按等號便可直接進(jìn)行計(jì)算和顯示。a于Latwiow的簡易計(jì)SO舉-卜I 疔-養(yǎng)和rr:道改痰L時(shí)閭h控件引s原1 奔 2howp*J- -.t114* fnJ紳FubP& rtr I

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

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

15、能有時(shí)候輸入的數(shù)據(jù)并不是我們需要的或者其它的原因需要修改輸入的數(shù)值, 這時(shí)候用一個(gè)退格功能的按鈕能帶來很大的方便。主要是用到了字符串長度M和截取字符串長度J +. O*#這兩個(gè)。如圖3.14所示。d惟,退籽:if改變対間掛牛呂用SHS.aI申四鳳I運(yùn)苣葉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é)本程序框圖完成對計(jì)算器的兩個(gè)輸入數(shù)據(jù)的加、減、乘、除、平方、開方、 倒數(shù)和xAy次幕這八種基本運(yùn)算。而且對加、減、乘、除四種基本運(yùn)算實(shí)現(xiàn)連續(xù) 運(yùn)算的功能,能夠?qū)斎氲臄?shù)據(jù)進(jìn)行退格,并且對顯示的數(shù)據(jù)去掉末尾多余的 0。 還對除法等運(yùn)算進(jìn)行除數(shù)的判定,當(dāng)除數(shù)為 0時(shí)候,顯示“除數(shù)不為0!或者 “被開方數(shù)不為負(fù)數(shù)! ”。通過本次實(shí)驗(yàn)對計(jì)算器的設(shè)計(jì),增加了我對虛擬儀器設(shè) 計(jì)軟件系統(tǒng)的認(rèn)識,也很感謝文老師課堂上認(rèn)真的講解, 使得我們同學(xué)少走了很 多彎路。參考文獻(xiàn)1陳錫輝丄abview8.20程序設(shè)計(jì)從入門到精通M.北京:清華大學(xué)出版社,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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論