基于LabVIEW的科學計算器_第1頁
基于LabVIEW的科學計算器_第2頁
基于LabVIEW的科學計算器_第3頁
基于LabVIEW的科學計算器_第4頁
基于LabVIEW的科學計算器_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄內(nèi)容摘要:1關(guān)鍵詞:1Abstract:11.緒 論21.1論文的研究背景21.2儀器的發(fā)展背景21.3虛擬儀器的發(fā)展及未來前景32 虛擬儀器及LabVIEW的介紹52.1虛擬儀器的介紹52.2虛擬儀虛擬儀器的主要特點52.3虛擬儀器開發(fā)平臺 LabVIEW的介紹62.3.1 LabVIEW的界面介紹72.3.2 虛擬儀器開發(fā)平臺LabVIEW8.5的程序構(gòu)成與模塊簡介72.4 LabVIEW的特點與發(fā)展103計算器的介紹123.1 計算器的起源123.2計算器的功能類型124.總體設(shè)計144.1 設(shè)計思路與流程圖144.2鍵入感應(yīng)154.3 數(shù)字的讀入164.3.1 數(shù)字19的鍵入164

2、.3.2數(shù)字0的鍵入174.4操作類型184.5 常用鍵的設(shè)置184.5.1小數(shù)點(.)184.5.2等號鍵194.5.3清零鍵C214.5.4退出鍵CE224.5.5開方鍵(sqrt)224.5.6倒數(shù)鍵(1/x)234.5.7反號鍵(+/-)244.5.8 backspace鍵244.6簇中的各元素在條件結(jié)構(gòu)中代表的序號254.7去掉小數(shù)末尾的0的功能254.8 框圖結(jié)構(gòu)264.9 計算器的前面板結(jié)構(gòu)275.總 結(jié)29參考文獻30致 謝3132內(nèi)容摘要:本次畢業(yè)論文是基于LabVIEW的科學計算器,主要是使用LabVIEW虛擬儀器開發(fā)環(huán)境設(shè)計出一款簡易計算器,使它達到兩個數(shù)之間的四則運算和

3、求倒數(shù)、求開方、取負值等一些基本簡單的運算。并對這些運算的實現(xiàn)過程中出現(xiàn)的一些問題使用LabVIEW程序進行解決。編程的主體思想是對一個運算過程的完整表述:首先輸入第一個數(shù)據(jù),存儲并顯示;再是對運算類型進行輸入并存儲;然后輸入第二個數(shù)據(jù),存儲并顯示;最后按“=”得出結(jié)果或者是按其他運算符號繼續(xù)進行連續(xù)的運算。關(guān)鍵詞:LabVIEW 科學計算器 虛擬儀器 四則運算。 Abstract: This paper is based on the LABVIEW scientific calculator, mainly the use of LABVIEW virtual instrument dev

4、elopment environment to design a simple calculator, to achieve a number of two four operations and reciprocal, square root, negative for some basic simple arithmetic. And solve some of the problems in the implementation process of these operators practical LABVIEW program. The main idea is to progra

5、mming formulation of an operational process is complete:The first input data, storage and display; then to operation type input and stored; and then the second data input, storage and display; finally, according to the = results or by other operations to continue.Key words:LabVIEW Scientific calcula

6、tor Virtual instrument Arithmetic. 1.緒 論1.1論文的研究背景本課題是基于LabVIEW的科學計算器的設(shè)計,所涉及到的主要思想就是虛擬儀器的應(yīng)用。它完美的體現(xiàn)了儀器與計算機的結(jié)合,本論文就是體現(xiàn)在計算機里面裝入儀器,這種方法以計算機為基礎(chǔ),從而實現(xiàn)計算器在計算機中實現(xiàn)全部功能。虛擬儀器的使用領(lǐng)域與研究范圍也越來越廣泛,大到航天航空工業(yè),小到個人隨身的攜帶品都會使用到虛擬儀器。1.2儀器的發(fā)展背景世界上被稱為第一代的儀器叫做模擬儀器。這種儀器主要通過模電技術(shù)去實現(xiàn),通過指針的方式來表現(xiàn)最后的結(jié)果。隨著科學技術(shù)的發(fā)展,數(shù)字儀器慢慢的取代了虛擬儀器,成為了被人們

