Keil_uVision2仿真軟件的使用說明_第1頁
Keil_uVision2仿真軟件的使用說明_第2頁
Keil_uVision2仿真軟件的使用說明_第3頁
Keil_uVision2仿真軟件的使用說明_第4頁
Keil_uVision2仿真軟件的使用說明_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、附錄一 Keil uVision2仿真軟件的使用說明Vision2集成開發(fā)環(huán)境Vision2 IDE是德國Keil 公司開發(fā)的基于Windows 平臺的單片機(jī)集成開發(fā)環(huán)境,它包含一個高效的編譯器、一個項目管理器和一個MAKE 工具。其中Keil C51是一種專門為單片機(jī)設(shè)計的高效率C 語言編譯器,符合ANSI 標(biāo)準(zhǔn),生成的程序代碼運(yùn)行速度極高,所需要的存儲器空間極小,完全可以與匯編語言媲美。1關(guān)于開發(fā)環(huán)境Vision2的界面如圖11所示,Vision2允許同時打開、瀏覽多個源文件。 圖11 Vision2界面圖2菜單條、工具欄和快捷鍵下面的表格列出了Vision2菜單項命令,工具欄圖標(biāo),默認(rèn)的

2、快捷以及他們的描述。 1)編輯菜單和編輯器命令Edit (如表1-1所示) 表1-1 編輯菜單和編輯器命令Edit 2 在Vision2中,可以通過按住Shift 鍵和相應(yīng)的鍵盤上的方向鍵來選擇文本。如Ctrl+ 可以移動光標(biāo)到下一個詞,那么,Ctrl+Shift+ 就是選擇當(dāng)前光標(biāo)位置到下一個詞的開始位置間的文本。當(dāng)然,也可以用鼠標(biāo)來選擇文本。3)項目菜單Project 和項目命令Project (如表1-2所示) 表1-2 項目菜單和項目命令Project3 4)調(diào)試菜單Debug 和調(diào)試命令(如表1-3所示) 4 5)外圍器件菜單Peripherals (如表1-4所示) 6)工具菜單T

3、ool (如表1-5所示)利用工具菜單,可以設(shè)置并運(yùn)行Gimpel PC-Lint、Siemens Easy-Case和用戶程序。通過Customize Tools Menu菜單,可以添加需要的程序。表1-5 工具菜單ToolVision2包括一個項目管理器,它可以使8x51應(yīng)用系統(tǒng)的設(shè)計變得簡單。要創(chuàng)建一個應(yīng)用,需要按下列步驟進(jìn)行操作:啟動Vision2,新建一個項目文件并從器件庫中選擇一個器件。5 新建一個源文件并把它加入到項目中。 增加并設(shè)置選擇的器件的啟動代碼 針對目標(biāo)硬件設(shè)置工具選項。 編譯項目并生成可編程PROM 的HEX 文件。下面將逐步地進(jìn)行描述,從而指引讀者創(chuàng)建一個簡單的Vi

4、sion2項目。 1)選擇【Project 】/【New Project】選項,如圖1-2所示。 圖1-2 Project菜單2)在彈出的“Create New Project”對話框中選擇要保存項目文件的路徑,比如保存到Exercise 目錄里,在“文件名”文本框中輸入項目名為example ,如圖1-3所示,然后單擊“保存”按鈕。 圖1-3 Create New Project對話框3)這時會彈出一個對話框,要求選擇單片機(jī)的型號。讀者可以根據(jù)使用的單片機(jī)型號來選擇,Keil C51幾乎支持所有的51核的單片機(jī),這里只是以常用的AT89C51為例來說明,如圖1-4所示。選擇AT89C51之后

5、,右邊Description 欄中即顯示單片機(jī)的基本說明,然后單擊“確定”按鈕。 圖14 選擇單片機(jī)的型號對話框4)這時需要新建一個源程序文件。建立一個匯編或C 文件,如果已經(jīng)有源程序文件,可以忽略這一步。選擇【File 】/【New 】選項,如圖1-5所示。5)在彈出的程序文本框中輸入一個簡單的程序,如圖1-6所示。 圖1-5 新建源程序文件對話框圖 圖1-6 程序文本框6)選擇【File 】/【Save 】選項,或者單擊工具欄按鈕,保存文件。在彈出的如圖1-7所示的對話框中選擇要保存的路徑,在“文件名”文本框中輸入文件名。注意一定要輸入擴(kuò)展名,如果是C 程序文件,擴(kuò)展名為.c ;如果是匯編

