999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數字邏輯實驗仿真系統中虛擬器件邏輯功能的實現

2007-12-31 00:00:00
計算機時代 2007年10期

摘 要:在利用VC開發數字邏輯實驗仿真系統時,有大量的虛擬實驗元件(儀器)的邏輯功能需要編程實現。利用圖形化編程語言LabVIEW編寫虛擬元件邏輯功能的DLL函數,可以大大節省代碼編寫與調試工作量。文章結合實例分析歸納了LabVIEW中DLL函數的制作方法與技巧。

關鍵詞:LabVlEW;圖形化編程語言;DLL函數;虛擬儀器

0 引言

VR技術的蓬勃發展推動了“虛擬實驗室”的發展。在教學或科研領域廣泛開展虛擬實驗具有重要的意義,如:①能彌補實驗經費不足;②能實現資源無損重復利用;③能打破實驗受時空的限制;④能實現對實驗的微觀控制等等。在進行數字邏輯課程教學時,筆者需要組織學生進行各種數字邏輯實驗,但受物理條件的限制無法正常開展硬件實驗;雖然EDA技術的發展,EDA實驗室也提供了相關的實驗功能,但EDA實驗室的組建需要大筆經費,這受到了經濟上的限制。為此,筆者以EDA技術為基礎,設計了一個數字邏輯電路虛擬實驗平臺模型,并用VC作為主要開發工具實現該平臺。該實驗平臺模型如圖1所示。

該模型中虛擬實驗平臺是一個實現人機交互的圖形界面,主要完成數據的采集和結果的輸出顯示。

后臺計算程序是一個數據處理模塊,負責完成兩方面的工作:一方面將用戶編輯輸入的電路轉換成模擬數據;另一方面,利用用戶輸入的外部激勵信號和控制命令驅動電路,進行模擬計算得出模擬結果。

虛擬設備庫中包含了數字邏輯實驗中所要用到的所有設備,包括各種電源器件、顯示器件(各種指示燈等)、基本門電路、集成芯片、各種儀器(如示波器)等。所有這些虛擬器件都需要為其建立相應的對象模型。對上述的虛擬元件建立的模型是E=(N,F,I,O),其中,N為元件的類型名稱,F為元件的功能,I、O是元件的輸入輸出端口。

VC作為一種面向對象的語言,同時具備強大的圖像處理能力,從而成為了開發的首選工具,借助于Microsoft出色的MFC類庫和應用程序框架,能夠輕易實現對象的存儲與表示。然而,直接使用VC來編寫代碼實現虛擬設備庫中大量器件的邏輯功能,其工作十分煩瑣。為此筆者選擇采用LabVIE來編制虛擬器件的邏輯功能函數并生成DLL函數以供VC中調用,從而簡化這部分代碼的編寫與調試。

1 LabVIEW與虛擬儀器編程

1.1虛擬儀器是計算機仿真的基本元件

虛擬儀器(Virtual Instrument,簡稱Ⅵ)是LabVIEW首先提出的創新概念。所謂虛擬儀器,是在以通用計算機為核心的硬件平臺上,由用戶設計定義、具有虛擬面板、測試功能由測試軟件實現的一種計算機儀器系統。它利用PC計算機顯示器(CRT)的顯示功能模擬傳統儀器的控制面板,以多種形式表達輸出檢測結果,利用PC計算機強大的軟件功能實現信號數據的運算、分析、處理,由I/O接口設備完成信號的采集、測量與調理,從而完成各種測試功能。“虛擬”二字主要包含兩方面的含義:

第一,虛擬儀器的面板是虛擬的。

第二,虛擬儀器測量功能由軟件編程來實現。

最初LabVIEW提出的虛擬儀器概念實際是一種程序設計思想,目前虛擬儀器概念已經發展成為一種創新的儀器設計思想。這種思想可以簡單表述為:一個VI可以由前面板、數據流圖和圖標連接端口組成,前面板相當于真實物理儀器的操作面板,而數據流框圖就相當于儀器的電路結構,前面板和數據流框圖有各自的設計窗口,而圖標連接端口則負責前面板窗口和框圖窗口之間的數據傳輸與交換。