7、心目中的第二代儀器,數(shù)字儀器的主要功能就是實現(xiàn)模數(shù)轉(zhuǎn)換,將原本是模擬信號的測量最終轉(zhuǎn)化為數(shù)字信號的測量,并輸出結(jié)果。就現(xiàn)在看來,數(shù)字儀器的使用也相當廣泛。隨著人們的思想不斷進步,第二次儀器革命也就到來,從而第三代儀器-智能儀器被推出,智能儀器中包含了微處理器,它不僅可以進行自動測量,而且還具有一定的數(shù)據(jù)處理方面的能力,因而可以取代部分腦力方面的勞動。但是這種智能儀器無論是應(yīng)用方面還是開發(fā)方面,靈活性很不足,因為它全部功能都是以固態(tài)的形式而存在,不能像軟件那樣隨便的拓展。不足就必須會有改進,不久以后,由現(xiàn)代計算機技術(shù)和測量技術(shù)相結(jié)合的而成的產(chǎn)物,從而誕生了我們現(xiàn)在所稱的虛擬儀器,它的誕生可以說得

8、上是在傳統(tǒng)儀器的基礎(chǔ)上一次巨大的變革,從而奠定了將來儀器的發(fā)展方向。1998年,虛擬儀器產(chǎn)品陸續(xù)上市,從此以后,虛擬儀器產(chǎn)品更是快速的增多??v觀儀器的發(fā)展史,我們可以發(fā)現(xiàn)儀器領(lǐng)域已經(jīng)歷了兩次偉大的技術(shù)革命。分別是:由數(shù)字電子的發(fā)展從而引起的一次革命,和由微型處理器的應(yīng)用從而引起的另一次革命。第一次儀器革命使儀器的形態(tài)從模擬儀器時代進入了數(shù)字化儀器時代;第二次儀器革命使數(shù)字化儀器時代儀進入了智能儀器時代。就目前看來,儀器將進入虛擬儀器時代,這次儀器革命是由計算機的發(fā)展而引起,計算機的進步就體現(xiàn)在它的軟件和硬件之上。1.3虛擬儀器的發(fā)展及未來前景虛擬儀器的起源可以追溯到20世紀70年代,那時計算機

9、測控系統(tǒng)在國防、航天等領(lǐng)域已經(jīng)有了相當?shù)陌l(fā)展。PC機出現(xiàn)以后,儀器級的計算機化成為可能,甚至在Microsoft公司的Windows誕生之前,NI公司已經(jīng)在Macintosh計算機上推出了LabVIEW2.0以前的版本。對虛擬儀器和LabVIEW長期、系統(tǒng)、有效的研究開發(fā)使得該公司成為業(yè)界公認的權(quán)威。逐漸走向成熟的虛擬儀器從提出想法到目前技術(shù)上有很大的發(fā)展,直接表現(xiàn)出傳統(tǒng)工業(yè)的革命中計算機技術(shù)的重大突破。從虛擬儀器的歷史來看,大致經(jīng)過了三個發(fā)展進程。 使用計算機增強傳統(tǒng)儀器的功能是第一進程。由于樹立了GPIB總線標準,使計算機不再擁有獨立的功能,讓它和其他計算機之間的交流得以實現(xiàn)。如果用戶需要

10、用計算機操作儀器,達到兩者之間協(xié)同工作,僅僅需要將GPIB和RS-232將其與計算機聯(lián)結(jié)就可以實現(xiàn)操作。在這一階段虛擬儀器幾乎是直線上升的發(fā)展。 開放式的儀器構(gòu)成是第二進程。其中plug-inPCDAQ和VXI儀器總線標準的建立使得這兩大技術(shù)性的進步出現(xiàn)在儀器硬件上。這些新技術(shù)使虛擬儀器的發(fā)展有了很大的提高,不僅處理了在上一個階段內(nèi)在供應(yīng)方面以及設(shè)定儀器功能方面的不同,并且開放了儀器的構(gòu)成,使之為廣大用戶所了解。虛擬儀器框架得到了廣大群眾的認同與好評,最終采用是第三階段。因為軟件領(lǐng)域一般采用面向?qū)ο蟮木幊趟枷?,所以開發(fā)了框架封裝任何用戶構(gòu)建虛擬儀器需要知道的東西,使用戶的操作更為便捷。硬軟件所

11、涉及的行業(yè)直接導致了很多的行業(yè)有了自己的準則,某些虛擬儀器平臺也就成為了該行業(yè)的權(quán)威準則工具并得到認可。至此,人們也逐漸認識到了框架對于虛擬儀器的重要性,若想要實現(xiàn)一般儀器所具有的功能,例如:數(shù)據(jù)采集方面,框架就是實現(xiàn)目的的重點。自從National Instruments公司率先提出虛擬儀器概念至今已有20多年在這20多年里,NI逐步改革了全世界工程師和科學家們測量和自動化的方法今天,全世界的工程師和科學家們正在成千上萬個應(yīng)用系統(tǒng)中使用“虛擬儀器”,從而達到了縮短開發(fā)時間、提高產(chǎn)品品質(zhì)并降低生產(chǎn)成本的共同目的同時,虛擬儀器技術(shù)也正在趨于成熟和完善此外,互聯(lián)網(wǎng)也已經(jīng)使數(shù)據(jù)共享進入了新的階段,加

12、速了虛擬儀器的新網(wǎng)絡(luò)技術(shù)及遠程計算技術(shù)的發(fā)展,而這些技術(shù)是傳統(tǒng)獨立儀器不可能實現(xiàn)的虛擬儀器技術(shù)很好地利用了互聯(lián)網(wǎng)的功能,因此,可以將來自測量或控制設(shè)備中的數(shù)據(jù)直接發(fā)布到Web網(wǎng)頁上,或是用手持式的數(shù)字助理工具讀取數(shù)據(jù),甚至還可以將數(shù)據(jù)輸出到手機上使用虛擬儀器技術(shù),可以使用互聯(lián)網(wǎng)的強大功能遠距離控制的儀器設(shè)備,或是與遠在其它辦公地點甚至其它國家的同事合作處理一個項目未來的這種連通水平將會更高,屆時將賦予模塊化新的定義隨著互聯(lián)網(wǎng)和無線技術(shù)的不斷發(fā)展,工程師們不僅能夠重新使用模塊化的組成部分,還可以更方便地在全球范圍內(nèi)共享知識和經(jīng)驗鞏固開發(fā)過程每個階段工程師們的努力成果商業(yè)科技的發(fā)展浪潮將會繼續(xù),同

13、時也會將虛擬儀器技術(shù)推向新的水平因此,性能的提高將會更容易實現(xiàn),從而節(jié)省寶貴的開發(fā)及系統(tǒng)集成時問,同時又比傳統(tǒng)儀器測量方案成倍降低成本沒有人能夠準確地預(yù)測未來的虛擬儀器將會發(fā)展到怎樣的程度,但是有一點可以肯定Pc機與其相關(guān)的科技將會是虛擬儀器技術(shù)的核心,而有了它的幫助將會更成功??傊摂M儀器技術(shù),使現(xiàn)代測控的系統(tǒng)更靈活、更緊湊、更經(jīng)濟、功能更強大 無論是測量、鋇4試、計量或是工業(yè)過程控制和分析處理,還是其他更為廣泛的測控領(lǐng)域,虛擬儀器都是理想的高效率的解決方案隨著計算機技術(shù)的不斷發(fā)展,虛擬儀器技術(shù)也會在各領(lǐng)域中發(fā)揮其重要作用,他將在促進科技進步創(chuàng)造良好的社會效益和巨大的經(jīng)濟效益方面發(fā)揮卓越的作

14、用,并表現(xiàn)出強大的生命力,它必然會對科技發(fā)展和工業(yè)生產(chǎn)產(chǎn)生不可估量的影響。2 虛擬儀器及LabVIEW的介紹2.1虛擬儀器的介紹虛擬儀器(virtual instrumention)是基于計算機的儀器。計算機和儀器的密切結(jié)合是目前儀器發(fā)展的一個重要方向。粗略地說這種結(jié)合有兩種方式,一種是將計算機裝入儀器,其典型的例子就是所謂智能化的儀器。隨著計算機功能的日益強大以及其體積的日趨縮小,這類儀器功能也越來越強大,目前已經(jīng)出現(xiàn)含嵌入式系統(tǒng)的儀器。另一種方式是將儀器裝入計算機。以通用的計算機硬件及操作系統(tǒng)為依托,實現(xiàn)各種儀器功能。虛擬儀器主要是指這種方式??驁D2-1反映了常見的虛擬儀器方案。圖2-1常

