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