1.2 LabVlEW是圖形化的虛擬儀器編程語言

LabVIEW(Laboratory Virtual Instrument EngineeringWorkbench,實驗室虛擬儀器工程平臺)是美國m公司(NationalInstrumem Company)最先于1986年發布的一種基于G語言(Graphics Language,圖形化編程語言)的虛擬儀器軟件開發工具,到目前LabVIEW已經發展到8.0版本。可以說虛擬儀器是與LabVIEW同步誕生的。目前已有多種的虛擬儀器的軟件開發工具,如C、Visual C++、Visual Basic、Labwindows/CVI等屬于文本式編程語言,而LabVIEW,HPVEE則屬于圖形化編程語言。LabVIEW以其強大的便捷的圖形化編程方式贏得了包括航空、航天、通信、汽車、半導體、生物醫學等世界范圍眾多領域的廣泛應用,從大學實驗室到工廠,從探索研究到技術集成,我們都可以發現LabVIEW應用的成果和開發的產品。

LabVIEW為虛擬儀器設計者提供了一個便捷、輕松的設計環境,利用它,設計者可以像搭積木一樣,輕松組建一個測量系統和構造自己的儀器面板,而無需進行任何繁瑣的代碼編寫。而且用LabVIEW設計的虛擬儀器可以脫離LabVIEW環境使用。LabVIEW提供了大量與外部代碼或軟件進行連接的機制,諸如DLLs(動態鏈接庫)、DDE(共享庫)、ActiveX等,這就使得利用LabVIEW與Visual C++組合開發虛擬實驗室系統成為可能。

2 利用LabVIEW實現虛擬器件的邏輯功能

本文以半加器為例,分析在LabVIEW中創建半加器邏輯功能函數DLL的方法。

2.1 創建子VI

LabVIEW中的子VI(subVI)相當于文本編程語言中的函數、過程和子程序,就是可以被其他的VI調用的VI。要在VC或其他文本編程語言程序調用LabVIEW的子VI,首先要利用子VI創建DLL函數。

子Vl的創建過程與普通Vl的創建過程基本相同,即都是通過前面板來定義用戶界面,用程序框圖(block diagram)來定義程序流程。創建好的半加器VI的前面板和程序框圖如圖2、圖3所示。從一個普通VI構造子VI的重要工作是定義它的圖標和連接器。子VI的圖標是作為被其他VI調用時出現在程序框圖中的圖標,而連接器則定義了子VI作為子函數(過程)具有的輸入輸出參數類型與個數。對制作被文本語言調用的DLL函數來說,定義連接器是必須的。因為半加器有兩個輸入和兩個輸出,所以在定義它的連接器時應選擇一個兩輸入兩輸出的模板。未定義的連接器各個端子都是空白的,通過將各個端子與前面板中相應的控制器或指示器關聯后,連接器的端子變了顏色。用沒有定義連接器的子VI創建的DLL函數將是一個沒有任何輸入、輸出參數的函數。因此創建DLL前一定要將子VI的連接器定義好。

2.2 利用子VI創建DLL

創建好子Ⅵ后,就可以利用它來制作DLL了。工作開始之前要打開包含了以上子VI的項目。如果原來的子VI是單獨建立的則新建一個項目,然后將子VI添加到新項目中并保存該項目。注意一定要先保存項目,未經保存的項目是無法創建DLL或EXE的。

簡單歸納制作步驟如下:

(1)打開項目后,在項目瀏覽器(Project Explorer)中展開“My Computer”。

(2)右擊其中的“Build specification”,從快捷菜單中選擇New->Shared Library命令打開Shared Library Property對話框(如圖3)。通過該對話框為即將創建的DLL配置參數,其中最重要的就是Shared Library Information和Source Files兩類參數。前者用于指定輸出的DLL文件路徑等信息,后者則指出用于制作DLL函數的源子VI文件。

(3)在Shared Library Information面板設置生成的目標文件信息。用戶要特別關注兩個參數:Target filename和SharedLibrary destination directory,前者是生成的DLL文件名,后者是存放DLL文件的目錄路徑。值得注意的是Windows環境所用的DLL是以.dll為擴展名,而在Mac OS中用的擴展名是,framework,Linux中則是.SO。