15、見的虛擬儀器方案2.2虛擬儀虛擬儀器的主要特點虛擬儀虛擬儀器的主要特點有:(1)盡可能采用了通用的硬件,各種儀器的差異主要是軟件。 (2)可充分發(fā)揮計算機的能力,有強大的數(shù)據(jù)處理功能,可以創(chuàng)造出功能更強的儀器。 (3)用戶可以根據(jù)自己的需要定義和制造各種儀器。虛擬儀器實際上是一個按照儀器需求組織的數(shù)據(jù)采集系統(tǒng)。虛擬儀器的研究中涉及的基礎(chǔ)理論主要有計算機數(shù)據(jù)采集和數(shù)字信號處理。目前在這一領(lǐng)域內(nèi),使用較為廣泛的計算機語言是美國NI公司的LabVIEW。虛擬儀器的起源可以追溯到20世紀70年代,那時計算機測控系統(tǒng)在國防、航天等領(lǐng)域已經(jīng)有了相當?shù)陌l(fā)展。PC機出現(xiàn)以后,儀器級的計算機化成為可能,甚至在M

16、icrosoft公司的Windows誕生之前,NI公司已經(jīng)在Macintosh計算機上推出了LabVIEW2.0以前的版本。對虛擬儀器和LabVIEW長期、系統(tǒng)、有效的研究開發(fā)使得該公司成為業(yè)界公認的權(quán)威。使用LabVIEW軟件,用戶可以借助于它提供的軟件環(huán)境,該環(huán)境由于其數(shù)據(jù)流編程特性、LabVIEW Real-Time工具對嵌入式平臺開發(fā)的多核支持,以及自上而下的為多核而設(shè)計的軟件層次,是進行并行編程的首選。普通的PC有一些不可避免的弱點。用它構(gòu)建的虛擬儀器或計算機測試系統(tǒng)性能不可能太高。目前作為計算機化儀器的一個重要發(fā)展方向是制定了VXI標準,這是一種插卡式的儀器。每一種儀器是一個插卡,

17、為了保證儀器的性能,又采用了較多的硬件,但這些卡式儀器本身都沒有面板,其面板仍然用虛擬的方式在計算機屏幕上出現(xiàn)。這些卡插入標準的VXI機箱,再與計算機相連,就組成了一個測試系統(tǒng)。VXI儀器價格昂貴,目前又推出了一種較為便宜的PXI標準儀器。虛擬儀器研究的另一個問題是各種標準儀器的互連及與計算機的連接。目前使用較多的是IEEE 488或GPIB協(xié)議。未來的儀器也應(yīng)當是網(wǎng)絡(luò)化的。2.3虛擬儀器開發(fā)平臺 LabVIEW的介紹 1986年,美國國家儀器公司的工程師杰夫考度斯基(Jeff Kodosky)的在蘋果電腦上發(fā)表了LabVIEW的程序, LabVIEW是一種程序開發(fā)環(huán)境,類似于C和BASIC開

18、發(fā)環(huán)境,但是LabVIEW與其他計算機語言的顯著區(qū)別是:其他計算機語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。與C和BASIC一樣,LabVIEW也是通用的編程系統(tǒng),有一個完成任何編程任務(wù)的龐大函數(shù)庫。LabVIEW的函數(shù)庫包括數(shù)據(jù)采集、GPIB、串口控制、數(shù)據(jù)分析、數(shù)據(jù)顯示及數(shù)據(jù)存儲,等等。LabVIEW也有傳統(tǒng)的程序調(diào)試工具,如設(shè)置斷點、以動畫方式顯示數(shù)據(jù)及其子程序(子VI)的結(jié)果、單步執(zhí)行等等,便于程序的調(diào)試,圖2-2為LabVIEW標志。2-2 LabVIEW標志LabVIEW(Laboratory Virtual In

19、strument Engineering Workbench)是一種用圖標代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言。傳統(tǒng)文本編程語言根據(jù)語句和指令的先后順序決定程序執(zhí)行順序,而 LabVIEW 則采用數(shù)據(jù)流編程方式,程序框圖中節(jié)點之間的數(shù)據(jù)流向決定了VI及函數(shù)的執(zhí)行順序。VI指虛擬儀器,是LabVIEW的程序模塊。2.3.1 LabVIEW的界面介紹 本次實驗本人使用的是現(xiàn)在都比較普遍的版本LabVIEW8.5,圖2-3便是LabVIEW8.5的開始界面:圖2-3 LabVIEW8.5的開始界面2.3.2 虛擬儀器開發(fā)平臺LabVIEW8.5的程序構(gòu)成與模塊簡介 LabVIEW的核心是VI(G語

20、言編寫的程序)。該環(huán)節(jié)包含三個部分:程序前面板(Front Panel)、程序框圖(Block Diagram)以及圖標/連接端口(Icon/Connector)。1.前面板 (Front Panel)我們與用戶交流要通過前面板來實現(xiàn),前面板就類似于傳統(tǒng)儀器的面板,當然面板上就會有開關(guān),旋鈕,表頭,圖形,圖表等對象,這些對象可分為兩類:用戶輸入和顯示輸出。前面板的界面如圖2-4:圖2-4 前面板界面前面板的控件圖2-5:圖2-5 前面板的控件組如圖2-6所示的是一個正弦函數(shù)VI的前面板。圖2-6 前面板顯示的正弦波VI2.程序框圖(Block Diagram)程序框圖和前面板是一一對應(yīng)的,前面