6、文件,擴(kuò)展名為.asm ;如果ini 文件,擴(kuò)展名為. ini 。這里需要存儲ASM 源程序文件,所以輸入.asm擴(kuò)展名(也可以保存為其他名字,比如new.asm 等),單擊“保存”按鈕。 圖1-7 Save As對話框圖7)單擊Target1前面的+號,展開里面的內(nèi)容Source Group1,如圖1-8所示。 圖1-8 Target展開圖8)用右鍵單擊Source Group1,在彈出的快捷菜單中選擇Add File to Group Source Group1選項,如圖1-9所示。 圖19 Add Files to GroupSource Group1菜單9)選擇剛才的文件example

7、.asm ,文件類型選擇Asm Source file(*.C)。如果是C 文件,則選擇C Source file;如果是目標(biāo)文件,則選擇Object file;如果是庫文件,則選擇Library file。最后單擊“Add ”按鈕,如果要添加多個文件,可以不斷添加(注意:在用匯編語言編寫的程序文件時只能添加一個文件,否則會顯示錯誤信息 。添加完畢后單擊“Close ”按鈕,關(guān)閉該窗口,如圖1-10所示 圖1-10 Add Files to GroupSource Group1對話框10)這時在Source Group1目錄里就有example.asm 文件,如圖1-11所示。 11)接下來要

8、對目標(biāo)進(jìn)行一些設(shè)置。用鼠標(biāo)右鍵(注意用右鍵)單擊Target1,在彈出的右鍵菜單中選擇Options for TargetTarget 1選項,如圖1-12所示。 圖1-12 ptions for Target Target 1選項12)彈出Options for Target Target 1對話框,其中有8個選項卡。默認(rèn)為Target 選項卡(如圖1-13所示) 圖1-13 Target選項卡 Xtal (MHZ ):設(shè)置單片機(jī)工作的頻率,默認(rèn)是24.0MHz 。 Use On-chip ROM(0x0-0XFFF:表示使用片上的Flash ROM,At89C51有4KB 的可重編程的Fl

9、ash ROM,該選項取決于單片機(jī)應(yīng)用系統(tǒng),如果單片機(jī)的EA 接高電平,則選中這個選項,表示使用內(nèi)部ROM ,如果單片機(jī)的EA 接低電平,表示使用外部ROM ,則不選中該項。這里選中該選項。 Off-chip Code memory:表示片外ROM 的開始地址和大小,如果沒有外接程序存儲器,那么不需要填任何數(shù)據(jù)。這里假設(shè)使用一個片外ROM ,地址從0x8000開始,一般填16進(jìn)制的數(shù),Size 為片外ROM 的大小。假設(shè)外接ROM 的大小為0x1000字節(jié),則最多可以外接3塊ROM 。 Off-chip Xdata memory: 那么可以填上外接Xdata 外部數(shù)據(jù)存儲器的起始地址和大小,一

10、般的應(yīng)用是62256,這里特殊的指定Xdata 的起始地址為0x2000,大小為0x8000。 Code Banking:是使用Code Banking技術(shù)。Keil 可以支持程序代碼超過64KB 的情況,最大可以有2MB 的程序代碼。如果代碼超過64KB ,那么就要使用Code Banking技術(shù),以支持更多的程序空間。Code Banking 支持自動的Bank 的切換,這在建立一個大型系統(tǒng)時是必需的。例如:在單片機(jī)里實現(xiàn)漢字字庫,實現(xiàn)漢字輸入法,都要用到該技術(shù)。 Memory Model:單擊Memory Model后面的下拉箭頭,會有3個選項,如圖1-14所示。 圖1-14 Memor

11、y Model選項 Small :變量存儲在內(nèi)部RAM 里。 Compact :變量存儲在外部RAM 里,使用8位間接尋址。 Large :變量存儲在外部RAM 里,使用16位間接尋址。一般使用Small 來存儲變量,此時單片機(jī)優(yōu)先將變量存儲在內(nèi)部RAM 里,如果內(nèi)部RAM 空間不夠,才會存在外部RAM 中。Compact 的方式要通過程序來指定頁的高位地址,編程比較復(fù)雜,如果外部RAM 很少,只有256字節(jié),那么對該256字節(jié)的讀取就比較快。如果超過256字節(jié),而且需要不斷地進(jìn)行切換,就比較麻煩,Compact 模式適用于比較少的外部RAM 的情況。Large 模式是指變量會優(yōu)先分配到外部R

12、AM 里。需要注意的是,3種存儲方式都支持內(nèi)部256字節(jié)和外部64KB 的RAM 。因為變量存儲在內(nèi)部RAM 里運(yùn)算速度比存儲在外部RAM 要快得多,大部分的應(yīng)用都是選擇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ū)別,可以看出這幾個