(4)在Source files面板中指定將導出DLL的VI;即要從Project Files列表中將既定的VI文件添加到Exported Vis列表中。LabVIEW會根據加入的子VI自動生成DLL函數原型void HalfAdder(unsigned char A,unsigned char B,unsigned char*Y,unsigned char*C)。

在此用戶可以對該函數作進一步配置。如果原來的子VI明明存在數據輸入輸出,而在此卻發現函數原型中沒有任何輸入輸出參數或者參數的數目與子VI中的輸入輸出端口不相符,則說明在創建子VI的時候沒有定義連接器或連接器定義不正確,需重新定義子VI的連接器。

(5)相關參數配置好后便可以執行創建“Build”命令,LabVIEW會根據參數生成相關的文件(如圖4)。其中在VC中調用該函數時要用到的有三個文件dll、h和lib文件。

3 結束語

正確創建DLL后,在VC中就可以按其它DLL函數的調用方法一樣,使用LabVIEW中導出的函數了。以此為基礎,筆者利用LabVIEW生成了數字邏輯實驗仿真系統中所需的各種虛擬器件(包括邏輯門、譯碼器、觸發器、移位寄存器、計數器等)的邏輯功能函數。

充分利用LabVIEW圖形化編程的便捷陸,通過圖形圖標的拖動與組合便輕松組裝出一個個具有特定功能的程序,大大簡化了開發人員代碼編寫與調試的工作。

主站蜘蛛池模板: 亚洲V日韩V无码一区二区| 久久国产精品娇妻素人| 亚洲人在线| 亚洲an第二区国产精品| 亚洲成人手机在线| 亚洲午夜国产片在线观看| 免费人欧美成又黄又爽的视频| 5555国产在线观看| 欧美α片免费观看| 尤物成AV人片在线观看| 亚洲无码一区在线观看| 美女高潮全身流白浆福利区| 国产美女无遮挡免费视频网站| 91精品国产福利| 日本三区视频| 免费看的一级毛片| 特级aaaaaaaaa毛片免费视频| 久久频这里精品99香蕉久网址| 国产乱子伦精品视频| 日韩AV手机在线观看蜜芽| 国产91精品调教在线播放| 熟妇丰满人妻| 91www在线观看| 国产香蕉在线| 欧美色99| 亚洲天堂网2014| 亚洲区第一页| 欧美一级99在线观看国产| 经典三级久久| 亚洲第一精品福利| 久久久久青草大香线综合精品| 全部无卡免费的毛片在线看| 国产欧美精品午夜在线播放| 99久久国产精品无码| 成年女人18毛片毛片免费| 国产精品欧美亚洲韩国日本不卡| 激情亚洲天堂| 婷婷激情五月网| 国产一区免费在线观看| 国产高清无码第一十页在线观看| 久久综合激情网| 99久久精品国产麻豆婷婷| 欧美视频在线不卡| 国产免费怡红院视频| 亚洲人成色77777在线观看| 亚洲浓毛av| 日本高清免费不卡视频| 一级毛片免费的| 久久黄色小视频| 国产玖玖视频| 欧美精品在线视频观看| 尤物成AV人片在线观看| 婷婷色一二三区波多野衣| 欧美日韩精品在线播放| 尤物国产在线| 国产女人在线| 久久久久免费看成人影片| 999精品色在线观看| 久草视频福利在线观看| 亚洲精品国产成人7777| 91po国产在线精品免费观看| 国产精品林美惠子在线播放| 精品成人一区二区三区电影| 亚洲无码在线午夜电影| 国产1区2区在线观看| 伊人丁香五月天久久综合| 久久成人国产精品免费软件 | AV无码国产在线看岛国岛| 无码精品国产dvd在线观看9久 | AV不卡在线永久免费观看| 中文字幕2区| 中文字幕欧美日韩高清| 欧美成人精品一级在线观看| 伊人色天堂| 久久久久亚洲AV成人人电影软件 | 精品一区二区三区四区五区| 在线观看免费国产| 无码免费的亚洲视频| 欧美国产日韩在线观看| 国产91在线|日本| 茄子视频毛片免费观看| 亚洲成a人片77777在线播放|