吳正明 李 君
摘要 利用虛擬儀器軟件開發(fā)平臺(tái),在計(jì)算機(jī)上通過對(duì)前面板和后面板的編寫來完成實(shí)驗(yàn)室及電子課程實(shí)驗(yàn)教學(xué)中所涉及的數(shù)字電路的制作,實(shí)現(xiàn)數(shù)字電路的邏輯功能的模擬仿真,在實(shí)驗(yàn)教學(xué)過程中具有實(shí)際意義。
關(guān)鍵詞 虛擬儀器;數(shù)字電路;仿真
中圖分類號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-489X(2009)02-0081-02
隨著低成本高性能的計(jì)算機(jī)資源普及運(yùn)用,數(shù)字化儀器平臺(tái)逐漸取代傳統(tǒng)電子儀器已成為一種趨勢。我國理工科學(xué)校的教學(xué)、科研需要大量的測量分析儀器設(shè)備,特別是電子類實(shí)驗(yàn)教學(xué),每種儀器都必須配置多套,而且有些儀器設(shè)備價(jià)格十分昂貴。因此購置儀器設(shè)備的巨大投入經(jīng)費(fèi),一般學(xué)校難以承受,造成儀器設(shè)備缺乏和過時(shí)陳舊等現(xiàn)象,嚴(yán)重影響教學(xué)科研效果[1]。如果把虛擬儀器運(yùn)用到實(shí)驗(yàn)教學(xué)和科研中,不但可以節(jié)約大量儀器設(shè)備的經(jīng)費(fèi)投入,而且能夠提高實(shí)驗(yàn)教學(xué)和科研的質(zhì)量與效率。
1 LabVIEW的編程簡介[2-3]
在LabVIEW環(huán)境下開發(fā)的應(yīng)用程序稱之為VI。VI是LabVIEW的核心,由一個(gè)人機(jī)交互的界面——前面板(Front Panel)和相當(dāng)于源代碼功能的框圖程序——后面板(Diagram)組成。
前面板是程序的界面,在這一界面上有控制量(Controls)和顯示量(Indicators)兩類對(duì)象。在前面板中,控制量模擬儀器的輸入裝置并把數(shù)據(jù)提供給VI的框圖程序,例如開關(guān)、旋鈕;而顯示量則是模擬儀器的輸出裝置并顯示由框圖程序獲得或產(chǎn)生的數(shù)據(jù),例如用于顯示波形的窗口等。每一個(gè)程序前面板都對(duì)應(yīng)著一段框圖程序??驁D程序用LabVIEW圖形編程語言編寫,可以把它理解成傳統(tǒng)程序的源代碼??驁D程序由端口、節(jié)點(diǎn)、圖框和連線構(gòu)成。其中端口被用來同程序前面板的控制和顯示傳遞數(shù)據(jù),節(jié)點(diǎn)被用來實(shí)現(xiàn)函數(shù)和功能調(diào)用,圖框被用來實(shí)現(xiàn)結(jié)構(gòu)化程序控制命令,而連線代表程序執(zhí)行過程中的數(shù)據(jù)流,定義框圖內(nèi)的數(shù)據(jù)流動(dòng)方向。
后面板又稱代碼窗口或流程圖,是VI圖形化的源程序,在流程圖中對(duì)VI編程,以控制和操縱定義在前面板上的輸入和輸出等功能。流程圖中包括前面板上對(duì)象的連線端子,還有一些前面板上沒有但編程必須有的對(duì)象,如函數(shù)、結(jié)構(gòu)和連線等。
2 數(shù)字電路仿真實(shí)驗(yàn)平臺(tái)實(shí)現(xiàn)[3-4]
在電子技術(shù)課程中,數(shù)字電路作為電類專業(yè)的基礎(chǔ)核心課程,其實(shí)驗(yàn)教學(xué)是十分重要的環(huán)節(jié),實(shí)驗(yàn)包括半加器、全加器、數(shù)據(jù)選擇器等內(nèi)容。
2.1 半加器的設(shè)計(jì)半加器電路是指對(duì)兩個(gè)輸入數(shù)據(jù)位進(jìn)行加法,輸出一個(gè)結(jié)果位,不考慮低位數(shù)據(jù)的進(jìn)位,產(chǎn)生進(jìn)位輸出的加法器電路。
輸入信號(hào):A、B;輸出信號(hào):本位和S,向高位的進(jìn)位C。邏輯表達(dá)式為:,C=AB。
根據(jù)其邏輯關(guān)系用LabVIEW編寫流程圖,如圖1所示。
其實(shí)現(xiàn)功能為:當(dāng)單獨(dú)按開關(guān)A或B時(shí)S亮,當(dāng)開關(guān)A,B同時(shí)開時(shí)C亮,S暗。
2.2 全加器的設(shè)計(jì)在相加的過程中,除最低位外,其余各位既要考慮本位的被加數(shù)Ai和Bi,還要考慮低位向本位的進(jìn)位Ci-1,就是說低位的Ci-1也作為一個(gè)獨(dú)立的變量參與運(yùn)算。因此,所謂全加就是求取三個(gè)變量(本位Ai、加數(shù)Bi輸入以及低位向本位進(jìn)位Ci-1)的和S及本位向高位的進(jìn)位Ci。
因?yàn)槿悠魇腔诎爰悠髯龀傻模渲胁糠蛛娐肥前爰悠?,所以可以利用LabVIEW中子VI的功能將半加器打包成一個(gè)子程序,作為VI模塊調(diào)用。如圖2所示。
2.3 平臺(tái)的構(gòu)建最后以相同的步驟完成減法器、數(shù)據(jù)選擇器、計(jì)數(shù)器、觸發(fā)器、譯碼顯示等模塊的設(shè)計(jì),再將實(shí)驗(yàn)仿真模塊整合到一個(gè)平臺(tái)中,使用時(shí)只需點(diǎn)擊選擇模塊按鈕,就能調(diào)用其實(shí)驗(yàn)?zāi)K。這樣在實(shí)驗(yàn)教學(xué)中就可以非常方便地使用和查看各個(gè)模塊的功能。這就構(gòu)成一個(gè)數(shù)字電路仿真實(shí)驗(yàn)平臺(tái),如圖3所示。
3 總結(jié)
數(shù)電實(shí)驗(yàn)教學(xué)是電子技術(shù)課程必須進(jìn)行的一項(xiàng)教學(xué)活動(dòng)。用虛擬儀器開發(fā)平臺(tái)開發(fā)各種不帶相關(guān)功能硬件的“虛擬實(shí)驗(yàn)平臺(tái)”,不但簡單易行,且交互性、可操作性和真實(shí)感與實(shí)際的實(shí)驗(yàn)儀器基本相同[5]。由它們組成一個(gè)個(gè)虛擬實(shí)驗(yàn)平臺(tái),可以讓學(xué)生在虛擬實(shí)驗(yàn)平臺(tái)對(duì)實(shí)驗(yàn)進(jìn)行模擬操作,并為實(shí)際使用虛擬儀器設(shè)備和后續(xù)的課程設(shè)計(jì)打下較好的基礎(chǔ),還可降低教師的勞動(dòng)強(qiáng)度,減少儀器設(shè)備的損耗,又可以提高實(shí)驗(yàn)教學(xué)質(zhì)量與效果。以數(shù)字電路仿真實(shí)驗(yàn)平臺(tái)為例,根據(jù)實(shí)際使用的虛擬儀器模塊整合成一個(gè)實(shí)驗(yàn)平臺(tái),可以組建一個(gè)基于LabVIEW的虛擬實(shí)驗(yàn)室。
參考文獻(xiàn)
[1]周求湛,等.虛擬儀器與LABVIEW7 Express程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版,2004
[2]美國NI公司.LabVIEW基礎(chǔ)教程[M].汪敏生,等,譯.北京:電子工業(yè)出版社,2002
[3]楊樂平,李海濤,等.LabVIEW高級(jí)程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2003
[4]北京中科泛華測控技術(shù)有限公司.計(jì)算機(jī)虛擬儀器圖形編程LabVIEW實(shí)驗(yàn)教材[M].1998
[5]武一.基于LabVIEW實(shí)現(xiàn)數(shù)字電路的仿真[J].微計(jì)算機(jī)信息,2007