Keil uVision2仿真軟件的使用說明
μVision2集成開發(fā)環(huán)境
μVision2IDE是德國Keil公司開發(fā)的基于Windows平臺的單片機集成開發(fā)環(huán)境,它包含一個高效的編譯器、一個項目管理器和一個MAKE工具。其中KeilC51是一種專門為單片機設計的高效率C語言編譯器,符合ANSI標準,生成的程序代碼運行速度極高,所需要的存儲器空間極小,完全可以與匯編語言媲美。
1.關(guān)于開發(fā)環(huán)境
μVision2的界面如圖1-1所示,μVision2允許同時打開、瀏覽多個源文件。
圖1-1 μVision2界面圖
2.菜單條、工具欄和快捷鍵
下面的表格列出了μVision2菜單項命令,工具欄圖標,默認的快捷以及他們的描述。
1)編輯菜單和編輯器命令Edit(如表1-1所示)
表1-1 編輯菜單和編輯器命令Edit
菜單 | 工具欄 | 快捷鍵 | 描述 |
Home | 移動光標到本行的開始 | ||
End | 移動光標到本行的末尾 | ||
Ctrl+Home | 移動光標到文件的開始 | ||
Ctrl+End | 移動光標到文件的結(jié)束 | ||
Ctrl+<- | 移動光標到詞的左邊 | ||
Ctrl+-> | 移動光標到詞的右邊 | ||
Ctrl+A | 選擇當前文件的所有文本內(nèi)容 | ||
Undo | Ctrl+Z | 取消上次操作 | |
Redo | Ctrl+Shift+Z | 重復上次操作 | |
Cut | Ctrl+X Ctrl+Y | 剪切所選文本 剪切當前行的所有文本 | |
Copy | Ctrl+C | 復制所選文本 | |
Paste | Ctrl+V | 粘貼 | |
Indent Selected Text | 將所選文本右移一個制表鍵的距離 | ||
Unindent Selected Text | 將所選文本左移一個制表鍵的距離 | ||
Toggle Bookmark | Ctrl+F2 | 設置/取消當前行的標簽 | |
Goto Next Bookmark | F2 | 移動光標到下一個標簽處 | |
GotoPrevious bookmark | Shift+F2 | 移動光標到上一個標簽處 | |
Clear All Bookmarks | 清除當前文件的所有標簽 | ||
Find | 在當前文件中查找文本 | ||
F3 | 向前重復查找 | ||
Shift+F3 | 向后重復查找 | ||
Ctrl+F3 | 查找光標處的單詞 | ||
Ctrl+] | 尋找匹配的大括號、圓括號、方括號(用此命令將光標放到大括號、圓括號或方括號的前面) | ||
Replace | 替換特定的字符 | ||
Find in Files… | 在多個文件中查找 | ||
Goto Matching brace | 選擇匹配的一對大括號、圓括號或方括號中的內(nèi)容 |
2)選擇文本命令
在μVision2中,可以通過按住Shift鍵和相應的鍵盤上的方向鍵來選擇文本。如Ctrl+→可以移動光標到下一個詞,那么,Ctrl+Shift+→就是選擇當前光標位置到下一個詞的開始位置間的文本。當然,也可以用鼠標來選擇文本。
3)項目菜單Project和項目命令Project(如表1-2所示)
表1-2 項目菜單和項目命令Project
菜單 | 工具欄 | 快捷鍵 | 描述 |
New Project… | 創(chuàng)建新項目 | ||
Import μ Vision1 Project… | 轉(zhuǎn)化μ Vision1的項目 | ||
Open Project… | 打開一個已經(jīng)存在的項目 | ||
Close Project… | 關(guān)閉當前的項目 | ||
Target Environment | 定義工具、包含文件和庫的路徑 | ||
Targets,Groups,Files | 維護一個項目的對象、文件組和文件 | ||
Select Device for Target | 選擇對象的CPU | ||
Remove … | 從項目中移走一個組或文件 | ||
Options … | Alt+F7 | 設置對象、組或文件的工具選項 | |
File Extensions | 選擇不同文件類型的擴展名 | ||
Build Target | F7 | 編譯修改過的文件并生成應用 | |
Rebuild Target | 重新編譯所有的文件并生成應用 | ||
Translate … | Ctrl+F7 | 編譯當前文件 | |
Stop Build | 停止生成應用的過程 | ||
1~7 | 打開最近打開過的項目 |
4)調(diào)試菜單Debug和調(diào)試命令(如表1-3所示)
表1-3 調(diào)試菜單和調(diào)試命令Debug
菜單 | 工具欄 | 快捷鍵 | 描述 |
Start/Stop Debugging | Ctrl+F5 | 開始/停止調(diào)試模式 | |
Go | F5 | 運行程序,直到遇到一個中斷 | |
Step | F11 | 單步執(zhí)行程序,遇到子程序則進入 | |
Step over | F10 | 單步執(zhí)行程序,跳過子程序 | |
Step out of | Ctrl+F11 | 執(zhí)行到當前函數(shù)的結(jié)束 | |
Current function stop Runing | Esc | 停止程序運行 | |
Breakpoints… | 打開斷點對話框 | ||
Insert/Remove Breakpoint | 設置/取消當前行的斷點 | ||
Enable/Disable Breakpoint | 使能/禁止當前行的斷點 | ||
Disable All Breakpoints | 禁止所有的斷點 | ||
Kill All Breakpoints | 取消所有的斷點 | ||
Show Next Statement | 顯示下一條指令 | ||
Enable/Disable Trace Recording | 使能/禁止程序運行軌跡的標識 | ||
View Trace Records | 顯示程序運行過的指令 | ||
Memory Map… | 打開存儲器空間設置對話框 | ||
Performance Analyzer… | 打開設置性能分析的窗口 | ||
Inline Assembly… | 對某一行重新匯編,可以修改匯編代碼 | ||
Function Editor… | 編輯調(diào)試函數(shù)和調(diào)試設置文件 |
5)外圍器件菜單Peripherals(如表1-4所示)
表1-4 外圍器件菜單Peripherals
菜單 | 工具欄 | 描述 |
Reset CPU | 復位CPU | |
以下為單片機外圍器件的設置對話框(對話框的種類及內(nèi)容依賴于你選擇的CPU) | ||
Interrupt | 中斷觀察 | |
I/O-Ports | I/O口觀察 | |
Serial | 串口觀察 | |
Timer | 定時器觀察 | |
A/D Conoverter | A/D轉(zhuǎn)換器 | |
D/A Conoverter | D/A轉(zhuǎn)換器 | |
I2C Conoverter | I2C總線控制器 | |
Watchdog | 看門狗 | |
6)工具菜單Tool(如表1-5所示)
利用工具菜單,可以設置并運行Gimpel PC-Lint、Siemens Easy-Case和用戶程序。通過CustomizeTools Menu…菜單,可以添加需要的程序。
表1-5 工具菜單Tool
菜單 | 描述 |
Setup PC-Lint… | 設置Gimpel Software的PC- Lint程序 |
Lint | 用PC- Lint處理當前編輯的文件 |
Lint all C Source Files | 用PC- Lint處理項目中所有的C源代碼文件 |
Setup Easy-Case… | 設置Siemens的Easy-Case程序 |
Start/Stop Easy-Case | 運行/停止Siemens的Easy-Case程序 |
Show File (Line) | 用Easy-Case處理當前編輯的文件 |
Customize Tools Menu… | 添加用戶程序到工具菜單中 |
3.創(chuàng)建項目實例
μVision2包括一個項目管理器,它可以使8x51應用系統(tǒng)的設計變得簡單。要創(chuàng)建一個應用,需要按下列步驟進行操作:
l啟動μVision2,新建一個項目文件并從器件庫中選擇一個器件。
l新建一個源文件并把它加入到項目中。
l增加并設置選擇的器件的啟動代碼
l針對目標硬件設置工具選項。
l編譯項目并生成可編程PROM的HEX文件。
下面將逐步地進行描述,從而指引讀者創(chuàng)建一個簡單的μVision2項目。
1)選擇【Project】/【New Project】選項,如圖1-2所示。
圖1-2 Project菜單
2)在彈出的“Create NewProject”對話框中選擇要保存項目文件的路徑,比如保存到Exercise目錄里,在“文件名”文本框中輸入項目名為example,如圖1-3所示,然后單擊“保存”按鈕。
圖1-3 Create New Project對話框
3)這時會彈出一個對話框,要求選擇單片機的型號。讀者可以根據(jù)使用的單片機型號來選擇,KeilC51幾乎支持所有的51核的單片機,這里只是以常用的AT89C51為例來說明,如圖1-4所示。選擇AT89C51之后,右邊Description欄中即顯示單片機的基本說明,然后單擊“確定”按鈕。
圖1-4 選擇單片機的型號對話框
4)這時需要新建一個源程序文件。建立一個匯編或C文件,如果已經(jīng)有源程序文件,可以忽略這一步。選擇【File】/【New】選項,如圖1-5所示。
5)在彈出的程序文本框中輸入一個簡單的程序,如圖1-6所示。
圖1-5新建源程序文件對話框圖圖1-6 程序文本框
6)選擇【File】/【Save】選項,或者單擊工具欄 按鈕,保存文件。
在彈出的如圖1-7所示的對話框中選擇要保存的路徑,在“文件名”文本框中輸入文件名。注意一定要輸入擴展名,如果是C程序文件,擴展名為.c;如果是匯編文件,擴展名為.asm;如果ini文件,擴展名為.ini。這里需要存儲ASM源程序文件,所以輸入.asm擴展名(也可以保存為其他名字,比如new.asm等),單擊“保存”按鈕。
圖1-7 Save As對話框圖
7)單擊Target1前面的+號,展開里面的內(nèi)容Source Group1,如圖1-8所示。
圖1-8 Target展開圖
8)用右鍵單擊Source Group1,在彈出的快捷菜單中選擇Add File to Group‘SourceGroup1’選項,如圖1-9所示。
圖1-9 Add Files to Group‘SourceGroup1’菜單
9)選擇剛才的文件example.asm,文件類型選擇Asm Source file(*.C)。如果是C文件,則選擇CSource file;如果是目標文件,則選擇Object file;如果是庫文件,則選擇Libraryfile。最后單擊“Add”按鈕,如果要添加多個文件,可以不斷添加(注意:在用匯編語言編寫的程序文件時只能添加一個文件,否則會顯示錯誤信息)。添加完畢后單擊“Close”按鈕,關(guān)閉該窗口,如圖1-10所示
圖1-10 Add Files to Group‘SourceGroup1’對話框
10)這時在Source Group1目錄里就有example.asm文件,如圖1-11所示。
圖1-11 example.asm文件
11)接下來要對目標進行一些設置。用鼠標右鍵(注意用右鍵)單擊Target1,在彈出的右鍵菜單中選擇Options forTarget‘Target 1’選項,如圖1-12所示。
圖1-12 ptions for Target ‘Target1’選項
12)彈出Options for Target ‘Target 1’對話框,其中有8個選項卡。
①默認為Target選項卡(如圖1-13所示)
圖1-13 Target選項卡
lXtal(MHZ):設置單片機工作的頻率,默認是24.0MHz。
lUse On-chip ROM(0x0-0XFFF):表示使用片上的Flash ROM,At89C51有4KB的可重編程的FlashROM,該選項取決于單片機應用系統(tǒng),如果單片機的EA接高電平,則選中這個選項,表示使用內(nèi)部ROM,如果單片機的EA接低電平,表示使用外部ROM,則不選中該項。這里選中該選項。
lOff-chip Codememory:表示片外ROM的開始地址和大小,如果沒有外接程序存儲器,那么不需要填任何數(shù)據(jù)。這里假設使用一個片外ROM,地址從0x8000開始,一般填16進制的數(shù),Size為片外ROM的大小。假設外接ROM的大小為0x1000字節(jié),則最多可以外接3塊ROM。
lOff-chip Xdata memory:那么可以填上外接Xdata外部數(shù)據(jù)存儲器的起始地址和大小,一般的應用是62256,這里特殊的指定Xdata的起始地址為0x2000,大小為0x8000。
lCode Banking:是使用CodeBanking技術(shù)。Keil可以支持程序代碼超過64KB的情況,最大可以有2MB的程序代碼。如果代碼超過64KB,那么就要使用CodeBanking技術(shù),以支持更多的程序空間。CodeBanking支持自動的Bank的切換,這在建立一個大型系統(tǒng)時是必需的。例如:在單片機里實現(xiàn)漢字字庫,實現(xiàn)漢字輸入法,都要用到該技術(shù)。
lMemory Model:單擊Memory Model后面的下拉箭頭,會有3個選項,如圖1-14所示。
圖1-14 Memory Model選項
lSmall:變量存儲在內(nèi)部RAM里。
lCompact:變量存儲在外部RAM里,使用8位間接尋址。
lLarge:變量存儲在外部RAM里,使用16位間接尋址。
一般使用Small來存儲變量,此時單片機優(yōu)先將變量存儲在內(nèi)部RAM里,如果內(nèi)部RAM空間不夠,才會存在外部RAM中。Compact的方式要通過程序來指定頁的高位地址,編程比較復雜,如果外部RAM很少,只有256字節(jié),那么對該256字節(jié)的讀取就比較快。
如果超過256字節(jié),而且需要不斷地進行切換,就比較麻煩,Compact模式適用于比較少的外部RAM的情況。Large模式是指變量會優(yōu)先分配到外部RAM里。需要注意的是,3種存儲方式都支持內(nèi)部256字節(jié)和外部64KB的RAM。因為變量存儲在內(nèi)部RAM里運算速度比存儲在外部RAM要快得多,大部分的應用都是選擇Small模式。
使用Small模式時,并不說明變量就不可以存儲在外部,只是需要特別指定,比如:
unsigned char xdata a:變量a存儲在內(nèi)部RAM。
unsigned char a:變量存儲在內(nèi)部RAM。
但是使用Large的模式時:
unsigned char xdata a:變量a存儲在外部RAM。
unsigned char a:變量a同樣存儲在外部RAM。
這就是它們之間的區(qū)別,可以看出這幾個選項只影響沒有特別指定變量的存儲空間的情況,默認存儲在所選模式的存儲空間,比如上面的變量定義unsignedchar a。
lCode Rom Size:單擊Code Rom Size后面的下拉箭頭,將有3個選項,如圖1-15所示。
圖1-15 Code Rom Size選項
Small:program2K orless,適用于AT89C2051這些芯片,2051只有2KB的代碼空間,所以跳轉(zhuǎn)地址只有2KB,編譯的時候會使用ACALLAJMP這些短跳指令,而不會使用LCALL,LJMP指令。如果代碼地址跳轉(zhuǎn)超過2KB,那么會出錯。
Compact:2K functiongs,64Kprogram,表示每個子函數(shù)的代碼大小不超過2K,整個項目可以有64K的代碼。就是說在main()里可以使用LCALL,LJMP指令,但在子程序里只會使用ACALL,AJMP指令。只有確定每個子程序不會超過2KB,才可以使用Compact方式。
Large:64KB program,表示程序或子函數(shù)代碼都可以大到64KB,使用codebank還可以更大。通常都選用該方式。選擇Large方式速度不會比Small慢很多,所以一般沒有必要選擇Compact和Small方式。這里選擇Large方式。
lOperating:單擊Operating后面的下拉箭頭,會有3個選項,如圖1-16所示。
圖1-16 Operating選項
None:表示不使用操作系統(tǒng)。
RTX-51 Tiny Real-Time OS:表示使用Tiny操作系統(tǒng)。
RTX-51 Full Real -Time OS:表示使用Full操作系統(tǒng)。
Tiny是一個多任務操作系統(tǒng),使用定時器0做任務切換。在11.0592MHz時,切換任務的速度為30ms。如果有10個任務同時運行,那么切換時間為300ms。不支持中斷系統(tǒng)的任務切換,也沒有優(yōu)行級,因為切換的時間太長,實時性大打折扣。多任務情況下(比如5個),輪循一次需要150ms,即150ms才處理一個任務,這連鍵盤掃描這些事情都實現(xiàn)不了,更不要說串口接收、外部中斷了。同時切換需要大概1000個機器周期,對CPU的浪費很大,對內(nèi)部RAM的占用也很嚴重。實際上用到多任務操作系統(tǒng)的情況很少。
Keil C51 Full Real -TimeOS是比Tiny要好一些的系統(tǒng)(但需要用戶使用外部RAM),支持中斷方式的多任務和任務優(yōu)先級,但是KeilC51里不提供該運行庫,要另外購買。
這里選擇None。
②設置Output選項卡(如圖1-17所示)
圖1-17 設置Output卡
lSelect Folder forObjects:單擊該按鈕可以選擇編譯后目標文件的存儲目錄,如果不設置,就存儲在項目文件的目錄里。
lName ofExecutable:設置生成的目標文件的名字,缺省情況下和項目的名字一樣。目標文件可以生成庫或者obj、HEX的格式。
lCreate Executable:如果要生成OMF以及HEX文件,一般選中Debug Information和BrowseInformation。選中這兩項,才有調(diào)試所需的詳細信息,比如要調(diào)試C語言程序,如果不選中,調(diào)試時將無法看到高級語言寫的程序。
lCreate HEXFile:要生成HEX文件,一定要選中該選項,如果編譯之后沒有生成HEX文件,就是因為這個選項沒有被選中。默認是不選中的。
lCreate Library:選中該項時將生成lib庫文件。根據(jù)需要決定是否要生成庫文件,一般應用是不生成庫文件的。
lAfter Make:欄中有以下幾個設置。
lBeep when complete:編譯完成之后發(fā)出咚的聲音。
lStart Debugging:馬上啟動調(diào)試(軟件仿真或硬件仿真),根據(jù)需要來設置,一般是不選中。
lRun User Program #1,Run User Program#2:這個選項可以設置編譯完之后所要運行的其他應用程序(比如有些用戶自己編寫了燒寫芯片的程序,編譯完便執(zhí)行該程序,將HEX文件寫入芯片),或者調(diào)用外部的仿真器程序。根據(jù)自己的需要設置。
③設置Listing選項卡(如圖1-18所示)
圖1-18 設置Listing選項卡
KeilC51在編譯之后除了生成目標文件之外,還生*.lst、*m51的文件。這兩個文件可以告訴程序員程序中所用的idata、data、bit、xdata、code、RAM、ROM、stack等的相關(guān)信息,以及程序所需的代碼空間。
選中AssemblyCode會生成匯編的代碼。這是很有好處的,如果不知道如何用匯編來寫一個long型數(shù)的乘法,那么可以先用C語言來寫,寫完之后編譯,就可以得到用匯編實現(xiàn)的代碼。對于一個高級的單片機程序員來說,往往既要熟悉匯編,同時也要熟悉C語言,才能更好地編寫程序。某些地方用C語言無法實現(xiàn),便用匯編語言卻很容易。有些地方用匯編語言,很繁瑣,用C語言就很方便。
單擊Select Folder forListings按鈕后,在出現(xiàn)的對話框中可以選擇生成的列表文件的存放目錄。不做選擇時,使用項目文件所在的目錄。
④設置Debug選項卡(如圖1-19所示)
這里有兩類仿真形式可選:Use Simulator和Use:Keil Monitor-51Driver,前一種是純軟件仿真,后一種是帶有Monitor-51目標仿真器的仿真。
lLoad Application at Start:選擇這項之后,Keil才會自動裝載程序代碼。
圖1-19 設置Debug選項卡
lGo till main:調(diào)試C語言程序時可以選擇這一項,PC會自動運行到main程序處。
這里選擇Use Simulator。
如果選擇Use:Keil Monitor-51Driver,還可以單擊圖1-19中的Settings按鈕,打開新的窗口如圖1-20,其中的設置如下。
lPort:設置串口號,為仿真機的串口連接線COM_A所連接的串口。
lBaudrate:設置為9600,仿真機固定使用9600bit/s跟Keil通信。
lSerial Inerrupt:允許串行中斷,選中它。
lCache Options:可以選也可以不選,推薦選它,這樣仿真機會運行得快一點。
最后單擊OK按鈕關(guān)閉窗口。
圖1-20 Target設置
13)編譯程序,選擇【Project】/【Rebuild all target files】選項,如圖1-21所示。
圖1-21 Rebuild all targetfiles
或者單擊工具欄中的 按鈕,如圖1-22所示,開始編譯程序。
圖1-22 工具欄中的按鈕
如果編譯成功,開發(fā)環(huán)境下面會顯示編譯成功的信息,如圖1-23所示。
圖1-23 編譯成功信息
14)編譯完畢之后,選擇【Debug】/【Start/Stop DebugSession】選項,即就進入仿真環(huán)境,如圖1-24所示。
圖1-24 仿真
或者單擊工具欄中的 銨鈕,如圖1-25所示。
圖1-25 工具欄仿真按鈕
15)裝載代碼之后,開發(fā)環(huán)境下面顯示如圖1-26所示的信息。
圖1-26 裝載代碼
附錄二 使用PTS組件實現(xiàn)KeiluVision2的在線調(diào)試
1.硬件準備:
首先您必須具備PTS組件硬件系統(tǒng)和THKL-C51仿真器,還需要一條串口線(串口線的接法是2-3/3-2/5-5也就是交叉接法,不是平行接法)。
2.軟件準備:
您需要準備Keil uVision2軟件一套,版本最好是7.0之后的,我們產(chǎn)品附帶光盤就包含了最新的KeiluVision2軟件,如果老用戶無法得到這個版本軟件,可以上網(wǎng)尋找,也可以到Keil公司的網(wǎng)站下載 www.keil.com下載,當然您還可以和我們銷售聯(lián)絡,獲得光盤。
3.系統(tǒng)設置:
實驗箱聯(lián)接好電源線,串口線聯(lián)接好PC機和THKL-C51仿真器,把仿真器插入單片機最小應用系統(tǒng)的鎖緊插座。
請注意仿真器插入方 向,缺口應朝上。

