⑴ 單片機模擬是什麼意思啊
單片機開發,總要不斷地調試程序,每次把編譯好的程序燒錄到晶元上,然後在電路或實驗板上觀察程序運行的結果,但還是無法得知每個變數實際運行時的值,模擬就是查看 程序運行時的各個變數的實際值,模擬主要功能是幫助程序員調試程序。
單片機模擬器:單片機在體系結構上與PC機是完全相同的,也包括中央處理器,輸入輸出介面,存儲器等基本單元,因而與PC機等設備的軟體結構也是類似的。因為單片機在軟體開發的過程中需要對軟體進行調試,觀察其中間結果,排除軟體中存在的問題。但是由於單片機的應用場合問題,其不具備標準的輸入輸出裝置,受存儲空間限制,也難以容納用於調試程序的專用軟體,因此要對單片機軟體進行調試,就必須使用單片機模擬器。單片機模擬器具有基本的輸入輸出裝置,具備支持程序調試的軟體,使得單片機開發人員可以通過單片機模擬器輸入和修改程序,觀察程序運行結果與中間值,同時對與單片機配套的硬體進行檢測與觀察,可以大大提高單片機的編程效率和效果。
⑵ 如何使用Proteus做單片機模擬
打開軟體界面如圖,選擇P進行元器件的擺放。
如何使用Proteus做單片機模擬
在這里可以通過元器件的名字進行檢索。電容電阻等元器件只需要其相應的英文縮寫即可。
如何使用Proteus做單片機模擬
89C52是單片機初學者的不錯選擇,在檢索行輸入89C52,可以看到元件庫里出現了我們需要的晶元。
如何使用Proteus做單片機模擬
選中後就可將其拖入工程界面,可以自己選擇合適的位置。
如何使用Proteus做單片機模擬
根據需要可以添加不同的功能,此處採用一個歷程介紹程序的下載。
如何使用Proteus做單片機模擬
選中單片機,之後選中編輯屬性選項。
如何使用Proteus做單片機模擬
Program Files 就是程序的路徑,注意是HEX文件,所以再用編譯軟體編譯完成後通過該步驟去載入對應的HEX文件即可。
如何使用Proteus做單片機模擬
載入程序完畢後,點擊執行,即可看到單片機開始工作,液晶屏顯示一行字元。
如何使用Proteus做單片機模擬
⑶ 單片機的模擬問題
首先,,燒到單片機裡面和單片機的模擬,你說的模擬應該指的是軟體模擬。不論是軟體模擬還是硬體模擬都代替不了程序實際運行的真實效果,首先,軟體模擬的話,軟體畢竟是軟體,可能會有漏洞,我有時候用KEIL自帶的軟體模擬器程序能運行但是燒寫之後不能運行是很正常的;
硬體模擬的話,模擬器可以讓程序單步執行,還能夠設置斷點,看程序運行的時候相應的寄存器的值是否跟設計的一樣,對調試軟體很有幫助。
軟體模擬的話常用的就是protues,我一般直接用KEIL的軟體模擬,功能沒有protues強大,但是方便;
硬體大致模擬器分兩種,一種是用FGPA或者特殊的CPU來模擬單片機,程序每次是燒在RAM裡面運行的,網上有用SST89E516做51單片機模擬器的,就是這個原理,每執行一次單步,就重新燒寫一次程序,只不過SST89E516是燒在FLASH裡面的,單步用多了的話,SST89E516很快就掛了,這種模擬器效果要比上面的軟體模擬效果好,但是也有問題,它是用別的東西模擬的單片機,跟真實的還是有差異;現在用的很多的都是叫做JTAG的嵌入式模擬,這種模擬讓單片機自己模擬自己,只是使用者可以隨時把程序運行停下來看寄存器,效果就好多了,現在很多單片機都具有這個功能,像C8051F,AVR,ARM都有,模擬器的硬體也比上面的一種簡單很多,便宜許多
初學51的話,硬體模擬成本太大,可以多用用軟體模擬,但是肯定不能完全只用軟體模擬,還是要實際運行一下看效果的;不用模擬器,用串口幫助調試也是很不錯的選擇,在感覺有問題的地方用串口發點數據,證明前面沒有卡死或者直接就發單片機的狀態,調試起來也很快