




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、附錄一KeiluVision2仿真軟件的使用說明wVision2 集成開發(fā)環(huán)境Vision2IDE是德國(guó)Keil公司開發(fā)的基于Windows平臺(tái)的單片機(jī)集成開發(fā)環(huán)境,它包含一個(gè)高效的編譯器、一個(gè)項(xiàng)目管理器和一個(gè)MAKET具。其中KeilC51是一種專門為單片機(jī)設(shè)計(jì)的高效率C語言編譯器,符合ANSI標(biāo)準(zhǔn),生成的程序代碼運(yùn)行速度極高,所需要的存儲(chǔ)器空間極小,完全可以與匯編語言媲美。1 .關(guān)于開發(fā)環(huán)境Vision2的界面如圖11所示,科Vision2允許同時(shí)打開、瀏覽多個(gè)源文件。圖11Vision2界面圖2 .菜單條、工具欄和快捷鍵下面的表格列出了Vision2菜單項(xiàng)命令,工具欄圖標(biāo),默認(rèn)的快捷以及
2、他們的描述。1)編輯菜單和編輯器命令Edit(如表1-1所示)表1-1編輯菜單和編輯器命令Edit菜單工具欄快捷鍵描述Home移動(dòng)光標(biāo)到本行的開始End移動(dòng)光標(biāo)到本行的末尾Ctrl+Home移動(dòng)光標(biāo)到文件的開始Ctrl+End移動(dòng)光標(biāo)到文件的結(jié)束Ctrl+v-移動(dòng)光標(biāo)到詞的左邊Ctrl+-移動(dòng)光標(biāo)到詞的右邊Ctrl+A選擇當(dāng)前文件的所有文本內(nèi)容UndoCtrl+Z取消上次操作RedoCtrl+Shift+Z重復(fù)上次操作CutCtrl+XCtrl+Y剪切所選文本剪切當(dāng)前行的所有文本CopyCtrl+C復(fù)制所選文本PasteCtrl+V粘貼IndentSelectedText小三將所選文本右移一個(gè)
3、制表鍵的距離UnindentSelectedTextt將所選文本左移一個(gè)制表鍵的距離ToggleBookmarkCtrl+F2設(shè)置/取消當(dāng)前行的標(biāo)簽GotoNextBookmarkF2移動(dòng)光標(biāo)到下一個(gè)標(biāo)簽處GotoPreviousShift+F2移動(dòng)光標(biāo)到上一個(gè)標(biāo)簽處ClearAllBookmarks清除當(dāng)前文件的所有標(biāo)簽Find在當(dāng)前文件中查找文本F3;向前重復(fù)查找Shift+F3向后重復(fù)查找Ctrl+F3查找光標(biāo)處的單詞Ctrl+尋找匹配的大括號(hào)、圓括號(hào)、方括號(hào)(用此命令將光標(biāo)放到大括號(hào)、圓括號(hào)或方括號(hào)的前-WReplace替換特定的字符FindinFiles,=聃Ir在多個(gè)文件中查找Go
4、toMatchingbrace卜選擇匹配的一對(duì)大括號(hào)、圓括號(hào)或方括號(hào)中的內(nèi)容2)選擇文本命令在Vision2中,可以通過按住Shift鍵和相應(yīng)的鍵盤上的方向鍵來選擇文本。如Ctrl+一可以移動(dòng)光標(biāo)到下一個(gè)詞,那么,Ctrl+Shift+一就是選擇當(dāng)前光標(biāo)位置到下一個(gè)詞的開始位置間的文本。當(dāng)然,也可以用鼠標(biāo)來選擇文本。3)項(xiàng)目菜單Project和項(xiàng)目命令Project(如表1-2所示)表1-2項(xiàng)目菜單和項(xiàng)目命令Project菜單工具欄快捷鍵描述NewProject,創(chuàng)建新項(xiàng)目ImportVision1Project,轉(zhuǎn)化Vision1的項(xiàng)目OpenProject,打心個(gè)已經(jīng)存在的項(xiàng)目CloseP
5、roject,關(guān)閉當(dāng)前的項(xiàng)目TargetEnvironment定義工具、包含文件和庫的路徑Targets,Groups,Files維護(hù)一個(gè)項(xiàng)目的對(duì)象、文件組和文件SelectDeviceforTarget選擇對(duì)象的CPURemove,從項(xiàng)目中移個(gè)組或文件Options,盡Alt+F7設(shè)置對(duì)象、組或文件的工具選項(xiàng)FileExtensions選擇不向文件類型的擴(kuò)展名BuildTarget函F7編譯修改過的文件并生成應(yīng)用RebuildTarget重新編譯所有的文件并生成應(yīng)用Translate,Ctrl+F7編譯當(dāng)前文件StopBuild1蠢1停止生成應(yīng)用的過程17打開最近打開過的項(xiàng)目4)調(diào)試菜單De
6、bug和調(diào)試命令(如表1-3所示)表1-3調(diào)試菜單和調(diào)試命令Debug菜單工具欄快捷鍵描述Start/StopDebugging尬HCtrl+F5開始/停止調(diào)試模式GoF5運(yùn)行程序,直到遇到一個(gè)中斷Step眄F11單步執(zhí)行程序,遇到子程序則進(jìn)入StepoverF10單步執(zhí)行程序,跳過子程序StepoutofCtrl+F11執(zhí)行到當(dāng)前函數(shù)的結(jié)束CurrentfunctionstopRuningoEsc停止程序運(yùn)行Breakpoints,打開斷點(diǎn)對(duì)話框Insert/RemoveBreakpoint創(chuàng)設(shè)置/取消當(dāng)前行的斷點(diǎn)Enable/DisableBreakpointIS使能/禁止當(dāng)前行的斷點(diǎn)Di
7、sableAllBreakpoints禁止所有的斷點(diǎn)KillAllBreakpoints取消所有的斷點(diǎn)ShowNextStatemento顯布卜一條指令Enable/DisableTraceRecordingasMd使能/禁止程序運(yùn)行軌跡的標(biāo)識(shí)ViewTraceRecords_顯示程序運(yùn)行過的指令MemoryMap打開存儲(chǔ)器空間設(shè)置對(duì)話框PerformanceAnalyzer,打開設(shè)置性能分析的窗口InlineAssembly,對(duì)某一行重新匯編,可以修改匯編代碼FunctionEditor,編輯調(diào)試函數(shù)和調(diào)試設(shè)置文件5)外圍器件菜單Peripherals(如表1-4所示)表1-4外圍器件菜單P
8、eripherals菜單工具欄描述ResetCPUSSfi復(fù)位CPU以下為單片機(jī)外圍器件的設(shè)置對(duì)話框(對(duì)話框的種類及內(nèi)容依賴于你選擇的CPUInterrupt中斷觀察I/O-PortsI/O口觀察Serial串口觀察Timer定時(shí)器觀察A/DConoverterA/D轉(zhuǎn)換器D/AConoverterD/A轉(zhuǎn)換器12CConoverter12c總線控制器Watchdog看門狗6)工具菜單Tool(如表1-5所示)利用工具菜單,可以設(shè)置并運(yùn)行GimpelPC-Lint、SiemensEasy-Case和用戶程序。通過CustomizeToolsMenu,菜單,可以添加需要的程序。表1-5工具菜單T
9、ool菜單描述SetupPC-Lint,設(shè)置GimpelSoftware的PC-Lint程序Lint用PC-Lint處理當(dāng)前編輯的文件LintallCSourceFiles用PC-Lint處理項(xiàng)目中所有的C源代碼文件SetupEasy-Case,設(shè)置Siemens的Easy-Case程序Start/StopEasy-Case運(yùn)行/停止Siemens的Easy-Case程序ShowFile(Line)用Easy-Case處理當(dāng)前編輯的文件CustomizeToolsMenu,添加用戶程序到工具菜單中3 .創(chuàng)建項(xiàng)目實(shí)例Vision2包括一個(gè)項(xiàng)目管理器,它可以使8x51應(yīng)用系統(tǒng)的設(shè)計(jì)變得簡(jiǎn)單。要?jiǎng)?chuàng)建
10、一個(gè)應(yīng)用,需要按下列步驟進(jìn)行操作:?jiǎn)?dòng)pVision2,新建一個(gè)項(xiàng)目文件并從器件庫中選擇一個(gè)器件。新建一個(gè)源文件并把它加入到項(xiàng)目中。增加并設(shè)置選擇的器件的啟動(dòng)代碼針對(duì)目標(biāo)硬件設(shè)置工具選項(xiàng)。編譯項(xiàng)目并生成可編程PROM勺HEXt件。下面將逐步地進(jìn)行描述,從而指引讀者創(chuàng)建一個(gè)簡(jiǎn)單的Vision2項(xiàng)目。1)選擇【Project/NewProject選項(xiàng),如圖1-2所示。圖1-2Project菜單2)在彈出的“CreateNewProject”對(duì)話框中選擇要保存項(xiàng)目文件的路徑,比如保存到Exercise目錄里,在“文件名”文本框中輸入項(xiàng)目名為example,如圖1-3所示,然后單擊“保存”按鈕。圖1-
11、3CreateNewProject對(duì)話框3)這時(shí)會(huì)彈出一個(gè)對(duì)話框,要求選擇單片機(jī)的型號(hào)。讀者可以根據(jù)使用的單片機(jī)型號(hào)來選擇,KeilC51幾乎支持所有的51核的單片機(jī),這里只是以常用的AT89C51為例來說明,如圖1-4所示。選才AAT89C51之后,右邊Description欄中即顯示單片機(jī)的基本說明,然后單擊“確定”按鈕。SelectDeviceforTargetTargetTCPUVsendor:AtneljJ圖14選擇單片機(jī)的型號(hào)對(duì)話框4)這時(shí)需要新建一個(gè)源程序文件。建立一個(gè)匯編或C文件,如果已經(jīng)有源程序文件,可以忽略這一步。選擇【File/NevJ選項(xiàng),如圖1-5所示。5)在彈出的程
12、序文本框中輸入一個(gè)簡(jiǎn)單的程序,如圖1-6所示。6)選擇File/【Save】選項(xiàng),或者單擊工具欄在彈出白如圖1-7所示的對(duì)話框中選擇要保存的路徑, 在“文件名”文本框中輸入文件名。注意一定要輸入擴(kuò)展名,如果是C程序文件,擴(kuò)展名為.c;如果是匯編文件,擴(kuò)展名為.asm;如果ini文AT89c51rVfEL51UsExtendedAsseiiblerg51)insteedofA51D*tabaseDesripticm:目-0Kkel-QAT48801二JAT07C51O3-2jATS7P51_JATS7F51RC_|JJSTF52_|ATBTFSSinIIAT8SC1051_JATa9C1051U
13、6051basedFTIIIStitICCMOSconlrtllertithTlnree-LevelFr-32I/Olines,2TimerJCounterm6latfirruptssources4KFI&ELneBory,1SGBytesOrrehipKAM_JIATBSCZOSlAT89C4O51第 89csi圖1-5新建源程序文件對(duì)話框圖圖1-6程序文本框H按鈕,保存文件。件,擴(kuò)展名為.ini。這里需要存儲(chǔ)ASMM程序文件,所以輸入.asm圖1-7SaveAs對(duì)話框圖單擊Target1前面的+號(hào),展開里面的內(nèi)容SourceGroup1,如圖1-8所示。用右鍵單擊SourceGro
14、upl,在彈出的快捷菜單中選擇AddFiletoGroupSourceGroup1選項(xiàng),如圖1-9所示。7)圖1-8Target8)擴(kuò)展名(也可以保存為其他名字,比如new.asm等),單擊“保存”按鈕。展開圖日曰Tjrg1JSelectDeviceforTargettarget1L:OptionsforQoupSourceGroupfQpertFile圜RebuildtargetiSBuildtargetF7TranslateFile后StepbuildAddFilestoGroupSourceGroup1TargetsGrtjup$Files,.rRemoveGroupSourceGrou
15、p1anditsFiles*IncludeDependencies圖19AddFilestoGroupSourceGroupl菜單9)選擇剛才的文件example.asm,文件類型選擇AsmSourcefile(*.C)。如果是C文件,則選擇CSourcefile;如果是目標(biāo)文件,則選擇Objectfile;如果是庫文件,則選擇Libraryfile。最后單擊Add按鈕,如果要添加多個(gè)文件,可以不斷添加(注意:在用匯編語言編寫的程序文件時(shí)只能添加一個(gè)文件,否則會(huì)顯示錯(cuò)誤信息)。添加完畢后單擊“Close”按鈕,關(guān)閉該窗口,如圖1-10所示AddFilestoGroupSourceGroupI1
16、Add文件類型矍):|mfile!(#.#),AsinSourcefile誦金三二互三就Objectfilft*.obj)Libraryfile(*,lib)Txtfile第txt;*,h;*,inc)Allfils50.1)圖1-10AddFilestoGroupSourceGroup1對(duì)話框10)這時(shí)在SourceGroup1目錄里就有example.asm文件,如圖1-11所示。查找范圍(D.|口新建Q件夾Jj兇 二|宣|國(guó)屋Ji80316031.ASM目8031.L5T6031.M51*B0310eJj*8031.Opt國(guó)HBLpigjd8031.Uv2國(guó)8U3l_Qpt.Bak目80
17、31JUv2,BakWexampleexample.uv2STARTUP.脂1回STARTUP或詞STARTUP.obj圖1-11example.asm文件11)接下來要對(duì)目標(biāo)進(jìn)行一些設(shè)置。用鼠標(biāo)右鍵(注意用右鍵)單擊Targetl,在彈出的右鍵菜單中選擇OptionsforTargetTarget1選項(xiàng),如圖1-12所示。SelectDeviceForTargetTarget1OptionsForTargetTarget1OpenFile圜Rebuildtarget國(guó) guidtargetF7TranslateFileffiStopbuildAddFilestoGroupTargetSjGr
18、oups,Files.RemoveItem圖1-12ptionsforTargetTarget1選項(xiàng)12)彈出OptionsforTargetTarget1對(duì)話框,其中有8個(gè)選項(xiàng)卡。默認(rèn)為Target選項(xiàng)卡(如圖1-13所示)ORGEOOOHSTART:nova,#0FEh亞0耳Output:r5,#8PlariaAcalldjnzSjD&PDelayr5,OutputSTARTDelay:MOVx6rfOAl:movm#0DelayLDop:HUPNOPdjnzdjnzMlr7xDelayLoop工6,Al.J-圖1-13Target選項(xiàng)卡Xtal(MHZ:設(shè)置單片機(jī)工作的頻率,默認(rèn)
19、是24.0MHz。UseOn-chipROM(0 x0-0XFFF):表示使用片上的FlashROM,At89C51有4KB的可重編程的FlashROM,該選項(xiàng)取決于單片機(jī)應(yīng)用系統(tǒng),如果單片機(jī)的EA接高電平,則選中這個(gè)選項(xiàng),表示使用內(nèi)部ROM如果單片機(jī)的EA接低電平,表示使用外部ROM則不選中該項(xiàng)。這里選中該選項(xiàng)。Off-chipCodememory:表示片外ROM勺開始地址和大小,如果沒有外接程序存儲(chǔ)器,那么不需要填任何數(shù)據(jù)。這里假設(shè)使用一個(gè)片外ROM地址從0 x8000開始,一般填16進(jìn)制的數(shù),Size為片外ROM勺大小。假設(shè)外接ROM勺大小為0 x1000字節(jié),則最多可以外接3塊ROMO
20、ff-chipXdatamemory:那么可以填上外接Xdata外部數(shù)據(jù)存儲(chǔ)器的起始地址和大小,一般的應(yīng)用是62256,這里特殊的指定Xdata的起始地址為0 x2000,大小為0 x8000。CodeBanking:是使用CodeBanking技術(shù)。Keil可以支持程序代碼超過64KB的情況,最大可以有2MB的程序代碼。如果代碼超過64KB,那么就要使用CodeBanking技術(shù),以支持更多的程序空間。CodeBanking支持自動(dòng)的Bank的切換,這在建立一個(gè)大型系統(tǒng)時(shí)是必需的。例如:在單片機(jī)里實(shí)現(xiàn)漢字字庫,實(shí)現(xiàn)漢字輸入法,都要用到該技術(shù)。MemoryModel:單擊MemoryModel
21、后面的下拉箭頭,會(huì)有3個(gè)選項(xiàng),如圖1-14所示。ISBAII:variable!inDATAwar1自hie5inDATkCompact:variablesinFDATA工函告variablesHXDATA圖1-14MemoryModel選項(xiàng)Small:變量存儲(chǔ)在內(nèi)部RAM!。Compact:變量存儲(chǔ)在外部RAMI,使用8位間接尋址。Large:變量存儲(chǔ)在外部RAM1,使用16位間接尋址。一般使用Small來存儲(chǔ)變量,此時(shí)單片機(jī)優(yōu)先將變量存儲(chǔ)在內(nèi)部RAM里,如果內(nèi)部RA昨間不夠,才會(huì)存在外部RAW。Compact的方式要通過程序來指定頁的高位地址,編程比較復(fù)雜,如果外部RAM艮少,只有256字
22、節(jié),那么對(duì)該256字節(jié)的讀取就比較快。如果超過256字節(jié),而且需要不斷地進(jìn)行切換,就比較麻煩,Compact模式適用于比較少的外部RAM勺情況。Large模式是指變量會(huì)優(yōu)先分配到外部RAM!。需要注意的是,3種存儲(chǔ)方式都支持內(nèi)部256字節(jié)和外部64KB的RAM因?yàn)樽兞看鎯?chǔ)在內(nèi)部RAM1運(yùn)算速度比存儲(chǔ)在外部RA般快得多,大部分白應(yīng)用都是選擇Small模式。使用Small模式時(shí),并不說明變量就不可以存儲(chǔ)在外部,只是需要特別指定,比如:unsignedcharxdataa:變量a存儲(chǔ)在內(nèi)部RAMunsignedchara:變量存儲(chǔ)在內(nèi)部RAM但是使用Large的模式時(shí):unsignedcharxda
23、taa:變量a存儲(chǔ)在外部RAMunsignedchara:變量a同樣存儲(chǔ)在外部RAM這就是它們之間的區(qū)別,可以看出這幾個(gè)選項(xiàng)只影響沒有特別指定變量的存儲(chǔ)空間的情況,默認(rèn)存儲(chǔ)在所選模式的存儲(chǔ)空間,比如上面的變量定義unsignedchara。CodeRomSize:單擊CodeRomSize后面的下拉箭頭,將有3個(gè)選項(xiàng),如圖1-15所示。Small:prcgrsm2Kor1電|Compact:Elffunctions64Kprom圖1-15CodeRomSize選項(xiàng)Small:program2Korless,適用于AT89C2051這些芯片,2051只有2KB的代碼空間, 所以跳轉(zhuǎn)地址只有2KB
24、,編譯的時(shí)彳會(huì)使用ACALLAJMP這些短跳指令,而不會(huì)使用LCALLLJMP指令。如果代碼地址跳轉(zhuǎn)超過2KB,那么會(huì)出錯(cuò)。Compact:2Kfunctiongs,64Kprogram,表示每個(gè)子函數(shù)的代碼大小不超過2K,整個(gè)項(xiàng)目可以有64K的代碼。就是說在main()里可以使用LCALL,LJMP指令,但在子程序里只會(huì)使用ACALLAJMP指令。只有確定每個(gè)子程序不會(huì)超過2KB才可以使用Compact方式。Large:64KBprogram,表示程序或子函數(shù)代碼都可以大到64KB,使用codebank還可以更大。通常都選用該方式。選才iLarge方式速度不會(huì)比Small慢很多,所以一般沒有
25、必要選擇Compact和Small方式。這里選擇Large方式。Operating:單擊Operating后面的下拉箭頭,會(huì)有3個(gè)選項(xiàng),如圖1-16所示。圖1-16Operating選項(xiàng)None:表示不使用操作系統(tǒng)。RTX-51TinyReal-TimeOS:表示使用Tiny操作系統(tǒng)。2KorlessRTI-51TinyKTI-51FullRTX-51FullReal-TimeOS:表示使用Full操作系統(tǒng)。Tiny是一個(gè)多任務(wù)操作系統(tǒng),使用定時(shí)器0做任務(wù)切換。在11.0592MHz時(shí),切換任務(wù)的速度為30ms如果有10個(gè)任務(wù)同時(shí)運(yùn)行,那么切換時(shí)間為300m&不支持中斷系統(tǒng)的任務(wù)切換,
26、也沒有優(yōu)行級(jí),因?yàn)榍袚Q的時(shí)間太長(zhǎng),實(shí)時(shí)性大打折扣。多任務(wù)情況下(比如5個(gè)),輪循一次需要150ms即150ms才處理一個(gè)任務(wù),這連鍵盤掃描這些事情都實(shí)現(xiàn)不了,更不要說串口接收、外部中斷了。同時(shí)切換需要大概1000個(gè)機(jī)器周期,對(duì)CPU的浪費(fèi)很大,對(duì)內(nèi)部RAM勺占用也很嚴(yán)重。實(shí)際上用到多任務(wù)操作系統(tǒng)的情況很少。KeilC51FullReal-TimeOS是比Tiny要好一些的系統(tǒng)(但需要用戶使用外部RAM,支持中斷方式的多任務(wù)和任務(wù)優(yōu)先級(jí),但是KeilC51里不提供該運(yùn)行庫,要另外購(gòu)買。這里選擇None。設(shè)置Output選項(xiàng)卡(如圖1-17所示)圖1-17設(shè)置Output卡SelectFolder
27、forObjects:單擊該按鈕可以選擇編譯后目標(biāo)文件的存儲(chǔ)目錄,如果不設(shè)置,就存儲(chǔ)在項(xiàng)目文件的目錄里。NameofExecutable:設(shè)置生成的目標(biāo)文件的名字,缺省情況下和項(xiàng)目的名字一樣。目標(biāo)文件可以生成庫或者obj、HEX的格式。CreateExecutable:如果要生成OMFA及HEX文件,一般選中DebugInformation和BrowseInformation。選中這兩項(xiàng),才有調(diào)試所需的詳細(xì)信息,比如要調(diào)試C語言程序,如果不選中,調(diào)試時(shí)將無法看到高級(jí)語言寫的程序。CreateHEXFile:要生成HEX文件,一定要選中該選項(xiàng),如果編譯之后沒有生成HEX文件,就是因?yàn)檫@個(gè)選項(xiàng)沒有
28、被選中。默認(rèn)是不選中的。CreateLibrary:選中該項(xiàng)時(shí)將生成lib庫文件。根據(jù)需要決定是否要生成庫文件,一般應(yīng)用是不生成庫文件的。AfterMake:欄中有以下幾個(gè)設(shè)置。Beepwhencomplete:編譯完成之后發(fā)出咚的聲音。StartDebugging:馬上啟動(dòng)調(diào)試(軟件仿真或硬件仿真),根據(jù)需要來設(shè)置,一般是不選中。RunUserProgram#1,RunUserProgram#2:這個(gè)選項(xiàng)可以設(shè)置編譯完之后所要運(yùn)行的其他應(yīng)用程序(比如有些用戶自己編寫了燒寫芯片的程序,編譯完便執(zhí)行該程序,將HEX文件寫入芯片),或者調(diào)用外部的仿真器程序。根據(jù)自己的需要設(shè)置。設(shè)置Listing選
29、項(xiàng)卡(如圖1-18所示)圖1-18設(shè)置Listing選項(xiàng)卡KeilC51在編譯之后除了生成目標(biāo)文件之外,還生*.lst、*m51的文件。這兩個(gè)文件可以告訴程序員程序中所用的idata、data、bit、xdata、code、RAMROMstack等的相關(guān)信息,以及程序所需的代碼空間。選中AssemblyCode會(huì)生成匯編的代碼。這是很有好處的,如果不知道如何用匯編來寫一個(gè)long型數(shù)的乘法,那么可以先用C語言來寫,寫完之后編譯,就可以得到用匯編實(shí)現(xiàn)的代碼。對(duì)于一個(gè)高級(jí)的單片機(jī)程序員來說,往往既要熟悉匯編,同時(shí)也要熟悉C語言,才能更好地編寫程序。某些地方用C語言無法實(shí)現(xiàn),便用匯編語言卻很容易。有
30、些地方用匯編語言,很繁瑣,用C語言就很方便。單擊SelectFolderforListings按鈕后,在出現(xiàn)的對(duì)話框中可以選擇生成的列表文件的存放目錄。不做選擇時(shí),使用項(xiàng)目文件所在的目錄。設(shè)置Debug選項(xiàng)卡(如圖1-19所示)這里有兩類仿真形式可選:UseSimulator和Use:KeilMonitor-51Driver,前一種是純軟件仿真,后一種是帶有Monitor-51目標(biāo)仿真器的仿真。這里選擇UseSimulator。如果選擇Use:KeilMonitor-51Driver,還可以單擊圖1-19中的Settings按鈕,打開新的窗口如圖1-20,其中的設(shè)置如下。Port:設(shè)置串口號(hào),
31、為仿真機(jī)的串口連接線COM_Af連接的串口。Baudrate:設(shè)置為9600,仿真機(jī)固定使用9600bit/s跟Keil通信。SerialInerrupt:允許串行中斷,選中它。CacheOptions:可以選也可以不選,推薦選它,這樣仿真機(jī)會(huì)運(yùn)行得快一點(diǎn)。最后單擊OK按鈕關(guān)閉窗口。圖1-20Target設(shè)置13)編譯程序,選擇【Project/Rebuildalltargetfiles選項(xiàng),如圖1-21LoadApplicationatStart:選擇這項(xiàng)之后,Keil才會(huì)自動(dòng)裝載程序代碼。圖1-19設(shè)置Debug選項(xiàng)卡Gotillmain:調(diào)試C語言程序時(shí)可以選擇這一項(xiàng),PC會(huì)自動(dòng)運(yùn)行到m
32、ain程序所示。ffiBuildtergetF7RebuildmltargetfilesTranslateC:Documents己ndSetting括drriini5tr后tor里面,新建交1牛夾(2)example.ASMStopbulfdHashDownload圖1-21Rebuildalltargetfiles或者單擊工具欄中的幽按鈕,如圖1-22所示,開始編譯程序。圖1-22工具欄中的按鈕如果編譯成功,開發(fā)環(huán)境下面會(huì)顯示編譯成功的信息,如圖1-23所示。BuildtargetTarget11assemblingLed_Flash.asm,1inking.一ProgramSize:dat
33、a=8.0Hdata=0code=33050Led_Flash-0Error(s),0Warning(m).|BuildCommand)FintiinFiles/圖1-23編譯成功信息14)編譯完畢之后,選擇【Debug】/Start/StopDebugSession選項(xiàng),即就進(jìn)入仿真環(huán)境,如圖1-24所示。DebugFl型hPeripheralsTools?匚5WindowHel|5tart/5topDebugSessionCtrl+F5ElGoF5-包比叩FilI正5恒口SerFI口:StepOutofcurrentFunctionCtrl+FLlI)RmterQjrsorlineCtrl
34、+FlOO駐叩Run而gEsc圖1-24仿真昌|四|晅國(guó)|出命眄E3圖1-25工具欄仿真按鈕15)裝載代碼之后,開發(fā)環(huán)境下面顯示如圖1-26所示的信息。2d或者單擊工具欄中的俊鈕,如圖1-25所示。LoadT、單片機(jī)程序、OK”ASMASSIGMBreakDisableBreakEnableBreakKillCtnmMidAFindinFile*/圖1-26裝載代碼|J|KBuild/附錄二使用PTS組件實(shí)現(xiàn)KeiluVision2的在線調(diào)試1 .硬件準(zhǔn)備:首先您必須具備PTS組件硬件系統(tǒng)和THKL-C51仿真器, 還需要一條串口線 (串口線的接法是2-3/3-2/5-5也就是交叉接法,不是平
35、行接法)。2 .軟件準(zhǔn)備:您需要準(zhǔn)備KeiluVision2軟件一套,版本最好是7.0之后的,我們產(chǎn)品附帶光盤就包含了最新的KeiluVision2軟件,如果老用戶無法得到這個(gè)版本軟件,可以上網(wǎng)尋找,也可以到Keil公司的網(wǎng)站下載下載,當(dāng)然您還可以和我們銷售聯(lián)絡(luò),獲得光盤。3 .系統(tǒng)設(shè)置:實(shí)驗(yàn)箱聯(lián)接好電源線,串口線聯(lián)接好PC機(jī)和THKL-C51仿真器,把仿真器插入單片機(jī)最小應(yīng)用系統(tǒng)的鎖緊插座。請(qǐng)注意仿真器插入方向,缺口應(yīng)朝上。4 .軟件設(shè)置:首先,打開KeiluVision2軟件,新建項(xiàng)目文件或打開已有的項(xiàng)目文件,再新建并添加源文件,詳見附錄一。開始軟件設(shè)置,單擊按鈕去或選中項(xiàng)目文件窗口中的T
36、arget1,找到圖2-1所示菜單項(xiàng)。愚12-tBision2-C:hjcodeasmnewtest.a5mNewProjects,ImportpVision1Project.OpenProjectOoseProjectFileEen&icinjBooksandEnvironmentTargets,GroupsFiles.,.SelectDeviceforTargetTargettRemoveltemOptionsforTargetTarget11ClearGroupandFilsOptions國(guó)BuildtargetF7翅Rebuildalltargetfiles尊Translate
37、C:hjicodelasmnetest.asmOggh*rif浦圖2-1Project菜單選中以后找到圖2-2所示的對(duì)話框,按照?qǐng)D2-2里面的圖示方法,進(jìn)行端口設(shè)置。選擇硬件仿真(Use:KeilMonitor-51Driner;部分實(shí)驗(yàn)只這需要軟件軟件仿真時(shí)選擇UseSimulator)。ProjectDebugFlashPeripheratsToolsSVCSWindowHelp11=|FileEditViewj穆通輜昌圖2-2設(shè)置Debug選項(xiàng)卡單擊“Settings”進(jìn)入Target設(shè)置,如圖2-3。選擇串行口,波特率選擇38400,這樣就設(shè)置好了。圖2-3Target設(shè)置5 .開始調(diào)
38、試按實(shí)驗(yàn)指導(dǎo)提供的方法連接好實(shí)驗(yàn)導(dǎo)線。打開相關(guān)模塊的電源開關(guān)(關(guān)閉不相關(guān)模塊圖2-4調(diào)試窗口這時(shí)候如果出現(xiàn)圖2-5所示對(duì)話框,那么硬件系統(tǒng)應(yīng)復(fù)位一次,關(guān)閉總電源開關(guān)秒后從新打開電源。COHHECTiaNTOTAEGETSYSTEMLOST!PI。為雪型 resetyourtargetsystemandsgltctTryAgaintoresyncroniieBOpens.adialoghereyoucanselectthemanit&rcoxifiguratisrialinterfaceparandmor.Stopdebuggingsiession.圖2-5聯(lián)接失敗對(duì)話框然后按圖2-5所
39、示的“TryAgain,可進(jìn)入調(diào)試階段。如圖2-6所示。的電源開關(guān)),打開總電源開關(guān)。先單擊按鈕埠編譯項(xiàng)目文件,單擊按鈕倒選擇菜單Project里的Rebuildalltargetfiles”如圖2.1所示。再按圖2-4中的按鈕。開始調(diào)試。圖2-6調(diào)試窗口按圖2-6中部按鈕,即可運(yùn)行程序。如果想停止運(yùn)行程序,應(yīng)按一下THKL-C51仿真器的復(fù)位按鈕,等待約2秒后,程序便停止運(yùn)行,再次按圖2-6中的磁按鈕可返回到圖2-4界面。附錄三KeiluVision2軟件仿真我們來根據(jù)一個(gè)實(shí)例看看軟件仿真的過程。度,將其內(nèi)容賦同一值。程序如下:本實(shí)例指定外部存儲(chǔ)器的起始地址和長(zhǎng)ADDREQU8000HORG0000HMOVDPTR,#ADDRMOVR0,#20MOVA,#0FFHLOOP:MOVXDPTR,AINCDPTRDJNZR0,LOOP;地址:8000H;賦值個(gè)數(shù):20;賦值:0FFHEND1.軟件設(shè)置點(diǎn)擊按鈕,按照?qǐng)D3-1里面的圖示方法,進(jìn)行端口設(shè)置:圖3-1設(shè)置Debug選項(xiàng)卡2 .編譯點(diǎn)擊模按鈕,無誤后點(diǎn)擊圖按鈕,如圖3-2。編譯無誤后點(diǎn)擊按鈕。開始調(diào)試。圖3-2編譯3 .調(diào)試打開View菜單下MemoryWindow(存儲(chǔ)器窗口),在存儲(chǔ)器窗口的Address輸入框中輸入:X:0 x8000(如需查看單片機(jī)內(nèi)RAMII元?jiǎng)t輸入D:0 x*,如:D:0 x30
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 共享出行平臺(tái)信用評(píng)價(jià)體系與用戶行為研究報(bào)告
- 共享出行新模式在2025年城市公共交通服務(wù)提升策略研究評(píng)估報(bào)告
- 共享民宿行業(yè)2025年環(huán)保理念下的項(xiàng)目可行性分析報(bào)告
- 貴州盛華職業(yè)學(xué)院《專業(yè)綜合實(shí)訓(xùn)(通信工程)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年北京市第四十四中學(xué)九年級(jí)化學(xué)第一學(xué)期期末質(zhì)量檢測(cè)試題含解析
- 江蘇理工學(xué)院《動(dòng)物繁殖理論與生物技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北省棗陽陽光學(xué)校2025屆數(shù)學(xué)七上期末調(diào)研模擬試題含解析
- 浙江省寧波市東方中學(xué)2024-2025學(xué)年化學(xué)九年級(jí)第一學(xué)期期末監(jiān)測(cè)試題含解析
- 特色餐飲廚師招聘服務(wù)合同細(xì)則
- 餐飲連鎖店加盟管理規(guī)范合同
- 2022年脫硝試題庫
- DB37∕T 5016-2021 民用建筑外窗工程技術(shù)標(biāo)準(zhǔn)
- 全國(guó)202X年4月自學(xué)考試公文寫作與處理試題和答案解析.doc
- 杜邦安全理念課件
- 《房屋面積測(cè)算技術(shù)規(guī)程》DGJ32TJ131-2011
- 管道無損檢測(cè)施工專項(xiàng)方案
- 先進(jìn)集體申報(bào)表
- 酒店工程部考核表
- 工程塑料 第六章聚甲醛
- 模切設(shè)備日常點(diǎn)檢表
- 10kV配電變壓器缺相運(yùn)行分析
評(píng)論
0/150
提交評(píng)論