精通Proteus仿真器件制作(3)DLL仿真模型創建


有些人可能會想:什么叫做“DLL仿真模型之原理圖符號”?我想學高級的C++創建DLL(動態鏈接庫)仿真模型的方式,你別攔着我,不然,我可就人擋Kill人,佛擋Kill佛啦!原理圖符號的創建之前已經學過了呀?不要試圖用這些重復的內容阻擋我那邁向人生巔峰的堅定步伐!

 

好的,不攔你!你想做神仙我也管不着,但是要做神仙起碼也得先引氣入體築基結丹什么的吧,對這個我不是很在行,然而即便你創建了一個超級DLL仿真模型,原理圖符號也還得先創建,不過與之前介紹操作細節稍有不同,不知會你一聲可能會影響修仙進度,你自己決定吧!

我決定為電子制作站做一塊招牌元器件“LED_DZZZZCN”,它只有一個輸入引腳,引腳名為“LED”,當輸入為高電平時點亮,輸入低電平時熄滅,仿真的效果如下圖所示:

 

精通Proteus仿真器件制作(3)DLL仿真模型創建

 

哈哈,我們的招牌絕對高端大氣上檔次、低調奢華有內涵、奔放洋氣有深度、簡約時尚國際范,迪拜的土豪們搶着要下訂單吶,,,,,,,,,(此處省略一萬字)。

下面我們先來創建原理圖符號,如下圖所示:

精通Proteus仿真器件制作(3)DLL仿真模型創建

 

可以看到,我們創建了三個圖形,但是只有第一個是有引腳的,這也是我們需要創建元器件的符號,我們稱其為device吧!下面兩個是圖形符號(symbol),它們是沒有引腳的。我們的招牌元器件的工作原理很簡單:如果輸入為低電平,就把第一個全黑的symbol貼到device對應位置上,那么招牌元器件就是全黑狀態;如果輸入為高電平,就把第二個顯示“dzzzzcn”的symbol貼到device對應位置上,也就完成了狀態的切換,簡單吧!

注意:你自己動手做出什么形狀並不重要,但是一定要給每一個圖形增加一個定位標記(左上角那個帶十字的方塊),它決定了你把symbol貼到device的參考位置,所以必須是統一的,不然顯示的位置會有偏差,如下圖所示:

精通Proteus仿真器件制作(3)DLL仿真模型創建

 

接下來我們需要保存創建的圖形符號(makesymbol),選中第一個symbol(不是device)后右擊,在彈出的菜單中選擇“Make Symbol”選項,如下圖所示:

精通Proteus仿真器件制作(3)DLL仿真模型創建

 

在彈出的對話框中設置符號名為“LED_DZZZZCN_0”即可。

精通Proteus仿真器件制作(3)DLL仿真模型創建

 

同樣,我們將第二個圖形符號保存為“LED_DZZZZCN_1”,這里需要特別提醒的是:符號的全名格式是“器件名稱+下划線+數字”,這一點非常重要,在后續采用C++編寫動態鏈接庫時,就會以數字來調用相應的圖形符號。例如,drawsymbol(0)表示繪制“LED_DZZZZCN_0”,drawsymbol(1)表示繪制“LED_DZZZZCN_1”,而drawsymbol(-1)表示繪制器件符號“LED_DZZZZCN”。

保存完symbol后再創建device,這個順序也很重要。我們全選device后右擊,在彈出的對話框中選擇“Make Device”即可彈出下圖所示的對話框:

精通Proteus仿真器件制作(3)DLL仿真模型創建

 

對話框的通用屬性(GeneralPropoerties)用來設置器件名稱與位號,這一點我們已經介紹過,但為了使動態鏈接庫模型能夠調用剛才創建的兩個symbol,我們還得設置活動的組件屬性(Active Component Properties),其中Name Stem用來設置symbol名稱的共同部分,對於我們剛才保存的“LED_DZZZZCN_0”與“LED_DZZZZCN_1”,共同的名稱就是“LED_DZZZZCN”。No. of States表示有幾個symbol,這里很明顯是2。最后不要忘了把“Linkto DLL”勾上。

接下來我們一路點擊Next到“器件屬性與定義”頁表項,我們新建了“PRIMITIVE”與“MODDLL”兩個屬性,PRIMITIVE屬性如下圖所示:

精通Proteus仿真器件制作(3)DLL仿真模型創建

 

在默認值(DefaultValue)中,我們填入的是“DIGITAL,LED_DZZZZCN”,表示當前的元器件是一個數字器件,而第二個參數“LED_DZZZZCN”會傳遞到DLL,這樣可以讓多個不同的器件使用同一個DLL,我們后續創建的對應DLL只給招牌元器件使用(迪拜土豪應該很在意獨一無二),其實不用傳遞也可以正常工作。

“MODDLL”屬性如下圖所示:

精通Proteus仿真器件制作(3)DLL仿真模型創建

 

“MODDLL”屬性與前面介紹過的“MODFILE”屬性是等同的,只不過后者是原理圖方式創建的模型,而前者是動態鏈接庫創建的模型,所以請勿必記住你填入的DLL名稱“LED_DZZZZCN.DLL”。

接下來的步驟已經介紹過了,我們就不再重復了,下面我們就來討論一下如何使用Microsoft Visual Studio創建動態鏈接庫仿真模型。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM