淺談三種單片機程序調試方法
最近咱們學(xué)院購買(mǎi)了廣州致遠電子有限公司的周立功DP-51PROC試驗儀,上周四下午,我們去倒騰了一番,感覺(jué)這試驗儀對學(xué)習51系列單片機還是蠻有用處的,特別是結合其仿真器進(jìn)行調試程序還是很好的。

產(chǎn)品官網(wǎng)介紹
周立功博客:http://blog.sina.com.cn/armfans
這儀器雖然每次弄起來(lái)挺麻煩的,但是能完成一些學(xué)習中不能在軟件中仿真的實(shí)驗。
通過(guò)keil 2借助試驗儀上的使用TKSMonitor51仿真器,能在keil里實(shí)時(shí)調試。貌似這臺機子1200左右吧。
二、軟件仿真之外部調試
硬件能仿真調試,軟件也能,以Proteus 7為例,安裝keil驅動(dòng)后就能在keil里進(jìn)行遠程調試,不需要物理的調試連接線(xiàn)(This plug-in for the Keil IDE allows you to use the Keil debugging environment to single step code running on simulated hardware inside Proteus VSM. Think of it as like working with an In Circuit Emulator or Debugger (ICE or ICD) but without any physical hardware.)

keil驅動(dòng)官網(wǎng)下載地址 http://www.labcenter.com/support/vdmkeil.cfm 但是注意:官網(wǎng)下的驅動(dòng)不能用?。?!安裝不了?。?!
我再給出網(wǎng)盤(pán)下載地址吧:http://www.dbank.com/linkwaitaudit.html 只支持keil 2和keil 3
操作如下:
1.依然生成Hex文件,并加載到芯片中
2.在keil 中選擇調試如圖:

3.好了,現在跟DP-51PROC中一樣了直接在keil中點(diǎn)調試就行了。如圖:

當然如果不是用keil作為編譯器的話(huà),比如Matlab編譯的話(huà),也可以在Matlab中調試。在Matlab中調試或許就不叫遠程調試了,因為以Proteus為例,根本就不需要打開(kāi)Proteus軟件,所有工作均在Matlab中完成。
三、軟件仿真之內部調試
一般的仿真軟件都支持內部調試,以Proteus為例,就支持好幾種調試源文件。
具體操作:
1.不再是加載Hex文件了,用keil編譯之前先在output選項卡的可執行文件名項的工程名字后加上.omf 如圖:

2.然后在Proteus里加載omf文件。

3.在Proteus里點(diǎn)逐幀運行,或者直接點(diǎn)調試,如果沒(méi)出現調試框,可以點(diǎn)芯片右鍵調出源代碼。

總結:最后一項是串行通信實(shí)驗,把一個(gè)單片機塊復制一份然后把兩單片機串行接口互聯(lián)。通過(guò)keil生成的omf調試文件來(lái)進(jìn)行調試,相比于前兩項是最簡(jiǎn)單最方便的方法。因為不需要昂貴的仿真器,不需要安裝額外的驅動(dòng),而且能試現多芯片多工程多源代碼調試。這是前兩項所不能比的,因此這是一種低成本、方便高效的方法。但是有些硬件不能在程序中很好的仿真,還需要借助硬件調試。
評論