找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5348|回復(fù): 32
收起左側(cè)

調(diào)試單片機程序是用仿真好還是燒寫好?

  [復(fù)制鏈接]
ID:16255 發(fā)表于 2021-11-25 20:55 | 顯示全部樓層 |閱讀模式
我現(xiàn)在用的是STC的單片機,調(diào)試時是用芯片的仿真好還是直接燒寫程序好?先分析一下兩種方法的差異:
直接燒寫程序:
STC直接可以用P3.0和P3.1連接串口就能燒寫程序,不用單獨的燒錄器。官方宣稱可以重復(fù)燒寫十萬次,也是挺多的。STC的軟件會監(jiān)控著文件變化,Keil中編譯完生成Hex文件,軟件會自動開始燒錄。再加上STC自動下載器,燒錄時自動冷啟動。整個流程下來一氣苛成。
但是十萬次看起來很多,實際用起來,改一個參數(shù)就燒錄一下,很快就消耗完了。況且,十萬次也只是理論值,實際不一定有這么多次。
仿真運行:
我用的是STC8系列,單片機自帶仿真,在STC軟件中將單片機設(shè)定為仿真模式,以后就可以在Keil里運行仿真了。就可以不用每次都燒錄芯片了。
但我覺得這個仿真并不太完美。仿真開始后對程序的修改不能實時生效,需要退出仿真,重新編譯,再打開仿真,所做的修改才生效。

而實際使用中,打開仿真需要有一個傳輸程序的時間,直接燒錄程序也有一個燒錄的時間,兩者的耗時都差不了多少,那么究竟是用仿真好還是燒寫好?
回復(fù)

使用道具 舉報

ID:639698 發(fā)表于 2021-11-25 21:26 | 顯示全部樓層
調(diào)試先用仿真,調(diào)試成功再燒錄
回復(fù)

使用道具 舉報

ID:68468 發(fā)表于 2021-11-25 21:42 | 顯示全部樓層
直接燒,效果更好,十萬次夠用了,不行換一片嘛,反正又不貴。
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2021-11-25 22:14 | 顯示全部樓層
你需要單步,就仿真,你需要直接跑,就直接燒錄。我通常都是直接跑了,發(fā)現(xiàn)問題,卻找不出問題才會再線仿真跑單步看看是哪里問題。 你如果僅僅為了燒錄次數(shù)來用仿真那是毫無必要的,你每5分鐘燒錄1次,24小時不停的燒錄改程序燒錄,一年也燒錄不了10萬次,自己去算吧……
回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2021-11-25 22:50 | 顯示全部樓層
你這才哪到哪兒啊?我剛用8051的時候是8031+27C64,程序在27C64里面,擦除需要用紫外燈照半個小時,寫入次數(shù)大約15次,多了就報廢了。
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2021-11-25 23:43 | 顯示全部樓層
但凡是有實物電路的,就不需要仿真
仿真是復(fù)雜算法或者OTP單片機,要么是要查看單片機內(nèi)部寄存器狀態(tài)之類的
對于很多外設(shè)來說,仿真是沒有意義的
"仿真可以,實物卻不行",在這個論壇,你能演繹看到這樣的話
仿真不真的時候,只會浪費時間,仿真要做的事情一定得是電路板做不了要,那才要仿真
但凡是燒錄能做的,就不要仿真
回復(fù)

使用道具 舉報

ID:70035 發(fā)表于 2021-11-26 08:03 | 顯示全部樓層
STC單片機內(nèi)部沒有仿真部件,要想仿真,采用監(jiān)控程序的方案,基本照搬SST的Monitor-51。
我在實際硬仿真單步時比較容易出問題,咨詢過STC的FAE,給出了他們官網(wǎng)上有的解釋。

對一些必須要觀察的變量也是有必要的,但可通過串口發(fā)送到電腦。
回復(fù)

使用道具 舉報

ID:879348 發(fā)表于 2021-11-26 08:20 | 顯示全部樓層
最好不要使用在線調(diào)試,這樣會是你過于依賴,很多系統(tǒng)都是不能調(diào)試的,調(diào)試無法得到正確結(jié)果
回復(fù)

使用道具 舉報

ID:130230 發(fā)表于 2021-11-26 08:45 | 顯示全部樓層
仿真優(yōu)勢是可以查看程序的運行細節(jié),下載的優(yōu)勢可以直接驗證效果。
回復(fù)

使用道具 舉報

ID:885797 發(fā)表于 2021-11-26 08:59 | 顯示全部樓層
仿真可以監(jiān)控過程,調(diào)試使用比較方便
回復(fù)

使用道具 舉報

ID:892596 發(fā)表于 2021-11-26 09:16 | 顯示全部樓層
仿真和燒錄不需要對立起來啊,他們是相輔相成的關(guān)系。需要小改動,驗證想法的時候用仿真。需要結(jié)合硬件測試的時候用燒錄,靈活運用,怎么好用怎么來。
回復(fù)

使用道具 舉報

ID:984787 發(fā)表于 2021-11-26 09:27 | 顯示全部樓層
先仿真,再燒
回復(fù)

使用道具 舉報

