《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 在Proteus中實現單片機交互仿真的方法探討
在Proteus中實現單片機交互仿真的方法探討
來源:微型機與應用2012年第2期
張子紅, 張洪全 , 李 雯
(黑龍江科技學院, 黑龍江 哈爾濱150027)
摘要: Proteus是一款功能強大的EDA軟件,利用其提供的ISIS平臺和VSM平臺可實現單片機的交互仿真功能,并實現軟件代碼級的調試,還可借助第三方編譯軟件keil實現高級語言的跟蹤調試,安裝Vdmagdi軟件能夠實現Keil與Proteus的聯機調試。熟練使用Proteus軟件不僅對單片機課堂教學和學生實驗非常有用,而且對單片機的應用設計也有非常大的幫助。
Abstract:
Key words :

摘  要: Proteus是一款功能強大的EDA軟件,利用其提供的ISIS平臺和VSM平臺可實現單片機的交互仿真功能,并實現軟件代碼級的調試,還可借助第三方編譯軟件keil實現高級語言的跟蹤調試,安裝Vdmagdi軟件能夠實現Keil與Proteus的聯機調試。熟練使用Proteus軟件不僅對單片機課堂教學和學生實驗非常有用,而且對單片機的應用設計也有非常大的幫助。
關鍵詞: Proteus; 單片機; 仿真

    Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其他EDA工具軟件的仿真功能,還能仿真單片機及外圍器件,因此是目前最好的仿真單片機及外圍器件的工具。現已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。Protues軟件不僅可將許多單片機實例功能形象化,還可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。隨著科技的發展,計算機仿真技術已成為許多設計部門重要的前期設計手段。它具有設計靈活、結果、過程統一的特點,可縮短設計時間,減少耗資,也可降低工程制造的風險。所以在單片機開發應用中,Proteus也能獲得越來愈廣泛的應用。
1 單片機系統的Proteus設計與仿真的開發過程
    Proteus強大的單片機系統設計與仿真功能,使其成為單片機系統應用開發和改進的手段之一,全部過程都是在計算機上通過Proteus完成的,其過程一般也可分為Proteus電路設計、Proteus源程序設計和生成目標代碼文件、Proteus仿真三步。單片機系統的Proteus設計與仿真流程圖如圖1所示。

2 Proteus軟件的源碼調試功能
    Proteus軟件提供了源碼調試功能,用戶可以直接在Proteus環境下進行匯編語言的源代碼跟蹤調試,同時還提供了與Keil、IAR等第三方編譯軟件的接口,可采用C語言等高級語言編程,進行跟蹤,分析指令的執行情況,還可通過調試菜單調出寄存器窗口、SFR窗口、IDATA窗口,為用戶編寫應用程序帶來方便。
2.1 Proteus下51單片機匯編源碼調試
    Proteus中的VSM(Virtual System Modelling)提供了簡單的文本編輯器SRCEDIT,它是記事本的修改版。Proteus用它作為源程序的編輯環境,可在該編輯器中按單片機語言系統規則編寫源程序。其中的菜單、命令按鈕與一般“窗口”的菜單、按鈕及其功能基本一樣。VSM對于不同系列的微處理器提供了相應的編譯器,即目標代碼生成工具,可根據單片機型號及語言要求來選取編譯器,51單片機及其兼容單片機的代碼生成工具選用ASM51。
    利用Proteus提供的源程序編輯器編寫一個文件名為小燈亮.ASM源程序,如圖2所示。

    程序編寫后,即可進行目標代碼生成工具設置,如果首次使用某一編譯器,則需設置代碼產生工具,單擊菜單“Source-Add/Remove Code Generation Tools”,如圖3所示。其中,Code Generation Tool(代碼產生工具)設置為ASEM51;Make Rules(生成規則)中,Source Extn(源程序擴展名)設置為ASM;Obj Extn(目標代碼擴展名)設置為HEX;Command Line(命令行)設置為%1;Debug Data Extraction(調試數據提取)中,List File Extn設置為LST。然后單擊“Source-Build All”(全編譯、匯編),編譯結果在彈出的編譯日志對話框中,無錯則生成目標代碼文件。對ASEM51系列及其兼容單片機而言,目標代碼文件格式為*.HEX。目標代碼文件“小燈亮.HEX”。若有錯,則可根據編譯日志提示來調試源程序,直至無錯生成目標代碼文件為止。

 

 

    但有時會出現編譯通不過,如圖4所示。這時可以考慮將命令行的參數設置為%1%2%3,即可完成編譯。然后雙擊ISIS編輯區中單片機,在其中的“Program File”右側框中輸入目標代碼文件(目標代碼與DSN文件在同一目錄下,直接輸入代碼文件名即可,否則要寫出完整的路徑。或單擊本欄打開按鈕,選取目標文件),至此完成了程序的加載。此時可以進行仿真調試了。

