指以�(diào)試單片機(jī)軟件為目的而專門�(shè)�(jì)制作的一套專用的硬件裝置�
單片�(jī)在體系結(jié)�(gòu)上與PC�(jī)是完全相同的,也包括中央處理�,輸入輸出接�,存�(chǔ)器等基本單元,因而與PC�(jī)等設(shè)備的軟件�(jié)�(gòu)也是類似�。因?yàn)閱纹瑱C(jī)在軟件開�(fā)的過程中需要對(duì)軟件�(jìn)行調(diào)�,觀察其中間�(jié)�,排除軟件中存在的問�。但是由于單片機(jī)的應(yīng)用場合問題,其不具備�(biāo)�(zhǔn)的輸入輸出裝�,受存儲(chǔ)空間限制,也難以容納用于�(diào)試程序的專用軟件,因此要�(duì)單片�(jī)軟件�(jìn)行調(diào)�,就必須使用單片�(jī)仿真器。單片機(jī)仿真器具有基本的輸入輸出裝置,具備支持程序調(diào)試的軟件,使得單片機(jī)開發(fā)人員可以通過單片�(jī)仿真器輸入和修改程序,觀察程序運(yùn)行結(jié)果與中間�,同�(shí)�(duì)與單片機(jī)配套的硬件�(jìn)行檢�(cè)與觀�,可以大大提高單片機(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ī)仿真器名稱的由來�
目前,隨著單片機(jī)的小型化,貼片化和具有ISP,IAP等功能的單片�(jī)的廣泛應(yīng)用,傳統(tǒng)單片�(jī)仿真器的�(yīng)用范圍也有所縮小。而軟件單片機(jī)仿真器(即單片機(jī)仿真程序)的�(yīng)用逐漸廣泛,單片機(jī)仿真程序即在�(gè)人計(jì)算機(jī)上運(yùn)行的特殊程序,可在一定程度上模擬單片�(jī)�(yùn)行的硬件�(huán)境,并在該環(huán)境下�(yùn)行單片機(jī)目標(biāo)程序,并可對(duì)目標(biāo)程序�(jìn)行調(diào)�、斷�(diǎn)、觀察變量等操作,可大大提升單片�(jī)系統(tǒng)的調(diào)試效�。純軟件單片�(jī)仿真器往往與硬件設(shè)�(jì)程序集成在一起發(fā)�,使得開�(fā)者可以對(duì)單片�(jī)硬件與軟件�(jìn)行同步開�(fā)�
主要功能和特性:
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信號(hào)輸出.
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)定可�,絕非一般三極管的簡易電路可��
功能限制�
仿真器占用單片機(jī)串口及定�(shí)�2,與Keil C(PC)通訊,故不支持串口及定時(shí)�2的仿真功能� 全速運(yùn)行時(shí)單片�(jī)串口及定�(shí)�2可供用戶使用�
仿真器使用方法:
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ù)位用戶板,請(qǐng)使用用戶板復(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工程才需要做�,�(duì)你自己建立的工程不需要這�(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è)置你的串口號(hào),為仿真器的串口電纜線所連接的串�� 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 表示連接到仿真器,仿真器的版本號(hào)�3.4� Load "C:\\Keil\\C51\EXAMPLES\\HELLO\\HELLO" 表示代碼裝載成功�
8.其他的�(diào)試方法跟軟件仿真一�,有單步,斷點(diǎn),全速運(yùn)行等各種�(diào)試方法