ID:160500 發(fā)表于 2021-11-26 10:28 | 顯示全部樓層
簡單的程序,邏輯分明,不需要仿真。復(fù)雜的程序或是需要查看內(nèi)部運算的中間數(shù)據(jù)就需要仿真
回復(fù)

使用道具 舉報

ID:230742 發(fā)表于 2021-11-26 17:05 | 顯示全部樓層
還仿啥真啊。多浪費時間,仿真搞了半天通過了,到實物還是不行,又得找半天原因。直接燒啊,又燒不壞。
在程序里適當(dāng)?shù)奈恢眉觽點燈,燈亮了就是運行到這里了,把數(shù)據(jù)發(fā)送到電腦觀察,用有多個串口的單片機。
簡單不。
回復(fù)

使用道具 舉報

ID:16255 發(fā)表于 2021-11-26 22:37 | 顯示全部樓層
明白了。直接燒,更省事。
回復(fù)

使用道具 舉報

ID:985162 發(fā)表于 2021-11-26 23:12 來自觸屏版 | 顯示全部樓層
還是應(yīng)該先用仿真 能設(shè)置節(jié)點 便于查找問題
回復(fù)

使用道具 舉報

ID:298123 發(fā)表于 2021-11-29 13:32 | 顯示全部樓層
你能保證程序一次就可以搞對?
回復(fù)

使用道具 舉報

ID:985931 發(fā)表于 2021-11-29 14:10 | 顯示全部樓層
沒條件先仿真,有條件的話直接調(diào)試好了
回復(fù)

使用道具 舉報

ID:565803 發(fā)表于 2021-11-30 12:04 | 顯示全部樓層
當(dāng)然是先仿真了,可以設(shè)置斷點,或單步運行,方便查看
回復(fù)

使用道具 舉報

ID:97787 發(fā)表于 2021-11-30 12:15 | 顯示全部樓層
根據(jù)熟練程度,靈活運用。不熟悉的話,盡量仿真。后期不仿真也能保證程序正常運行。
回復(fù)

使用道具 舉報

ID:743654 發(fā)表于 2021-11-30 13:10 | 顯示全部樓層
有實物直接燒入,比較直觀,一般我都先把串口調(diào)試好,任督二脈打通,也是不錯的調(diào)試工具,或者點個燈用于設(shè)置斷點,看程序運行情況。除非沒有實物或者要查相關(guān)寄存器的值才有用到仿真,但是仿真在某些情況行不通,還得接外設(shè)。
回復(fù)

使用道具 舉報

ID:81196 發(fā)表于 2021-11-30 17:13 | 顯示全部樓層
直接燒寫,你哪能把芯片燒寫到最終壽命呢,別想太多,直接少些,避免仿真造成的其他問題。
回復(fù)

使用道具 舉報

ID:985817 發(fā)表于 2021-11-30 17:20 | 顯示全部樓層
現(xiàn)在單片機都挺便宜的,若手頭有實物建議直接燒寫,仿真可能有別的因素干擾
回復(fù)

使用道具 舉報

ID:725110 發(fā)表于 2021-11-30 17:41 | 顯示全部樓層
建議直接燒,因為仿真可能會有一點問題
回復(fù)

使用道具 舉報

ID:986477 發(fā)表于 2021-11-30 17:48 | 顯示全部樓層
建議直接燒寫,我一般都是直接燒寫的,10萬次,放心,肯定燒寫不完的啦
回復(fù)

使用道具 舉報

ID:931798 發(fā)表于 2021-11-30 19:55 | 顯示全部樓層
我一般都是直接燒的
回復(fù)

使用道具 舉報

ID:908826 發(fā)表于 2021-11-30 20:25 | 顯示全部樓層
直接燒寫比較好
回復(fù)

使用道具 舉報

ID:986652 發(fā)表于 2021-12-1 09:00 | 顯示全部樓層
其實都差不多,我感覺如果能燒寫,就用燒寫,畢竟仿真和燒寫還是有一定距離
回復(fù)

使用道具 舉報

ID:517951 發(fā)表于 2021-12-2 08:05 | 顯示全部樓層
直接用單片機最小板,或者買開發(fā)板燒寫,軟件調(diào)通了再來做PCB板。
回復(fù)

使用道具 舉報

ID:235200 發(fā)表于 2021-12-2 09:38 | 顯示全部樓層
這里所說的仿真應(yīng)該理解為在線調(diào)試,在線調(diào)試能夠快速找到程序的邏輯錯誤,不管是簡單的算法或復(fù)錄的算法都可以在線仿真運行,非常方便,但需要購買具有在線調(diào)試的單片機,如IAP15F2K60S2,在線調(diào)試時,單片機內(nèi)EEPROM存儲器不能作數(shù)據(jù)存儲
回復(fù)

使用道具 舉報

ID:987484 發(fā)表于 2021-12-3 10:37 | 顯示全部樓層
還是先調(diào)試仿真。仿真通過再燒錄
回復(fù)

使用道具 舉報

ID:987507 發(fā)表于 2021-12-3 10:43 | 顯示全部樓層
先仿真在下載到實物比較好
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表