王詠寧++馮桂蓮
摘 要:針對微機(jī)原理與接口技術(shù)課程抽象難講、實驗受到硬件環(huán)境制約等問題,在教學(xué)及實驗中引入虛擬儀器平臺,以有效的提高教學(xué)及實驗效果。利用LabVIEW高效直觀的開發(fā)環(huán)境,對各種接口芯片進(jìn)行功能仿真,構(gòu)建出直觀的基本輸入/輸出實驗界面,實驗者通過接連圖分析出端口地址,在前面板上輸入相應(yīng)地址,選擇相應(yīng)指令,可直觀的看到實驗結(jié)果,對深入理解基本輸入/輸出操作、端口地址譯碼,以及無條件輸入輸出方式都有很好的幫助,可作為實驗箱實際實驗的輔助平臺。利用LabVIEW設(shè)計的虛擬平臺可以有效的豐富教學(xué)方法與手段,對提高學(xué)生實際動手能力、培養(yǎng)學(xué)生創(chuàng)新能力有著積極的意義,在實際教學(xué)中也取得了不錯的效果。
關(guān)鍵詞:虛擬儀器;LabVIEW;微機(jī)原理與接口技術(shù)
中圖分類號:TP391.9 文獻(xiàn)標(biāo)識碼:A
1 引言(Introduction)
《微機(jī)原理與接口技術(shù)》是計算機(jī)、通信、電子等專業(yè)重要的專業(yè)基礎(chǔ)課,課程以Intel80×86系列微處理器為平臺,主要講述了微型計算機(jī)的基本組成、工作原理、編程結(jié)構(gòu)、匯編語言、I/O接口技術(shù)等內(nèi)容[1]。由于課程涉及知識面廣、微機(jī)內(nèi)部芯片高度集成化,在實際教學(xué)中基本工作原理抽象難講、傳統(tǒng)教學(xué)中理論與實踐分開教學(xué)、實驗由于受到硬件環(huán)境的制約,也不便于學(xué)習(xí)者隨時隨地進(jìn)行學(xué)習(xí)、驗證和應(yīng)用,在這種情況下造成了學(xué)生學(xué)習(xí)主動性不高、實踐動手能力較弱的情況[2]。利用虛擬儀器技術(shù)針對教學(xué)和實驗的需求,開發(fā)出虛擬實驗平臺,可以有效的解決以上問題,在自己的電腦上利用虛擬實驗平臺就可以方便地把“實驗室”搬進(jìn)課堂和學(xué)生宿舍,利用虛擬平臺教師可以將一些難于表述的問題更直觀的展現(xiàn)出來、學(xué)生實踐不受時間、場地的限制,在學(xué)習(xí)理論知識的同時,對照演示、觀察現(xiàn)象分析結(jié)果,對提高學(xué)生實際動手能力、培養(yǎng)學(xué)生創(chuàng)新能力有著積極的意義。
2 LabVIEW軟件介紹(LabVIEW software
introduction)
LabVIEW軟件是美國NI公司開發(fā),應(yīng)用最為廣泛的圖形化編程軟件之一,用它開發(fā)的虛擬儀器具有界面友好美觀、功能強(qiáng)大、開發(fā)效率高、成本低、擴(kuò)展性好等優(yōu)點,是目前開發(fā)虛擬儀器的主流工具[3]。利用其提供的大量控件、工具和函數(shù)可以仿真出芯片的實際功能,并可將各種信號以波形或數(shù)字量直觀的顯現(xiàn)出來,因此LabVIEW軟件在微機(jī)原理與接口技術(shù)課程的教學(xué)實驗中有重要的現(xiàn)實意義[4]。
3 各模塊仿真設(shè)計(Simulation design of each
module)
輸入/輸出是計算機(jī)與外部世界進(jìn)行信息交換不可缺少的功能,在整個計算機(jī)系統(tǒng)中占有極其重要的地位[5]。實驗要求學(xué)生利用74LS244和74LS273實現(xiàn)外設(shè)數(shù)據(jù)的輸入輸出,通過實驗使學(xué)生熟悉常用接口的應(yīng)用方法、掌握使用74LS138對I/O端口地址的譯碼方法、實現(xiàn)端口數(shù)據(jù)的輸入/輸出程序設(shè)計方法,實驗中使用的接口芯片74LS244、74LS273和74LS138分別建成子VI,方便在使用時直接調(diào)用。
3.1 輸入接口74LS244模塊的仿真設(shè)計
輸入接口要具有對數(shù)據(jù)的控制能力,74LS244內(nèi)部由八個三態(tài)門構(gòu)成,控制端E1和E2同時為低電平時可以使八個三態(tài)門同時導(dǎo)通,實驗中用一片74LS244作為輸入接口連接八個開關(guān),當(dāng)CPU讀74LS244的端口時,就可以測量出這些開關(guān)當(dāng)前的狀態(tài)是打開還是閉合的[6]。用一個條件語句構(gòu)成三態(tài)門,程序如圖1所示,74LS244程序中當(dāng)E1和E2為低電平時將輸入口I0-I7的8位數(shù)據(jù)通過八個三態(tài)門經(jīng)D0—D7被讀入CPU,程序如圖2所示。
圖1 三態(tài)門程序框圖
Fig.1 Three state gate circuit program chart
圖2 74LS244程序框圖
Fig.2 74LS244 program chart
3.2 輸出接口74LS273模塊的仿真設(shè)計
輸出接口要具有數(shù)據(jù)的鎖存能力,74LS273內(nèi)部包含了八個D觸發(fā)器,在脈沖輸入端的上升沿將輸入端D0—D7的狀態(tài)鎖存在Q0—Q7輸出端,并將此狀態(tài)保持到下一個時鐘脈沖的上升沿[7]。本實驗中使用一片74LS273作為輸出接口,八個Q端與八個發(fā)光二極管相連接,D觸發(fā)器程序如圖3所示,當(dāng)CP有效時將D輸入端數(shù)據(jù)鎖存至Q端,74LS273程序如圖4所示,其內(nèi)部調(diào)用八個D觸發(fā)器,為便于接線,程序中將8位輸入和輸出信號捆挷為簇。
圖3 D觸發(fā)器程序框圖
Fig.3 D trigger program chart
圖4 74LS273程序框圖
Fig.4 74LS273 program chart
3.3 74LS138譯碼器模塊設(shè)計
實驗中I/O端口地址的譯碼使用專用譯碼器74LS138進(jìn)行地址譯碼,程序框圖如圖5所示,G1、G2A、G2B為譯碼器的三個使能輸入端,當(dāng)G1=1、G2A=G2B=0時,譯碼器允許工作(Enable),否則禁止(Disable),A、B、C為譯碼器的三條輸入線,不同的輸入組合決定了輸出端Y0—Y7的狀態(tài),其中只有一個輸出有效[8],程序中用復(fù)合或邏輯運算函數(shù),按74LS138特性方程如圖6所示,編寫出能夠完成3—8譯碼器的邏輯關(guān)系。
圖5 74LS138程序框圖
Fig.5 74LS138 program chart
圖6 74LS138特性方程
Fig.6 74LS138 characteristic equation
4 基本輸入/輸出接口擴(kuò)展實驗(Basic input/output
experiment)
實驗用74LS138作I/O端口地址的譯碼器,要求學(xué)生根據(jù)譯碼電路分析出各接口芯片的端口地址,用八個邏輯電平開關(guān)K1—K8作為74LS244的輸入,用八個發(fā)光二極管L1—L8作為74LS273的輸出,編寫程序,使得邏輯電平開關(guān)的輸入狀態(tài)從發(fā)光二極管上顯示出來。邏輯電平開關(guān)閉合時為‘1,打開時為‘0。發(fā)光二極管輸入“1”為亮,“0”為滅。
4.1 前面板設(shè)計
前面板是VI的交互式用戶界面,外觀和功能都與傳統(tǒng)儀器面板相似,按功能可分為輸入和顯示兩種控件[9]。如圖7所示,前面板用到的輸入控件有:端口地址輸入框、K1—K8開關(guān)、命令選擇下拉列表框、執(zhí)行指令確定按鈕、結(jié)束按鈕。相應(yīng)的顯示控件包括:實驗說明文本顯示框、L1—L8指示燈、AL數(shù)組元素顯示,為了便于實驗者分析結(jié)果,還在地址線上添加了指示燈及數(shù)值顯示等控件。實驗者根據(jù)連接圖輸入端口地址后在地址總線上就可產(chǎn)生相應(yīng)的地址信息,該地址經(jīng)邏輯電路生成74LS138的輸入信號并決定其輸出,本實驗中譯碼電路采用部分譯碼方式,Y0接74LS244的選片信號,其端口地址為0480H—048FH中所有偶地址;Y1接74LS273的選片信號,其端口地址為0490H—049FH中所有偶地址,選中相應(yīng)端口后在命令列表框中可選擇輸入或輸出指令,按下執(zhí)行指令確定按鈕后即可讀入開關(guān)數(shù)據(jù)或?qū)L中數(shù)據(jù)輸出給發(fā)光二極管。
圖7 前面板
Fig.7 The front panel
4.2 主程序框圖
主程序如圖8所示,外部由一個While循環(huán)控制,在里面嵌套使用了順序結(jié)構(gòu),第一幀中先將指令中輸入的端口地址轉(zhuǎn)化成16位的二進(jìn)制地址,并捆挷為一個數(shù)組,便于進(jìn)行地址譯碼和顯示,調(diào)用74LS138子VI將輸出的Y0、Y1送入第二幀中,在第二幀中用戶操作執(zhí)行指令確定按鈕后將片選信號送到一個條件框,Y0輸入有效則打開74LS244子VI,若執(zhí)行了IN指令則將開關(guān)數(shù)據(jù)讀入AL中,若Y1輸入有效則打開74LS273子VI,當(dāng)執(zhí)行OUT指令后即可將AL中的數(shù)據(jù)輸出到指示燈,AL中的數(shù)據(jù)在下次輸入操作前通過移位寄存器保存起來,為了便于學(xué)習(xí)者理解I/O端口的地址譯碼,在前面板添加了顯示地址和選擇端口的文本信息,在第二幀中對輸入的端口地址進(jìn)行查對后可將選中的芯片顯示在前面板上,并對相應(yīng)芯片高亮顯示。
圖8 主程序框圖
Fig.8 The main program block diagram
5 結(jié)論(Conclusion)
試驗中學(xué)生通過接連圖分析出端口地址,在前面板上輸入相應(yīng)地址,選擇相應(yīng)指令,通過輸入接口讀取開關(guān)的數(shù)據(jù),并將讀到的數(shù)據(jù)通過輸出接口送到發(fā)光二極管上,對學(xué)生深入理解基本輸入/輸出操作、端口地址譯碼以及無條件輸入輸出方式都有很好的幫助,可作為實驗箱實際實驗的輔助平臺,在實際教學(xué)中也取得了不錯的效果?;贚abVIEW開發(fā)的虛擬實驗具有界面美觀,操作簡便直觀的優(yōu)點[10],能將枯燥抽象的理論變得生動可見,教師和學(xué)生可以不受時間地點限制,在課堂或宿舍方便的通過電腦進(jìn)行實驗,對提高學(xué)生的實際動手和創(chuàng)新應(yīng)用能力,提高學(xué)生學(xué)習(xí)興趣有著積極的意義。
參考文獻(xiàn)(References)
[1] YongningWANG.LabVIEW-Based Design of Virtual Instruments and R&D of Virtual Experimental System.Advanced Materials Research,2014:513-517;1756-1759.
[2] Zhou Q Z,Xie Y L,Li X F.Methodology and Equipments for Analog Circuit Parametric Faults.Diagnosis Based on Matrix Eigenvalues[J].IEEE Transactions on Applied Superconductivity,
2014,17(5):233-240.
[3] NitinSwamy.Internet-Based Educational Control System Lab Using Net Meeting[J].Transaction on Education,2006,45(02):145-150.
[4] 王詠寧,毛多鷺.基于LabVIEW的微機(jī)原理實驗輔助學(xué)習(xí)平臺[J].現(xiàn)代電子技術(shù),2015,38(18):33-35.
[5] 周明德,等.微機(jī)原理與接口技術(shù)[M].北京:清華大學(xué)出版社,2007:230-235.
[6] 劉允峰.基于Multisim12的電機(jī)驅(qū)動模塊設(shè)計與仿真[J].電子設(shè)計工程,2014,22(8):153-155.
[7] 高林,徐建,朱黎.電類專業(yè)多課程仿真的ARCS分析及綜合應(yīng)用[J].實驗技術(shù)與管理,2015,32(3):144-147.
[8] 王詠寧,惠寶鋒.譯碼器擴(kuò)展及仿真實現(xiàn)[J].軟件工程師,2015,18(8):36-38.
[9] 王詠寧,蔣維.人體脈搏檢測的軟件模塊設(shè)計[J].青海大學(xué)學(xué)報,2013,31(5):85-90.
[10] 喬月鳳,范春風(fēng),劉瑞翔.基于LabVIEW的虛擬實驗教學(xué)系統(tǒng)
設(shè)計[J].實驗科學(xué)技術(shù),2015,13(4):10-12.
作者簡介:
王詠寧(1971-),男,碩士,副教授.研究領(lǐng)域:虛擬儀器技術(shù)及應(yīng)用.
馮桂蓮(1979-),女,碩士,副教授.研究領(lǐng)域:信息系統(tǒng),圖像處理.