13、選項只影響沒有特別指定變量的存儲空間的情況,默認(rèn)存儲在所選模式的存儲空間,比如上面的變量定義unsigned char a。 Code Rom Size :單擊Code Rom Size 后面的下拉箭頭,將有3個選項,如圖1-15所示。 圖1-15 Code Rom Size選項 Small :program2K or less,適用于AT89C2051這些芯片,2051只有2KB 的代碼空間,所以跳轉(zhuǎn)地址只有2KB ,編譯的時候會使用ACALL AJMP這些短跳指令,而不會使用LCALL ,LJMP 指令。如果代碼地址跳轉(zhuǎn)超過2KB ,那么會出錯。 Compact :2K functiong

14、s,64K program,表示每個子函數(shù)的代碼大小不超過2K ,整個項目可以有64K 的代碼。就是說在main(里可以使用LCALL ,LJMP 指令,但在子程序里只會使用ACALL ,AJMP 指令。只有確定每個子程序不會超過2KB ,才可以使用Compact 方式。 Large :64KB program ,表示程序或子函數(shù)代碼都可以大到64KB ,使用code bank 還可以更大。通常都選用該方式。選擇Large 方式速度不會比Small 慢很多,所以一般沒有必要選擇Compact 和Small 方式。這里選擇Large 方式。 Operating :單擊Operating 后面的下

15、拉箭頭,會有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 是一個多任務(wù)操作系統(tǒng),使用定時器0做任務(wù)切換。在11.0592MHz 時,切換任務(wù)的速度為30ms 。如果有10個任務(wù)同時運(yùn)行,那么切換時間為300ms 。不支持中斷系統(tǒng)的任務(wù)切換,也沒有優(yōu)行級,因為切換的時間太長,實時性大打折扣。多任務(wù)情況下(比如5個),輪循一次需要150ms ,即150ms 才處理一個任務(wù),這連

16、鍵盤掃描這些事情都實現(xiàn)不了,更不要說串口接收、外部中斷了。同時切換需要大概1000個機(jī)器周期,對CPU 的浪費(fèi)很大,對內(nèi)部RAM 的占用也很嚴(yán)重。實際上用到多任務(wù)操作系統(tǒng)的情況很少。Keil C51 Full Real -Time OS 是比Tiny 要好一些的系統(tǒng)(但需要用戶使用外部RAM ),支持中斷方式的多任務(wù)和任務(wù)優(yōu)先級,但是Keil C51里不提供該運(yùn)行庫,要另外購買。這里選擇None 。設(shè)置Output 選項卡(如圖1-17所示) 圖1-17 設(shè)置Output 卡 Select Folder for Objects:單擊該按鈕可以選擇編譯后目標(biāo)文件的存儲目錄,如果不設(shè)置,就存儲在項

17、目文件的目錄里。 Name of Executable:設(shè)置生成的目標(biāo)文件的名字,缺省情況下和項目的名字一樣。目標(biāo)文件可以生成庫或者obj 、HEX 的格式。 Create Executable :如果要生成OMF 以及HEX 文件,一般選中Debug Information 和Browse Information。選中這兩項,才有調(diào)試所需的詳細(xì)信息,比如要調(diào)試C 語言程序,如果不選中,調(diào)試時將無法看到高級語言寫的程序。 Create HEX File:要生成HEX 文件,一定要選中該選項,如果編譯之后沒有生成HEX 文件,就是因為這個選項沒有被選中。默認(rèn)是不選中的。 Create Libra

18、ry :選中該項時將生成lib 庫文件。根據(jù)需要決定是否要生成庫文件,一般應(yīng)用是不生成庫文件的。 After Make:欄中有以下幾個設(shè)置。 Beep when complete:編譯完成之后發(fā)出咚的聲音。 Start Debugging :馬上啟動調(diào)試(軟件仿真或硬件仿真),根據(jù)需要來設(shè)置,一般是不選中。 Run User Program #1,Run User Program #2:這個選項可以設(shè)置編譯完之后所要運(yùn)行的其他應(yīng)用程序(比如有些用戶自己編寫了燒寫芯片的程序,編譯完便執(zhí)行該程序,將HEX 文件寫入芯片),或者調(diào)用外部的仿真器程序。根據(jù)自己的需要設(shè)置。設(shè)置Listing 選項卡(如

19、圖1-18所示) 圖1-18 設(shè)置Listing 選項卡Keil C51在編譯之后除了生成目標(biāo)文件之外,還生*.lst、*m51的文件。這兩個文件可以告訴程序員程序中所用的idata 、data 、bit 、xdata 、code 、RAM 、ROM 、stack 等的相關(guān)信息,以及程序所需的代碼空間。選中Assembly Code 會生成匯編的代碼。這是很有好處的,如果不知道如何用匯編來寫一個long 型數(shù)的乘法,那么可以先用C 語言來寫,寫完之后編譯,就可以得到用匯編實現(xiàn)的代碼。對于一個高級的單片機(jī)程序員來說,往往既要熟悉匯編,同時也要熟悉C 語言,才能更好地編寫程序。某些地方用C 語言無

