labview課程設計模擬計算器事件結構_第1頁
labview課程設計模擬計算器事件結構_第2頁
labview課程設計模擬計算器事件結構_第3頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、labview課程設計模擬計算器事件結構河 北 工 程 大 學 虛擬儀器設計課程設計報告 課 題:計算器模擬 姓 名: 張振興 學 號: 0 班 級: 測控三班 完成日期:2012 年 6月19日 目 錄一、設計思路2二、 實現過程21、 面板鍵入感應22、 運算變量的初始化23、 無操作時的默認輸出34、 數字的鍵入1-9的輸入35、 數字0的輸入46、 小數點的鍵入57、 結果去零操作58、“+/-”鍵的設計79、“+、-、*、/”四則運算710、 等號鍵811、 開方運算912、 取倒數倒數運算913、退格鍵CE的設計 1014、 清零鍵C1115、 停止鍵OFF12三、整體程序124、

2、 前面板的設計排版125、 while循環中寄存器能136、 此計算器可以實現的功能131、 設計思路完成標準型計算器的一般功能。輸入第一個數,進行存儲并顯示 輸入運算的類型并存儲 輸入第二個數,存儲并顯示 按“=”或則按其它運算符號“+、-、*、/”進行連續的運算,最后顯示運算結果。2、 具體的實現過程1、 面板鍵入感應在前面板上建立22個布爾量,其中包括0-9十個數字鍵,1個小數點鍵,4個“+、-、*、/”運算鍵,1個等號鍵,1個開方鍵,1個符號轉換鍵,1個倒數鍵,1個清零鍵,1個退格鍵,1個退出鍵。如下圖所示: 2、 運算變量的初始化 在運行程序之前,首先對需要用到的變量進行初始化,如圖

3、所示 3、 無操作時的默認輸出 當鍵盤上的鍵沒有任何一個按下時,系統僅執行順序結構第一幀,系統處于初始化狀態輸出。4、 數字1-9的輸入以數字“1”為例,當按下數字“1”后,布爾量為值改變,進入時間結構結構,將1輸出到顯示中,布爾量再次改變時。(圖)若再次輸入1,為避免出現01這樣的字符串,先判斷之前顯示的數據是否為0,若為0,則直接輸出1,(圖)若不為0,則將這兩次輸入的數據通過連接字符串連接到一起,在顯示中輸出。數字2到9也是同樣的道理。(圖) (圖) (圖)(圖)5、 數字0的輸入當第一次輸入0時,與上述真的情況相同,現在就零輸入時的多零問題進行設計。雖然以多個零開頭不影響輸出的結果,但

4、考慮到顯示形式的正確性,只在小數點前顯示一個零。當數據輸入后,通過連接字符與00比較,若不等,則將數據直接輸出(圖)。若相等,則直接輸出0(圖)。 (圖)(圖)6、 小數點的輸入在小數點的輸入時,最多只能顯示出一個。若直接點擊小數點,則以“0.”輸出(圖)。若之前已輸入數據,此時再輸入小數點首先利用判斷已輸入的數據中是否含有小數點,若不含有,則后輸出T,執行程序“真”(圖);若含有小數點,則輸出F,執行程序“假”(圖) (圖) (圖) (圖) 7、 結果去零操作在進行“+、-、*、/”運算及取負,取百分數,去倒數,開放運算之后程序默認為以保留6位小數的形式輸出。而為了顯示結果的簡便,將末位不影

5、響結果的零及小數點進行省略。利用層疊式順序結構,首先將得出的結果經過N-1位的偏移后與零進行比較,若相等,則進行去零操作,運用while循環結構,直至末位數字不為零,循環結束(圖上圖表示末位為零,下圖表示末位不為零) (圖) 在進行去零操作之后,進行層疊式順序結構的第二層,對無關的小數點進行清除。(圖上圖表示末位為小數點,下圖表示末位不是小數點)(圖)8、“+/-”鍵的設計首先進行掃描字符串,將字符串數據轉換為數值數據,經過取負數后再轉換為字符串形式輸出。如下圖所示 其中的順序結構為去末尾零和去無關小數點的操作。 9、“+、-、*、/”四則運算以加法為例,當簇中輸出的數據表示進行加法運算時,程

6、序進入五層的層疊式順序結構,首先將字符串進行掃描,轉換為數值變量(圖),之后,對之前的數據進行運算,以保證連續運算時得到正確的結果:當第一次輸入時,默認進行空條件下的程序(圖),若以前已有運算,以加法為例,先將之前的兩個數進行相加運算,并進行去零操作,之后再將本次的運算符號送入“運算符號”的局部變量,以便于進行下次運算(圖)。(圖)(圖)(圖)10、等號鍵實現最終的運算結果,將結果進行去零操作后輸出到“顯示”中,同時將代表運算符號的移位寄存器置為空字符串。以加法為例。11、開方運算 將字符串轉換為數值后進行開放運算,再轉換為字符串輸出,并進行去零操作。(順序結構的后兩層為去零操作) 12、 取

7、倒數運算 原理與上述開方運算相同。(順序結構的后兩層為去零操作)13、 退格鍵CE的設計 在點擊退格鍵時,要實現從末位開始的依次退格,直至輸出為0。 首先,將整數部分與小數部分進行分離,運用實現此功能。連接方式如圖(圖)分離后,將小數部分的字符串長度與0進行比較,若大于0,則進入到條件結構的“真”,將字符串長度減1后與整數部分連接,得到新的顯示輸出。(圖) (圖)若原字符串只有整數部分或者小數部分已經過退格鍵清除,則進入到條件結構的“假”。、若整數部分的字符串長度大于1,則進入到子條件結構的“假”,將整數的字符串長度減一后輸出(圖)。(圖) 若整數部分的長度不大于1,即小于等于1時,則進入到子條件結構的“真”,直接輸出0.(圖)(圖)14、 清零鍵C 將程序中所有用到的變量均進行復位,達到清零復位的目的。15、 停止鍵OFF 程序結束,將T輸入到while循環的停止鍵上。三、 整體程序四、 前面板的設計排版五、 while循環中寄存器功能從上到下的寄存器功能依次為:最上面的用來存儲“顯示”的數據,第二個用來前一次運算后輸出的數值,第三個用來存放四則運算的符號,最底下的用來給出控制變量。六、 此計算器可以實現的功能經過調試,此計算器可以實

溫馨提示

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

評論

0/150

提交評論