21、板上的輸出與輸入功能都由后臺的程序框圖控制操作著,圖2-7為LabVIEW的程序框圖界面。 圖2-7 程序框圖LabVIEW8.5提供了3大類操作選板,即控件模板、控制模板和工具模板,這些選板主要集中反映了該軟件的功能與特征。圖2-8為程序框圖的部分功能模塊:圖2-8 程序框圖的功能模塊2.4 LabVIEW的特點與發(fā)展LabVIEW跟傳統(tǒng)編譯程序有很大的區(qū)別。當程序員們在使用傳統(tǒng)的編程程序打程序代碼時,LabVIEW卻推出了以圖形代替代碼的全新設(shè)計理念。它是的開放性特別高,這使得程序員們在組建儀器的系統(tǒng)過程中大大的簡化了程序的設(shè)計。圖形化的程序語言,又稱為“”語言。使用這種語言編程時,基本上

22、不寫程序代碼,取而代之的是流程圖或框圖。它盡可能利用了技術(shù)人員、科學家、工程師所熟悉的術(shù)語、圖標和概念,因此,LabVIEW是一個面向最終用戶的工具。它可以增強你構(gòu)建自己的科學和工程系統(tǒng)的能力,提供了實現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑。使用它進行原理研究、設(shè)計、測試并實現(xiàn)儀器系統(tǒng)時,可以大大提高工作效率。LabVIEW的工作原理為框圖程序發(fā)出指令給前面板。在前面板中,有一個類似于輸出裝置的元件。數(shù)據(jù)就是由它傳送給虛擬儀器的框圖程序??驁D程序自己也會產(chǎn)生數(shù)據(jù)。最終,框圖程序中的所有數(shù)據(jù)都由指示器顯示。當指示器與輸出元件都被放置在前面板上時,LabVIEW的框圖程序中會產(chǎn)生終端。它不能被直接刪除

23、;只有當對應(yīng)的輸出元件與指示器被刪除時,控件才能被刪除。LabVIEW依附的概念為模塊化程序設(shè)計。它的設(shè)計理念是把程序進行模塊化分解,通過不斷的分解,從而達到把大問題轉(zhuǎn)化成許多個小問題,再進行逐一解決,最后把解決后的小問題進行組合。這樣最終形成了解決問題的VI。這樣使得程序圖形化的設(shè)計在編程上簡單、直觀,開發(fā)的效率也有了很大的提高。LabVIEW廣泛地被工業(yè)界、學術(shù)界和研究實驗室所接受,視為一個標準的數(shù)據(jù)采集和儀器控制軟件。LabVIEW集成了與滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能。它還內(nèi)置了便于應(yīng)用TCP/IP、ActiveX等軟件標準的庫函數(shù)

24、。這是一個功能強大且靈活的軟件。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動有趣。LabVIEW 提供很多外觀與傳統(tǒng)儀器(如示波器、萬用表)類似的控件,可用來方便地創(chuàng)建用戶界面。用戶界面在 LabVIEW 中被稱為前面板。使用圖標和連線,可以通過編程對前面板上的對象進行控制。這就是圖形化源代碼,又稱G代碼。LabVIEW 的圖形化源代碼在某種程度上類似于流程圖,因此又被稱作程序框圖代碼。利用LabVIEW,可產(chǎn)生獨立運行的可執(zhí)行文件,它是一個真正的32位編譯器。像許多重要的軟件一樣,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多種

