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