4.軟件設置:
首先,打開KeiluVision2軟件,新建項目文件或打開已有的項目文件,再新建并添加源文件,詳見附錄一。開始軟件設置,單擊按鈕或選中項目文件窗口中的‘Target 1’,找到圖2-1所示菜單項。
圖2-1 Project菜單
選中以后找到圖2-2所示的對話框,按照圖2-2里面的圖示方法,進行端口設置。選擇硬件仿真(Use: KeilMonitor-51 Driner;部分實驗只這需要軟件軟件仿真時選擇Use Simulator)。
圖2-2 設置Debug選項卡
單擊“Settings”進入Target設置,如圖2-3。選擇串行口,波特率選擇38400,這樣就設置好了。
圖2-3 Target設置
5.開始調(diào)試
按實驗指導提供的方法連接好實驗導線。打開相關(guān)模塊的電源開關(guān)(關(guān)閉不相關(guān)模塊的電源開關(guān)),打開總電源開關(guān)。先單擊按鈕編譯項目文件,單擊按鈕 選擇菜單“Project”里的“Rebuild all targetfiles”如圖2.1所示。再按圖2-4中的按鈕 開始調(diào)試。
圖2-4 調(diào)試窗口
這時候如果出現(xiàn)圖2-5所示對話框,那么硬件系統(tǒng)應復位一次,關(guān)閉總電源開關(guān)2秒后從新打開電源。
圖2-5 聯(lián)接失敗對話框
然后按圖2-5所示的“Try Again”,可進入調(diào)試階段。如圖2-6所示。
圖2-6 調(diào)試窗口
按圖2-6 中 按鈕,即可運行程序。
如果想停止運行程序,應按一下THKL-C51仿真器的復位按鈕,等待約2秒后,程序便停止運行,再次按圖2-6中的按鈕可返回到圖2-4界面。
附錄三 Keil uVision2軟件仿真
我們來根據(jù)一個實例看看軟件仿真的過程。 本實例指定外部存儲器的起始地址和長度,將其內(nèi)容賦同一值。
程序如下:
ADDR | EQU 8000H | ;地址:8000H |
ORG | 0000H | |
MOV | DPTR,#ADDR | |
MOV | R0,#20 | ;賦值個數(shù):20 |
MOV | A,#0FFH | ;賦值:0FFH |
LOOP: MOVX | @DPTR,A | |
INC | DPTR | |
DJNZ | R0,LOOP | |
END |
1.軟件設置
點擊按鈕,按照圖3-1 里面的圖示方法,進行端口設置:
圖3-1 設置Debug 選項卡
2.編譯
點擊 按鈕,無誤后點擊 按鈕,如圖3-2。編譯無誤后點擊按鈕 開始調(diào)試。
圖3-2 編譯
3.調(diào)試
打開View 菜單下 Memory Window (存儲器窗口),在存儲器窗口的Address 輸入框中輸入:
X:0x8000 (如需查看單片機內(nèi)RAM單元則輸入D:0x**,如:D:0x30)
接著按回車鍵,存儲器窗口顯示8000H 起始的存儲數(shù)據(jù)(都為0)。點擊 按鈕,運行程序,如圖3-3。
程序運行結(jié)束后,存儲器窗口顯示8000H 起始的20 個單元的數(shù)據(jù)變?yōu)椤?FFH”,如圖3-4。
圖3-3 調(diào)試窗口
圖3-4 調(diào)試窗口
4.設置斷點
在需設斷點的指令行的空白處雙擊左鍵,指令行的前端出現(xiàn)紅色方塊即可。同樣,取消斷點設置,也在空白處雙擊左鍵,紅色方塊消失。如圖3-5。
圖3-5 調(diào)試窗口
按鈕 分別為:復位CPU、運行、停止、單步執(zhí)行程序(遇到子程序則進入)和單步執(zhí)行程序(跳過子程序)。
5.如何生成.HEX格式文件
因為燒錄器一般只支持.HEX格式文件,而KeiluVision2的默認設置中不會生成該格式的文件,這就需要我們來設置了。如圖3.6設置Output選項卡中的選中“Create HEXFi:”前的復選框,然后在編譯后就會生成和項目主文件名同名擴展名為“.HEX”的文件。
圖3-6 設置Output選項卡
附錄四 THKL-C51 仿真器介紹
1.聯(lián)機和自檢的正確操作步驟
不要帶電插拔串口,以防止由此產(chǎn)生的浪涌電流損壞MAX232通訊芯片,下面的操作順序可以避免帶電插拔:
聯(lián)機正確順序:插好仿真用串口旋緊固定螺栓→插上USB電源接口→連接目標硬件,目標硬件可以是任何51系列單片機系統(tǒng)開發(fā)板、試驗板、工控板、目標板…等等的51系列單片機硬件系統(tǒng)。
脫機正確順序:拔下USB電源接口→拔下仿真用串口。如果短期內(nèi)經(jīng)常要使用仿真功能,無需拔下串口。
因為仿真器在通電瞬間要對系統(tǒng)進行自檢,所以在通過USB給仿真系統(tǒng)供電之前,仿真頭上不要連有負載。接通USB電源,POWLED指示燈會亮起來,表示自檢通過,此時就可以進入的硬件仿真了。
2.仿真器復位按鈕的作用
在仿真器的右側(cè)下方有一個小的按紐,這個按鈕用來給整個仿真器硬件系統(tǒng)復位,什么時候需要按這個按鈕呢?設置好KEIL的硬件環(huán)境后,在每次點擊進入仿真環(huán)境之前,需要按一下這個復位按紐,這樣KEIL啟動后,軟件和已復位的硬件仿真器就會順利聯(lián)機。在點擊進入仿真環(huán)境之后,仿真器完全由KEIL控制,此時不要按這個按鈕,否則在仿真過程中系統(tǒng)將會提示聯(lián)機中斷。如果需要給硬件復位的話,請先點擊退出KEIL仿真調(diào)試環(huán)境。
仿真器使用注意事項:在打開PC機之前請把仿真器和PC機的串口連好。在聯(lián)機后,請千萬不要帶電插拔仿真器和PC機的接口,如果帶電插拔仿真器就可能導致接口電路MAX232損壞。注意插拔的時候仿真器或者PC機至少有一方的電源是斷開的。
斷開連接之前推薦步驟:
(1)按一下仿真器硬件復位按紐;
(2)按 退出仿真環(huán)境;
(3)關(guān)閉KEIL,關(guān)閉PC機,最后再斷開硬件連接,如果要經(jīng)常使用則不用斷開硬件連接。
愛華網(wǎng)