25、版本。 由于LabVIEW具備如此多的優(yōu)點,使得它在許多科學領(lǐng)域都有特別突出的表現(xiàn)。比如測試測量、控制、仿真、兒童教育、快速開發(fā)、跨平臺等。3計算器的介紹3.1 計算器的起源中國古代最早采用的一種計算工具叫籌策,又被叫做算籌。這種算籌多用竹子制成,也有用木頭,獸骨充當材料的。約二百七十枚一束,放在布袋里可隨身攜帶。直到今天仍在使用的珠算盤,是中國古代計算工具領(lǐng)域中的另一項發(fā)明,明代時的珠算盤已經(jīng)與現(xiàn)代的珠算盤幾乎相同。17世紀初,西方國家的計算工具有了較大的發(fā)展,英國數(shù)學家納皮爾發(fā)明的納皮爾算籌,英國牧師奧卻德發(fā)明了計圓柱型對數(shù)算尺,這種計算尺不僅能做加減乘除、乘方、開方運算,甚至可以計算三角

26、函數(shù),指數(shù)函數(shù)和對數(shù)函數(shù),這些計算工具不僅帶動了計算器的發(fā)展,也為現(xiàn)代計算器發(fā)展奠定了良好的基礎(chǔ),成為現(xiàn)代社會應(yīng)用廣泛的計算工具。1642年,年僅19歲的法國偉大科學家帕斯卡引用算盤的原理,發(fā)明了第一部機械式計算器,在他的計算器中有一些互相聯(lián)鎖的齒輪,一個轉(zhuǎn)過十位的齒輪會使另一個齒輪轉(zhuǎn)過一位,人們可以像撥電話號碼盤那樣,把數(shù)字撥進去,計算結(jié)果就會出現(xiàn)在另一個窗口中,但是只能做加減計算。1694年,萊布尼茲在德國將其改進成可以進行乘除的計算。此后,一直要到20世紀50年代末才有電子計算器的出現(xiàn)。3.2計算器的功能類型根據(jù)表現(xiàn)形式可分實物形態(tài)的計算器與軟件形式的計算器實物計算器, 此類計算器一般是

27、手持式計算器, 便于攜帶, 使用也較方便, 但一般情況下, 功能較簡單, 也不太方便進行功能升級. 也有少部功能強大的圖形式手持計算器, 但由于價格最貴, 在平板電腦與智能手機普及的情況下, 不建議購買最貴的多功能手持計算器.軟件形式的計算器. 此類計算器以軟件存在, 能在PC電腦或者智能手機, 平板電腦上使用. 此類計算器功能多, 功能可以通過軟件升級進行擴展. 隨著平板與智能手機有普及, 軟件形式的計算器的應(yīng)用會越來越多, 最終有望取代傳統(tǒng)的手持式計算器.軟件形式的計算一般可分為三類:常見計算器,專用計算器,綜合功能計算器.常見的計算器又有四類:1算術(shù)型計算器可進行加、減、乘、除等簡單的四

28、則運算,又稱簡單計算器。一般都是實物計算器 2科學型計算器可進行乘方、開方、指數(shù)、對數(shù)、三角函數(shù)、統(tǒng)計等方面的運算,又稱函數(shù)計算器。 可以是軟件,也可以是實物。3程序員計算器專門為程序員設(shè)計的計算器, 主要特點是支持And, Or, Not, Xor: 最基本的與或非和異或操作, 移位操作 Lsh, Rsh:全稱是Left Shift和Right Shift,也就是左移和右移操作,你需要輸入你要移動的位數(shù)(不能大于最大位數(shù)) RoL, RoR:全稱是Rotate Left和Rotate Right,對于RoL來講,就是向左移動一位,并將移出的那位補到最右邊那位上,RoR類似4統(tǒng)計計算器- 為有

29、統(tǒng)計要求的人員設(shè)計的設(shè)計的計算器, 可以是軟件,也可以是實物。4.總體設(shè)計4.1 設(shè)計思路與流程圖創(chuàng)建3個字符串顯示控件。分別命名為num1,num2,num3,它們的作用主要是: 1、當?shù)谝粋€輸入數(shù)據(jù)時,存儲在num1中2、第二個輸入數(shù)據(jù)時,存入num2中3、將其賦給 num3,并使num2為空,以便輸入的數(shù)據(jù)存入num24、所有的運算是在num1和 num3間進行5、運算結(jié)果都賦給result,同時賦給num1,用于下一次的運算 創(chuàng)建布爾開關(guān)按鈕change,change1,change2,change3,其中:1、Change的真假用來判斷是第一個數(shù)據(jù)還是第二個數(shù)據(jù)2、change1的功

