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

數(shù)字邏輯實(shí)驗(yàn)仿真系統(tǒng)中虛擬器件邏輯功能的實(shí)現(xiàn)

2007-12-31 00:00:00
計(jì)算機(jī)時(shí)代 2007年10期

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

關(guān)鍵詞:LabVlEW;圖形化編程語言;DLL函數(shù);虛擬儀器

0 引言

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

該模型中虛擬實(shí)驗(yàn)平臺是一個(gè)實(shí)現(xiàn)人機(jī)交互的圖形界面,主要完成數(shù)據(jù)的采集和結(jié)果的輸出顯示。

后臺計(jì)算程序是一個(gè)數(shù)據(jù)處理模塊,負(fù)責(zé)完成兩方面的工作:一方面將用戶編輯輸入的電路轉(zhuǎn)換成模擬數(shù)據(jù);另一方面,利用用戶輸入的外部激勵(lì)信號和控制命令驅(qū)動(dòng)電路,進(jìn)行模擬計(jì)算得出模擬結(jié)果。

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

VC作為一種面向?qū)ο蟮恼Z言,同時(shí)具備強(qiáng)大的圖像處理能力,從而成為了開發(fā)的首選工具,借助于Microsoft出色的MFC類庫和應(yīng)用程序框架,能夠輕易實(shí)現(xiàn)對象的存儲(chǔ)與表示。然而,直接使用VC來編寫代碼實(shí)現(xiàn)虛擬設(shè)備庫中大量器件的邏輯功能,其工作十分煩瑣。為此筆者選擇采用LabVIE來編制虛擬器件的邏輯功能函數(shù)并生成DLL函數(shù)以供VC中調(diào)用,從而簡化這部分代碼的編寫與調(diào)試。

1 LabVIEW與虛擬儀器編程

1.1虛擬儀器是計(jì)算機(jī)仿真的基本元件

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

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

第二,虛擬儀器測量功能由軟件編程來實(shí)現(xiàn)。

最初LabVIEW提出的虛擬儀器概念實(shí)際是一種程序設(shè)計(jì)思想,目前虛擬儀器概念已經(jīng)發(fā)展成為一種創(chuàng)新的儀器設(shè)計(jì)思想。這種思想可以簡單表述為:一個(gè)VI可以由前面板、數(shù)據(jù)流圖和圖標(biāo)連接端口組成,前面板相當(dāng)于真實(shí)物理儀器的操作面板,而數(shù)據(jù)流框圖就相當(dāng)于儀器的電路結(jié)構(gòu),前面板和數(shù)據(jù)流框圖有各自的設(shè)計(jì)窗口,而圖標(biāo)連接端口則負(fù)責(zé)前面板窗口和框圖窗口之間的數(shù)據(jù)傳輸與交換。

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

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

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

2 利用LabVIEW實(shí)現(xiàn)虛擬器件的邏輯功能

本文以半加器為例,分析在LabVIEW中創(chuàng)建半加器邏輯功能函數(shù)DLL的方法。

2.1 創(chuàng)建子VI

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

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

2.2 利用子VI創(chuàng)建DLL

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

簡單歸納制作步驟如下:

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

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

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

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

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

(5)相關(guān)參數(shù)配置好后便可以執(zhí)行創(chuàng)建“Build”命令,LabVIEW會(huì)根據(jù)參數(shù)生成相關(guān)的文件(如圖4)。其中在VC中調(diào)用該函數(shù)時(shí)要用到的有三個(gè)文件dll、h和lib文件。

3 結(jié)束語

正確創(chuàng)建DLL后,在VC中就可以按其它DLL函數(shù)的調(diào)用方法一樣,使用LabVIEW中導(dǎo)出的函數(shù)了。以此為基礎(chǔ),筆者利用LabVIEW生成了數(shù)字邏輯實(shí)驗(yàn)仿真系統(tǒng)中所需的各種虛擬器件(包括邏輯門、譯碼器、觸發(fā)器、移位寄存器、計(jì)數(shù)器等)的邏輯功能函數(shù)。

充分利用LabVIEW圖形化編程的便捷陸,通過圖形圖標(biāo)的拖動(dòng)與組合便輕松組裝出一個(gè)個(gè)具有特定功能的程序,大大簡化了開發(fā)人員代碼編寫與調(diào)試的工作。

主站蜘蛛池模板: 天天做天天爱天天爽综合区| 欧美不卡二区| jizz国产视频| 五月婷婷激情四射| 国产精品免费福利久久播放| 极品尤物av美乳在线观看| …亚洲 欧洲 另类 春色| 亚洲 欧美 日韩综合一区| 色135综合网| 久久性妇女精品免费| 波多野结衣的av一区二区三区| 中文字幕在线永久在线视频2020| P尤物久久99国产综合精品| 丁香亚洲综合五月天婷婷| 91精品伊人久久大香线蕉| 亚洲综合久久一本伊一区| 国产自在自线午夜精品视频| vvvv98国产成人综合青青| 国产免费a级片| 99视频全部免费| 在线观看免费人成视频色快速| 欧美日韩精品一区二区在线线| 国产区网址| 午夜精品影院| 欧美第二区| 国产精品片在线观看手机版 | 亚洲天堂色色人体| 国产av无码日韩av无码网站| 97影院午夜在线观看视频| 亚洲欧美另类视频| 色亚洲成人| 亚洲成人免费在线| 欧美精品一区在线看| 日韩不卡免费视频| 最新痴汉在线无码AV| 国产在线观看成人91| 免费无码网站| 日本a级免费| 日本三级欧美三级| 欧美精品亚洲精品日韩专区| 亚洲色图欧美| 亚洲国产日韩一区| 国产美女一级毛片| 国产精品视频久| 国产精品中文免费福利| 91美女视频在线| 日韩a在线观看免费观看| 91精品国产91久久久久久三级| 啪啪国产视频| 99re在线观看视频| 亚洲欧美另类久久久精品播放的| 国产精品乱偷免费视频| 全裸无码专区| 99精品福利视频| 日韩人妻精品一区| 91国内视频在线观看| 亚洲天堂网视频| 国产菊爆视频在线观看| 91无码网站| 欧美不卡二区| 四虎亚洲国产成人久久精品| 亚洲二区视频| 一级毛片a女人刺激视频免费| 成人在线不卡视频| 国产成人亚洲综合a∨婷婷| 天堂网国产| 99在线视频精品| 日本午夜三级| 久久99国产乱子伦精品免| 亚洲国产精品VA在线看黑人| 日韩精品一区二区三区免费在线观看| 99成人在线观看| 亚洲天堂伊人| 亚洲成人一区二区三区| 第一页亚洲| 久久综合丝袜长腿丝袜| 日本一区二区不卡视频| 真实国产精品vr专区| 香蕉国产精品视频| 欧美自慰一级看片免费| 亚洲大尺码专区影院| 成人精品在线观看|