20、法實現(xiàn),便用匯編語言卻很容易。有些地方用匯編語言,很繁瑣,用C 語言就很方便。單擊Select Folder for Listings按鈕后,在出現(xiàn)的對話框中可以選擇生成的列表文件的存放目錄。不做選擇時,使用項目文件所在的目錄。設(shè)置Debug 選項卡(如圖1-19所示)這里有兩類仿真形式可選:Use Simulator和Use :Keil Monitor-51 Driver,前一種是純軟件仿真,后一種是帶有Monitor-51目標(biāo)仿真器的仿真。 Load Application at Start:選擇這項之后,Keil 才會自動裝載程序代碼。 圖1-19 設(shè)置Debug 選項卡 Go till

21、 main:調(diào)試C 語言程序時可以選擇這一項,PC 會自動運(yùn)行到main 程序處。這里選擇Use Simulator。如果選擇Use :Keil Monitor-51 Driver,還可以單擊圖1-19中的Settings 按鈕,打開新的窗口如圖1-20,其中的設(shè)置如下。 Port :設(shè)置串口號,為仿真機(jī)的串口連接線COM_A所連接的串口。 Baudrate :設(shè)置為9600,仿真機(jī)固定使用9600bit/s跟Keil 通信。 Serial Inerrupt:允許串行中斷,選中它。 Cache Options:可以選也可以不選,推薦選它,這樣仿真機(jī)會運(yùn)行得快一點(diǎn)。 最后單擊OK 按鈕關(guān)閉窗口。

22、 圖1-20 Target設(shè)置13)編譯程序,選擇【Project 】/【Rebuild all target files】選項,如圖1-21所示。 圖1-21 Rebuild all target files 或者單擊工具欄中的按鈕,如圖1-22所示,開始編譯程序。 圖1-22 工具欄中的按鈕如果編譯成功,開發(fā)環(huán)境下面會顯示編譯成功的信息,如圖1-23所示。 圖1-23 編譯成功信息14)編譯完畢之后,選擇【Debug 】/【Start/Stop Debug Session 】選項,即就進(jìn)入仿真環(huán)境,如圖1-24所示。 16圖1-24 仿真或者單擊工具欄中的銨鈕,如圖1-25所示。 圖1-2

