新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Proteus 仿真軟件在單片機設計中的應用

        Proteus 仿真軟件在單片機設計中的應用

        作者: 時間:2008-02-21 來源: 收藏

          1.引言

        本文引用地址:http://www.104case.com/article/79090.htm

          單片機在很多產品中得到廣泛的應用,無論是51 系列、AVR、還是PIC 系列,他們各有各的特點,學習者也是逐年增加,但是在學習開發過程中,我們往往在確定方案后做試驗的開支往往比較大,尤其是對于一些學生或者初學者這就可能成為他們學習的障礙。在我們使用 軟件以來大大節省了時間和開發費。尤其將此軟件用在單片機開發中是一個不錯的選擇。我們這里主要講述的是 軟件與Keil 軟件的結合與應用。

          2.Protues 軟件介紹與應用

          2.1 Protues 軟件介紹

           是目前最好的模擬單片機外圍器件的工具,它可以仿真51 系列、AVR,PIC 等常用的MCU 及其外圍電路(如LCD,RAM,ROM,鍵盤,馬達,LED,AD/DA,部分SPI 器件,部分IIC 器件...)。本文章基于ProteusPRO6.7SP3和KEIL uVision3 軟件。當然,軟件仿真精度有限,而且不可能所有的器件都找得到相應的仿真模型,用開發板和仿真器當然是最好選擇,可是對于單片機愛好者,或者簡單的開發應該是比較好的選擇。Proteus 與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU 的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調試時,關心的不再是某些語句執行時單片機寄存器和存儲器內容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用間脫節的矛盾和現象。

          2.2 Protues 軟件與Keil uVision 的結合

          對于初次使用Protues 軟件的人可能還不知道如何設置,現在把設置步驟簡介如下,僅供參考(本文章只討論在單機上結合,在兩個聯網機器使用由于篇幅限制不在此討論):設置步驟如下:

          (1) 把proteus 安裝目錄下 VDM51.dll ( C:ProgramFilesLabcenterElectronicsProteus6ProfessionalMODELS)文件復制到Keil 安裝目錄的 C51BIN 目錄中;(2) 編輯C51 里tools.ini 文件, 加入:TDRV1=BINVDM51.DLL("PROTEUS VSM MONITOR-51 DRIVER");(3)Keil uVision 里設置: project-->options forproject-->debug tab;(4) 選中use proteus VSM monitor 51( 如果想用兩臺電腦仿真,雙擊setting,輸入IP 地址 或者DNS name);(5) 載入proteus 文件;(6)proteus 里選擇DEBUG-->use remote debug monitor;進入KEIL 的project 菜單option for target '工程名'。在DEBUG 選項中右欄上部的下拉菜選中 Proteus VSMMonitor-51 Driver。 在進入seting,如果同一臺機IP 名為127.0.0.1,如不是同一臺機則填另一 臺的IP 地址。端口號一定為8000 注意:可以在一臺機器上運行keil,另一臺中運行proteus 進行遠程仿真.(7)打開KEIL uVision, 按F5 開始仿真.

          2.3 proteus 的工作過程

          運行proteus 的ISIS 程序后,進入該仿真軟件的主界面。在工作前,要設置view 菜單下的捕捉對齊和system 下的顏色、圖形界面大小等項目。通過工具欄中的p(從庫中選擇元件命令)命令,在pick devices 窗口中選擇電路所需的元件,放置元件并調整其相對位置,元件參數設置,元器件間連線,編寫程序;在source 菜單的Define code generation tools 菜單命令下,選擇程序編譯的工具、路徑、擴展名等項目;在source菜單的Add/remove source files 命令下,加入單片機硬件電路的對應程序;通過debug 菜單的相應命令仿真程序和電路的運行情況。Proteus 軟件所提供了30 多個元件庫,數千種元件。元件涉及到數字和模擬、交流和直流等。

          2.4 Proteus 軟件所提供的調試手段

          Proteus 提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數字信號。對于單片機硬件電路和軟件的調試,Proteus 提供了兩種方法:一種是系統總體執行效果,一種是對軟件的分步調 試以看具體的執行情況。對于總體執行效果的調試方法,只需要執行debug 菜單下的execute 菜單項或F12 快捷鍵啟動執行,用debug 菜單下的pause animation 菜單項或pause 鍵暫停系統的運行;或用debug 菜單下的stop animation 菜單項或shift-break 組合鍵停止系統的運行。其運行方式也可以選擇工具欄中的相應工具進行。對于軟件的分步調試, 應先執行debug 菜單下的start/restart debugging 菜單項命令,此時可以選擇stepover 、step into 和 step out 命令執行程序(可以用快捷鍵F10、F11 和ctrl+F11),執行的效果是單句執行、進入子程序執行和跳出子程序執行。在執行了start / restart debuging命令后,在debug 菜單的下面要出現仿真中所涉及到的軟件列表和單片機的系統資源等,可供調試時分析和查看。

          2.5 Proteus 和KEIL uVision3 軟件結合實例

          (1)通過Proteus 畫原理圖:(圖1)

          

        通過Proteus 畫原理圖

         

          (2)在K

          eil uVision 軟件別寫程序:

          #i nclude

          #i nclude

          void delayms(unsigned char ms)// 延時子程序

          {unsigned char i;

          while(ms--)

          {for(i = 0; i < 120; i++);}

          }

          main()

          {unsigned char LED;

          LED = 0xfe;

          P0 = LED;

          while(1)

          {delayms(250);

          LED = _crol_(LED,1);//循環右移1 位,點亮下一個LED

          P0 = LED;

          }  }

          (3)對Proteus 和Keil uVision 軟件的設置:(參考2.2 Protues 軟件與Keil uVision 的結合章節)(4)運行程序,運行結果如下(圖2):實現流水燈功能

          

        實現流水燈功能

         

          3.總結

          Proteus 不僅可以作為學校單片機(電子等)實驗的模擬仿真,也可以作為個人工作室的仿真實驗。作為電子技術或控制類相關專業的學生和工程技術人員,在學習了該軟件后,可以充分地利用它所提供的資源,幫助自己提高工程應用能力。在教學中利用該軟件,除了能教單片機的具體課程內容外,還可以教會學生應用該工具的能力,為今后的工作打下基礎。歡迎大家對本文章提出意見,如有問題請咨詢我們。

        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理




        關鍵詞: Proteus

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 九台市| 白城市| 蓬莱市| 兴国县| 梨树县| 项城市| 锦屏县| 中山市| 广东省| 绥棱县| 吴桥县| 繁峙县| 吴旗县| 长沙市| 古交市| 红河县| 灌云县| 永川市| 西藏| 遂溪县| 澎湖县| 冷水江市| 建平县| 桐城市| 名山县| 镇安县| 四子王旗| 万州区| 凤庆县| 镇雄县| 固原市| 华池县| 峨山| 宁晋县| 汽车| 合江县| 遵义市| 岑溪市| 乾安县| 太保市| 德阳市|