30、能是在輸入=,運算完后,不需要初始化即可進行下一次運算3、change2用來去掉數(shù)據(jù)小數(shù)末尾的04、change3用來保證backspace鍵僅對輸入的數(shù)據(jù)有效,對運算結(jié)果無效創(chuàng)建2個數(shù)值顯示控件type1,type2,并分別在其后面板的屬性數(shù)據(jù)類型表示法中選擇U8其中:1、type1用來存儲運算符號2、type2用來保證連續(xù)“+、-、*、/”的正確性3、所有的運算結(jié)果都賦給result4、result經(jīng)過去零處理后得到result1,將數(shù)據(jù)顯示在前面板上。根據(jù)要求作出程序流程圖如圖4-1:開始輸入第一個數(shù)輸入運算類型輸入第二個數(shù)顯示結(jié)果結(jié)束按“EXIT“按“C”按“+、*、/”按“=”顯示結(jié)

31、果按“C”圖4-1 程序流程圖4.2鍵入感應(yīng)1.在前面板中建立一個簇;2.在簇中建立一個布爾量;3.對布爾量進行復制,分別用來表示0-9十個數(shù)字鍵、小數(shù)點鍵、等號鍵、加減乘除四個鍵、反號鍵、開方鍵、倒數(shù)鍵、清零鍵、退出鍵;一共21個鍵;4. 然后通過將簇中各元素按產(chǎn)生的順序組成一個一維數(shù)組;這樣使得每個鍵對應(yīng)著各個數(shù)字;每當按下一個鍵時,都會通過查找出對應(yīng)的鍵并把結(jié)果連接到一個case結(jié)構(gòu),然后執(zhí)行對應(yīng)case結(jié)構(gòu)中的程序,一個鍵的感應(yīng)過程就這樣被完成,如圖4-2:圖4-2 鍵的感應(yīng)4.3 數(shù)字的讀入4.3.1 數(shù)字19的鍵入圖4-3 數(shù)字讀入程序圖具體賦給哪個操作數(shù)通過布爾量change的狀

32、態(tài)決定,該布爾量狀態(tài)在輸入運算類型鍵后改變。這里要注意的是:在第二個數(shù)鍵入時,要把結(jié)果賦給num3,最終是在num1和 num3之間進行運算運算,這樣做是為了在一種運算結(jié)束后能實現(xiàn)連續(xù)的運算。4.3.2數(shù)字0的鍵入當?shù)谝淮屋斎?時,與上述真的情況相同,現(xiàn)在就零輸入時的多零問題進行設(shè)計。雖然以多個零開頭不影響輸出的結(jié)果,但考慮到顯示形式的正確性,只在小數(shù)點前顯示一個零。當數(shù)據(jù)輸入后,通過連接字符與00比較,若不等,數(shù)據(jù)直接輸出(圖4-4)。若相等,則直接輸出0(圖4-5)。 圖4-4圖4-54.4操作類型當按下運算類型鍵時,存儲對應(yīng)的數(shù)字序號到type;以按下“=”號時進行運算類型的確定。操作類

33、型默認為“空”。在此操作類型case中同時執(zhí)行對change狀態(tài)轉(zhuǎn)換。在其中再用一個case結(jié)構(gòu)用于實現(xiàn)“+、-、*、/”的連續(xù)運算,(圖4-6):圖4-6 操作類型程序圖這里要特別注意的是:在第二個數(shù)據(jù)被鍵入時,結(jié)果要賦給num3,最終的運算是在num1和 num3之間進行。這樣做的目的是在一次運算結(jié)束后能實現(xiàn)下次運算的持續(xù)。4.5 常用鍵的設(shè)置4.5.1小數(shù)點(.)小數(shù)點鍵的輸入與數(shù)據(jù)的輸入類似,要看change3的狀態(tài)。另外需考慮到:每個數(shù)據(jù)中最多只能有一個小數(shù)點。輸入(圖4-7):圖4-7 小數(shù)點鍵入程序4.5.2等號鍵當兩次數(shù)據(jù)與關(guān)系符號都被確定后,按下“=”鍵,結(jié)果就被現(xiàn)實出來。為

