<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Matlab/RTW實(shí)時(shí)仿真與嵌入式系統開(kāi)發(fā)

Matlab/RTW實(shí)時(shí)仿真與嵌入式系統開(kāi)發(fā)

作者: 時(shí)間:2009-11-27 來(lái)源:網(wǎng)絡(luò ) 收藏

  引 言

  在日益激烈的競爭中,系統的開(kāi)發(fā)周期顯得尤為重要,但開(kāi)發(fā)時(shí)間與系統安全性、可靠性又有一定沖突,如果仍然使用傳統的編寫(xiě)代碼的模式,顯然有些不妥。本文介紹一種基于Matlab/RTW實(shí)現實(shí)時(shí)仿真與開(kāi)發(fā)的方法。方法所涉及的開(kāi)發(fā)環(huán)境如下:

◆Microsoft Windows XP SP3:
◆Matlab Version 7.5.0.342(R2007b);
uVersion2V 2.30;
7.1SP2。

  先借助Matlab/RTW建立模型并生成RTW(Real-Time Workshop)代碼(C語(yǔ)言),再使用編譯、調試Matlab生成的C語(yǔ)言代碼,并且生成HEX文件。之后,利用觀(guān)察代碼生成的效果,以驗證代碼的正確性?;玖鞒倘鐖D1所示。

基本流程

  1 構建Simulink模型并生成RTW代碼

  以較為簡(jiǎn)單的模型為例,用2個(gè)開(kāi)關(guān)同時(shí)控制一個(gè)報警燈模型。當開(kāi)關(guān)1、2同時(shí)閉合時(shí),報警燈亮,邏輯真值表如表1所列。在Simulink中構建對應模型,只有當開(kāi)關(guān)1、2同時(shí)閉合時(shí),報警燈才亮,故選擇如下模型實(shí)現上述功能。模型連接如圖2所示。

模型連接

  模型連接好之后,打開(kāi)參數配置選項卡調整參數。具體修改項及其對應值如表2所列。

具體修改項及其對應值

  至此生成模型代碼的前期準備已經(jīng)完成,保存模型,取名Matlab_Test。下一步就是點(diǎn)擊Real_Time Work-shop選項中的Build按鈕,Matlab將自動(dòng)生成模型代碼。

  Matlab命令窗口中顯示內容如下:

###Starting Real-Time Workshop build procedure for model:
Matlab_Test
……
###Successful completion of Real-Time Workshop build proce-dure for model:Matlab_Test
至此,模型的代碼也生成成功。

模型的代碼

模型代碼

  完成代碼修改之后,建造目標。若暫且不管代碼優(yōu)化問(wèn)題,則所需的HEX文件已經(jīng)成功生成。

  3.2 KeiI與的連接

  將安裝文件夾Proteus\Model下的VDM51.dll文件復制到\C51\INC文件夾下,用以實(shí)現兩軟件間的通信,并且在TOOLS.INI文件中加入VDM51.DLL文件的目錄及描述,具體添加內容如圖4所示。

添加內容

  至此,Keil與Proteus間的連接前期準備已經(jīng)完成。下面開(kāi)始Keil與Proteus聯(lián)機調試:選擇目標1的屬性,彈出對話(huà)框,在調試選項卡中選擇使用Proteus VSM Mo-nitor-51,具體調節參數如圖5所示。Keil與Proteus的連接已經(jīng)完成。

調節參數

  4 Proteus仿真

  打開(kāi)Proteus,新建一個(gè)工程,選擇80C51,正確連接基本電路;選擇P1.0引腳作為輸出,P1.6、P1.7引腳作為輸入,所連接的電路如圖6所示。

連接的電路

  單擊Debug菜單,選擇Use Remote Debug Monitor選項。然后,雙擊80C51器件,彈出器件編輯對話(huà)框,在Program File選項中選擇Keil生成的HEX文件(本例中該文件名為Keil_Test.HEX),進(jìn)行仿真。

  5 結 論

  實(shí)驗證明,基于Matlab生成的代碼具有較高的可靠性。

①通過(guò)Proteus的仿真結果可以得出,由Matlab生成的代碼同樣具有正確性;
②由Matlab直接生成代碼可以將設計人員從繁重的編寫(xiě)代碼的工作中解脫出來(lái),大大節省了開(kāi)發(fā)時(shí)間,提高了開(kāi)發(fā)效率;
③本文所述過(guò)程為的開(kāi)發(fā)與實(shí)時(shí)仿真的實(shí)現提供了參考,具有實(shí)際指導意義。



關(guān)鍵詞: Matlab/RTW 嵌入式系統 Proteus Keil

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>