23、5 工具欄仿真按鈕15)裝載代碼之后,開發(fā)環(huán)境下面顯示如圖1-26所示的信息。 圖1-26 裝載代碼17附錄二 使用PTS 組件實現(xiàn)Keil uVision2的在線調(diào)試1硬件準(zhǔn)備:首先您必須具備PTS 組件硬件系統(tǒng)和THKL-C51仿真器,還需要一條串口線(串口線的接法是2-3/3-2/5-5也就是交叉接法,不是平行接法 。2軟件準(zhǔn)備:您需要準(zhǔn)備Keil uVision2軟件一套,版本最好是7.0之后的,我們產(chǎn)品附帶光盤就包含了最新的Keil uVision2軟件,如果老用戶無法得到這個版本軟件,可以上網(wǎng)尋找,也可以到Keil 公司的網(wǎng)站下載 下載,當(dāng)然您還可以和我們銷售聯(lián)絡(luò),獲得光盤。3系統(tǒng)

24、設(shè)置:實驗箱聯(lián)接好電源線,串口線聯(lián)接好PC 機(jī)和THKL-C51仿真器,把仿真器插入單片機(jī)最小應(yīng)用系統(tǒng)的鎖緊插座。請注意仿真器插入方向,缺口應(yīng)朝上。4軟件設(shè)置:首先,打開Keil uVision2軟件,新建項目文件或打開已有的項目文件,再新建并添加源文件,詳見附錄一。開始軟件設(shè)置,單擊按鈕或選中項目文件窗口中的Target1,找到圖2-1所示菜單項。 18圖2-1 Project菜單選中以后找到圖2-2所示的對話框,按照圖2-2里面的圖示方法,進(jìn)行端口設(shè)置。選擇硬件仿真(Use: Keil Monitor-51 Driner;部分實驗只這需要軟件軟件仿真時選擇Use Simulator 。 圖

25、2-2 設(shè)置Debug 選項卡19單擊“Settings ”進(jìn)入Target 設(shè)置, 如圖2-3。選擇串行口,波特率選擇38400,這樣就設(shè)置好了。 圖2-3 Target設(shè)置5開始調(diào)試按實驗指導(dǎo)提供的方法連接好實驗導(dǎo)線。打開相關(guān)模塊的電源開關(guān)(關(guān)閉不相關(guān)模塊的電源開關(guān)) ,打開總電源開關(guān)。先單擊按鈕 編譯項目文件,單擊按鈕選擇菜單“Project ”里的“Rebuild all target files”如圖2.1所示。再按圖2-4中的按鈕開始調(diào)試。 20圖2-4 調(diào)試窗口這時候如果出現(xiàn)圖2-5所示對話框,那么硬件系統(tǒng)應(yīng)復(fù)位一次,關(guān)閉總電源開關(guān)2秒后從新打開電源。 圖2-5 聯(lián)接失敗對話框然

26、后按圖2-5所示的“Try Again”,可進(jìn)入調(diào)試階段。如圖2-6所示。 圖2-6 調(diào)試窗口按圖2-6 中按鈕,即可運(yùn)行程序。 如果想停止運(yùn)行程序,應(yīng)按一下THKL-C51仿真器的復(fù)位按鈕,等待約2秒后,程序便停止運(yùn)行,再次按圖2-6中的按鈕可返回到圖2-4界面。附錄三 Keil uVision2軟件仿真我們來根據(jù)一個實例看看軟件仿真的過程。 本實例指定外部存儲器的起始地址和長度,將其內(nèi)容賦同一值。程序如下:ADDR EQU 8000H ;地址:8000HORG 0000H MOV DPTR,#ADDRMOV R0,#20 ;賦值個數(shù):20 MOV A,#0FFH ;賦值:0FFHLOOP:

27、 MOVX DPTR,AINC DPTR DJNZ R0,LOOP END1軟件設(shè)置點(diǎn)擊按鈕,按照圖3-1 里面的圖示方法,進(jìn)行端口設(shè)置: 圖3-1 設(shè)置Debug 選項卡2編譯點(diǎn)擊按鈕,無誤后點(diǎn)擊按鈕,如圖3-2。編譯無誤后點(diǎn)擊按鈕開始調(diào)試。 圖3-2 編譯3調(diào)試打開View 菜單下 Memory Window (存儲器窗口),在存儲器窗口的Address 輸入框中輸入:X:0x8000 (如需查看單片機(jī)內(nèi)RAM 單元則輸入D:0x*,如:D:0x30)接著按回車鍵,存儲器窗口顯示8000H 起始的存儲數(shù)據(jù)(都為0)。點(diǎn)擊按鈕,運(yùn)行程序,如圖3-3。 程序運(yùn)行結(jié)束后,存儲器窗口顯示8000H 起始的20 個單元的數(shù)據(jù)變?yōu)椤?FFH”,如圖3-4。 圖3-3調(diào)試窗口 圖3-4 調(diào)試窗口4設(shè)置斷點(diǎn)在需設(shè)斷點(diǎn)的指令行的空白處雙擊左鍵,指令行的前端出現(xiàn)紅色方塊即可。同樣,取消斷點(diǎn)設(shè)置,也在空白處雙擊左鍵,紅色方塊消失。如圖3-5。 圖3-5 調(diào)試窗口按鈕分別為:復(fù)位CPU 、運(yùn)行、停止、單步執(zhí)行程序(遇到子程序則進(jìn)入)和單步執(zhí)行程序(跳過子程序)。5如何生成HEX 格式文件因為燒錄器一般只支持HEX 格式文件,而

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論