2.2 Proteus下51單片機C51源碼調試
    Proteus中只支持匯編語言源程序的調試,如果使用高級語言編寫源程序,可以選用第三方調試軟件如Keil,Proteus裝載器支持的51系列單片機調試文件格式主要有OMF51,這種格式可以在Keil編譯器中設置,所以如果使用Proteus VSM的源碼調試功能,就需要匯編器/編譯器輸出Proteus支持的調試格式文件,這樣裝載器就能從這些調試文件中調試信息以實現源碼調試。這里以“按鍵識別”為例。首先在Keil中建立一個“按鍵識別”的工程,打開此工程,左擊選中“Target1”,然后右擊在打開的快捷菜單中選擇“Options for Target Target1”,在新打開的對話框中選擇“Output ”選項卡,如圖5所示。

    將Name of Executable中的文件擴展名設置成.OMF格式,這里的點一定不能丟掉,勾選Create Executable :中Debug Informatio Browse Informati 選項,如圖5所示。確定后對“按鍵識別”這個工程編譯后即可得到OMF51。
    雙擊打開ISIS編輯區中單片機, 加載OMF文件如圖6所示,單擊OK。

3 Keil與Proteus的交互
    首先在ISIS平臺上完成單片機系統的電路設計,在Keil開發環境中用匯編語言或C語言完成程序的編寫、編譯,最后生成二進制或十六進制文件,雙擊打開ISIS編輯區中單片機,加載生成的二進制或十六進制文件,單擊OK。單擊ISIS區的仿真按鈕,即可實現仿真。如果有錯,需要分別檢查電路設計和Keil中的程序編寫是否正確,然后再進行加載仿真直到正確為止。也可以安裝Vdmagdi軟件,即可實現Proteus與Keil的聯調。具體方法如下。
3.1 Keil設置
    在Keil軟件上單擊“工程菜單→為目標‘目標1’選擇設備”選項或者單擊工具欄的按鈕,彈出窗口如圖8所示,單擊“調試”選項卡,在出現的對話框中,在右欄上部的下拉菜單里選中“PROTEUS VSM MONITOR-51DRIVER”。并且還要單擊“使用”前面的小圓點表明選中當前的設置。再單擊“設置”按鈕,設置通信接口,在“Host”后面添上“127.0.0.1”,如果使用的不是同一臺計算機,則需要在這里添上另一臺計算機的IP地址(另一臺計算機也應安裝Proteus)。在“Port”后面添加“8000”。單擊“OK”按鈕即可。最后將工程編譯,進入調試狀態,并運行。

3.2 Proteus的設置  
    進入Proteus的ISIS,鼠標左鍵單擊菜單“Debug”,選中“Use Romote Debuger Monitor”,便可實現Keil與Proteus連機調試。
    本文對Proteus與單片機的交互仿真方法進行了分析和總結,結果表明充分利用Proteus提供的仿真環境,能夠完成一個具有相當集成性的單片機系統,并可方便、靈活、高效地進行源代碼的跟蹤調試,實現Proteus與單片機的交互仿真。
參考文獻
[1] 畢萬新,孟曉明,宋國平.PROTEUS下的51單片機源碼調試的實現方法[J]. 遼寧師專學報,
2010,12(1):52-53.
[2] 李學禮. 在PROTEUS中實現C51源碼級的調試[EB/OL].[2010-11-04]//www.go-gddq.com/
html/s693/2010-11/513393.htm.
[3] 張文祥,李志軍,張子紅,等. 單片機系統設計與開發教 程[M].北京:電子工業出版社, 2010.
[4] 張子紅,劉鑫. 基于Proteus的單片機課程教學改革[J].單片機與嵌入式系統應用,2010(11):15-18.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲成人国产 | 2020国产成人久久精品 | 欧美人成在线观看ccc36 | 久久久青青久久国产精品 | 国产亚洲精品成人久久网站 | 奇米精品一区二区三区四区 | 欧美日韩国产精品自在自线 | 日韩欧美视频一区二区三区 | 日本精品久久久久久久久免费 | 久久最新免费视频 | 久久精品a一国产成人免费网站 | 国产精品一区二区三区免费 | 99热精品在线 | 鸥美黄色 | 中文字幕热久久久久久久 | 狠狠综合久久综合网站 | 欧美黄色一级视频 | 久久精品视频6 | 毛片国产| 高清内谢 | 日本久久久久久中文字幕 | 亚洲国产天堂久久综合 | 久久深夜福利 | 久久最新免费视频 | 亚洲人成77777在线播放网站不卡 | 99精品网| 九七色伦| 四虎国产视频 | 精品成人免费播放国产片 | 色老头成人免费综合视频 | 久草不卡视频 | 日韩福利在线 | 国内国语一级毛片在线视频 | 九九在线精品视频 | 黄色短视频网站 | 99免费在线观看视频 | 漂亮的保姆完整版免费韩剧 | 久久免费国产精品一区二区 | 欧美操女人| 1000部精品久久久久久久久 | 日本道在线观看 |