34、了防止結(jié)果存在多零顯現(xiàn),所以需設(shè)置狀態(tài)。等號鍵也需要分為四種情況,分別是加、減、乘、除后。(圖4-8、4-9、4-10、4-11):圖4-8 加后鍵的等式設(shè)置圖4-9 減后鍵的等式設(shè)置圖4-10 乘后鍵的等式設(shè)置圖4-11 除后鍵的等式設(shè)置4.5.3清零鍵C清零就是對輸入的數(shù)據(jù)或者結(jié)果進行賦空字符,顯示框中顯示0。change、change1復位F狀態(tài),type1、type2賦0。具體情況如圖4-12:圖4-12 清零鍵C的設(shè)置4.5.4退出鍵CE在17鍵的case中首先對顯示框賦空字符,然后終止程序。即以不顯示任何字符退出程序圖4-13:圖4-13 退出程序其中的順序結(jié)構(gòu)為去末尾零和去無關(guān)小

35、數(shù)點的操作。 4.5.5開方鍵(sqrt)圖4-14 小數(shù)點后部分開方程序圖4-15 小數(shù)點前部分開方程序4.5.6倒數(shù)鍵(1/x) 圖4-16圖4-174.5.7反號鍵(+/-)圖4-18 4.5.8 backspace鍵在21序號的case中對當前操作的進行操作以清除輸入的錯誤鍵(如圖4-19)。計算字符串的長度,把長度減1位后顯示。圖4-194.6簇中的各元素在條件結(jié)構(gòu)中代表的序號簇中元素123456條件結(jié)構(gòu)中序號012345簇中元素7890小數(shù)點鍵(.)=條件結(jié)構(gòu)中序號67891011簇中元素+-*/清零鍵(C)退格鍵(CE)條件結(jié)構(gòu)中序號121314151617簇中元素開方鍵(sqr

36、t)1/x+/-backspace條件結(jié)構(gòu)中序號18192021表4-204.7去掉小數(shù)末尾的0的功能 由于經(jīng)過前面的運算,數(shù)據(jù)都保持6位小數(shù),不可避免的會出現(xiàn)小數(shù)末尾為0的情況。利用while循環(huán),檢測result最后一位是否為0,若為0,則減去末位后賦值給本身;若不為0,則退出循環(huán)顯示數(shù)據(jù),從而實現(xiàn)去0的功能(圖3-21):圖4-21 去掉小數(shù)末尾為0程序圖4.8 框圖結(jié)構(gòu) 這樣就基本上實現(xiàn)了計算器的基本功能,框圖結(jié)構(gòu)就出來了。(圖4-22、4-23):圖4-22 該計算器的框圖結(jié)構(gòu)1圖4-23 該計算器的框圖結(jié)構(gòu)24.9 計算器的前面板結(jié)構(gòu)圖4-24 前面板結(jié)構(gòu)將字符串顯示控件、布爾開關(guān)

37、按鈕、數(shù)值顯示控件隱藏,即可得到最后的計算器了。(圖4-25)為簡化后的計算器前面板:圖3-25 簡化后的前面板5.總 結(jié)經(jīng)過對結(jié)果的演示,本設(shè)計能夠達到設(shè)計之初所計劃的所有功能。不僅對于簡單的運算能夠順利的完成。而且當輸入錯誤數(shù)據(jù)時,該計算器都能及時的發(fā)現(xiàn)并改正。具體的操作和功能與WINDOWS系統(tǒng)中的計算器一樣。但是本次設(shè)計的計算器所表達的功能與設(shè)計結(jié)構(gòu)相對來說比較簡單。而在程序框圖方面多次的被重復運用了。對于許多更深的功能擴展都被可以的終止。所以說,該設(shè)計還是有很多地方需要改進的??偠灾?,LabVIEW為用戶提供了更直觀、簡明的編程方式,相比較傳統(tǒng)語言編程的繁瑣復雜,這種圖形變成更簡單省時,而且效率極高。由此,我們可以預(yù)見,由于其他語言無法比擬的優(yōu)勢,LabVIEW在該領(lǐng)域所處的地位也相當高,它的應(yīng)用與發(fā)展必將引領(lǐng)傳統(tǒng)的儀器產(chǎn)業(yè)一場新的革命。當然,我們也知道,世界上沒有絕對完美的東西。經(jīng)過本次論文,我對LabVIEW的相關(guān)知識有了一個更深入的學習與了解。深深的體會到LabVIEW的使用也有一定的局限性。那就是它對于

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論