單片機仿真器簡介
單片機仿真器是指以調(diào)試單片機軟件為目的而專門設(shè)計制作的一套專用的硬件裝置。
單片機仿真器原理
單片機在體系結(jié)構(gòu)上與PC機是完全相同的,也包括中央處理器,輸入輸出接口,存儲器等基本單元,因而與PC機等設(shè)備的軟件結(jié)構(gòu)也是類似的。因而單片機在軟件開發(fā)的過程中也需要對軟件進行調(diào)試,觀察其中間結(jié)果,排除軟件中存在的問題。但是由于單片機的應(yīng)用場合問題,其不具備標(biāo)準(zhǔn)的輸入輸出裝置,受存儲空間限制,也難以容納用于調(diào)試程序的專用軟件,因此要對單片機軟件進行調(diào)試,就必須使用單片機仿真器。單片機仿真器具有基本的輸入輸出裝置,具備支持程序調(diào)試的軟件,使得單片機開發(fā)人員可以通過單片機仿真器輸入和修改程序,觀察程序運行結(jié)果與中間值,同時對與單片機配套的硬件進行檢測與觀察,可以大大提高單片機的編程效率和效果。
最早的單片機仿真器是一套獨立裝置,具有專用的鍵盤和顯示器,用于輸入程序并顯示運行結(jié)果;隨著PC機的普及,新一代的仿真器大多數(shù)都是利用PC機作為標(biāo)準(zhǔn)的輸入輸出裝置,而仿真器本身成為微機和目標(biāo)系統(tǒng)之間的接口而已,仿真方式也從最初的機器碼發(fā)展到匯編語言、C語言仿真,仿真環(huán)境也與PC機上的高級語言編程與調(diào)試環(huán)境非常類似了。
仿真機一般具有一個仿真頭,用于取代目標(biāo)系統(tǒng)中的單片機,也就是用這個插頭模仿單片機,這也是單片機仿真器名稱的由來。
主要功能和特性
1.可以仿真63K程序空間,接近64K的16位地址空間。
2.可以仿真64Kxdata空間,全部64K的16位地址空間。
3.可以真實仿真全部32條IO腳。
4.完全兼容keilC51 UV2調(diào)試環(huán)境,可以通過UV2環(huán)境進行單步,斷點,全速等操作
.5.可以使用C51語言或者ASM匯編語言進行調(diào)試
6.可以非常方便地進行所有變量觀察,包括鼠標(biāo)取值觀察,即鼠標(biāo)放在某變量上就會立即顯示出它此的值。
7.可選擇使用用戶晶振,支持0-40MHZ晶振頻率。
8.片上帶有768字節(jié)的xdata,您可以在仿真時選擇使用他們,進行xdata的仿真
.9.可以仿真雙DPTR指針。
10.可以仿真去除ALE信號輸出。
11.自適應(yīng)300-38400bps的所有波特率通訊。
12.體積非常細(xì)小,非常方便插入到用戶板中。插入時緊貼用戶板,沒有連接電纜,這樣可以有效地 減少運行中的干擾,避免仿真時出現(xiàn)莫名其妙的故障。
13.仿真插針采用優(yōu)質(zhì)鍍金插針,可以有效地防止日久生銹,附贈優(yōu)質(zhì)園腳IC插座,保護仿真插針,同時不會損壞目標(biāo)板上的插座。
14.仿真時監(jiān)控和用戶代碼分離,不可能產(chǎn)生不能仿真的軟故障.15RS-232接口不計成本采用MAX202集成電路,串行通訊穩(wěn)定可靠,絕非一般三極管的簡易電路可比。
仿真器使用方法:
1. 將仿真器插入需仿真的用戶板的CPU插座中,仿真器由用戶板供電;
2. 將仿真器的串行電纜和PC機接好,打開用戶板電源;
3. 通過Keil C 的IDE開發(fā)仿真環(huán)境UV2 下載用戶程序進行仿真、調(diào)試。
4. 仿真器硬件說明:
a.使用用戶板的晶振仿真器晶振旁有兩組跳線用來切換內(nèi)部晶振和用戶板晶振,當(dāng)兩個短路塊位于仿真器晶振一側(cè)時,默認(rèn)使用仿真板上的晶振(11.0592MHz), 當(dāng)兩個短路塊位于電容一側(cè)時,使用用戶板的晶振。
b.為便于調(diào)試帶看門狗的用戶板,仿真器的復(fù)位端未與用戶板復(fù)位端相連;故仿真器的復(fù)位按 鈕只復(fù)位仿真器,不復(fù)位用戶板;若要復(fù)位用戶板,請使用用戶板復(fù)位按鈕。
設(shè)置方法
1. 先打開一個工程文件。如果你沒有工程文件就要先建立一個。這里拿 keil c51提供的 hello.prj為例子說明:
用鼠標(biāo)點擊菜單的project,選擇open project
2. 選擇keil\c51\examples\hello\hello,點擊打開
3.選擇菜單的Project-》Option for Target ‘Simulator’,
3.1選擇C51欄的設(shè)置如圖: 刪掉define:里的MONITOR51這幾個字母,如果define欄是空的,可以跳過這一步:
刪掉MONTOR51之后的設(shè)置如下圖,不要點擊確定,因為還要進行其他設(shè)置:
附注:3.1的步驟是調(diào)試keil提供的這個Hello工程才需要做的,對你自己建立的工程不需要這個設(shè) 置,你自己的工程可以跳過這步,直接進行下一個設(shè)置。在這里用紅色來寫這個說明,是需要引起用 戶注意。
4.選擇debug欄的設(shè)置項目: Use: Keil Monitor-51 Driver :選擇這一項 Load Application at Start:選擇這項之后,keil才會自動裝載你的程序代碼。Go till main:調(diào)試C語言程序時可以選擇這一項,PC會自動運行到main程序處
點擊圖的Settings,打開新的窗口: Port:設(shè)置你的串口號,為仿真器的串口電纜線所連接的串口。 Baudrate:設(shè)置為38400,仿真器固定使用38400bps跟keil C通訊。 Serial Interrupt: Cache Options: 這兩項可以選也可以不選;
最后點擊ok和確定關(guān)閉你的設(shè)置。
5. 編譯你的程序,選擇Project -》 Rebuild all target files
6. 編譯完畢之后,選擇Debug-》Start/Stop Debug Session,就進入仿真了
7. 裝載代碼之后,在左下角顯示如圖:
Connected to Monitor-51 V3.4 表示連接到仿真器,仿真器的版本號為3.4, Load “C:\\Keil\\C51\EXAMPLES\\HELLO\\HELLO” 表示代碼裝載成功。
8.其他的調(diào)試方法跟軟件仿真一樣,有單步,斷點,全速運行等各種調(diào)試方法。
單片機仿真器作用
實時查看寫的每一行代碼執(zhí)行情況。如果沒有仿真器,直接把代碼down進單片機,如果代碼出錯了,或者效果與想象的不一樣,得用自己的經(jīng)驗和現(xiàn)象能力,看看是哪里出錯了。有了仿真器,可以一行一行的代碼執(zhí)行起來,看看到底是哪行代碼出錯了。
評論
查看更多