




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、仿真軟件Keil C51的使用1 Keil C51 操作入門1.1 Keil C51 簡介Keil C51 是德國知名軟件公司Keil(現(xiàn)已并入ARM 公司)開發(fā)的基于8051 內核的微控制器軟件開發(fā)平臺,是目前開發(fā)8051 內核單片機的主流工具。Keil 51支持匯編語言、C語言等各種開發(fā)語言。其中,uVision3集成開發(fā)環(huán)境包含項目管理、源代碼編輯和強大的程序調試環(huán)境。uVision3調試器是一個強大的全特性調試器,允許用戶在PC機上完全模擬目標程序、指令集和片內外圍功能。1.2 Keil C51 的啟動 雙擊桌面上的“Keil uVision3”圖標或執(zhí)行開始-程序-Keil uVis
2、ion3命令,啟動Keil C51程序,啟動界面如圖1所示。圖1 Keil C51的啟動界面1.3 建立第1 個Keil C51 程序Keil C51 是一個功能很強大的軟件,但是使用起來并不復雜?,F(xiàn)在就通過建立一個簡單的LED(發(fā)光二極管)閃爍發(fā)光的實例來初步掌握Keil C51的基本用法。硬件電路參見圖2,單片機I/O 輸出低電平可點亮LED。圖2 LED 閃爍發(fā)光電路 新建工程。執(zhí)行Keil C51 軟件的菜單“Project | New Project”,彈出一個名為“Create New Project”的對話框。先選擇一個合適的文件夾準備來存放工程文件,比如“E:ProjectLe
3、dFlash”,其中“LedFlash”是新建的文件夾。建議:今后每新建一個工程都要在適當?shù)拇疟P位置新建一個文件夾用來保存工程文件,以方便管理,并養(yǎng)成良好的習慣。最后,為工程取名為“LedFlash”,并保存。參見圖3。圖3 新建Keil C51 工程 選擇CPU。緊接著,Keil C51 提示選擇CPU 器件。8051 內核單片機最早是由鼎鼎大名的Intel 公司發(fā)明的,后來其他廠商如Philips 、Atmel 、Winbond 等先后推出其兼容產(chǎn)品,并在8051 的基礎上擴展了許多增強功能。在這里可以選擇Philips 的第1 個器件“80/87C51”,該器件與Intel 的8051
4、完全兼容。參見圖4 。圖4 選擇CPU 接下來彈出一個如圖5 所示的對話框。該對話框提示是否要把標準8051 的啟動代碼添加到工程中去。Keil C51 既支持C 語言編程也支持匯編語言編程。如果打算用匯編語言寫程序,則應當選擇“否(N)”。如果打算用C 語言寫程序,一般也選擇“否(N)”,但是,如果用到了某些增強功能需要初始化配置時,則可以選擇“是(Y)”。在這里,我們選擇“否(N)”,即不添加啟動代碼。圖5 選擇是否要添加啟動代碼至此,一個空的Keil C51工程建立完畢。 執(zhí)行菜單“File|New”,出現(xiàn)一個名為“Textn”(其中n 表示序號)的文檔。 接著執(zhí)行菜單“File|Sav
5、e”,彈出一個名為“Save As”的對話框。將文件名改為“main.c”,然后保存,參見圖6。注意:擴展名“.c”不可省略。圖6 保存新建的源程序文件 添加源程序文件到工程中?,F(xiàn)在,一個空的源程序文件“main.c”已經(jīng)建立,但是這個文件與剛才新建的工程之間并沒有什么內在聯(lián)系。我們需要把它添加到工程中去。單擊Keil C51 軟件左邊項目工作窗口“Target 1 ”上的“”,將其展開。然后右擊“Source Group 1”文件夾,會彈出如圖7 所示的選擇菜單。單擊其中的“Add Files to Group Source Group 1 ”項,將彈出如圖8 所示的對話框。 先選擇文件類型
6、為“C Source file (*.c)”,這時,對話框內將出現(xiàn)剛才保存過的“main.c”。單擊文件“main.c”,再按一次“Add”按鈕(請不要多次點擊“Add” 按鈕),最后按“Close”按鈕。這時,源程序文件“main.c ”已經(jīng)出現(xiàn)在項目工作窗口的“Source Group 1 ”文件夾內,可以單擊左邊的“”展開后查看。圖7 準備添加源程序文件到工程中圖8 向工程中添加源程序文件 現(xiàn)在開始輸入源程序。先最大化“main.c”源程序窗口,然后請按以下程序清單輸入程序代碼。程序清單: LED 閃爍發(fā)光程序main.c/* 程序名稱:LED 閃爍發(fā)光硬件接法:P1.1 控制LED,低
7、電平點亮運行效果:LED 亮200ms ,滅800ms,反復循環(huán)*/#include /包含8051 的SFR 寄存器定義頭文件sbit LED = P11; /定義I/O 接口/*函數(shù):Delay()功能:延時0.01s2.56s參數(shù):t0 時,延時(t*0.01)s t=0 時,延時2.56s 說明:定時10ms 的定時器初值65536-0.01/(1/(f/12) ,其中f為晶振頻率*/ void Delay(unsigned char t) do TH0 = 0xDC; /設置定時器初值(定時10ms) TL0 = 0x00; TR0 = 1; /啟動定時器 while ( !TF0
8、);/等待定時器溢出 TR0 = 0; /停止定時器 TF0=0; / 清除溢出標志 while ( -t != 0 ); /循環(huán)t 次/主函數(shù)void main() TMOD &= 0xF0; /T0 設置在方式1,即16 位定時器(不影響T1 的模式)TMOD |= 0x01;for (;)LED = 0;/點亮LEDDelay(20);/延時200msLED = 1;/熄滅LEDDelay(80);/延時800ms 單擊Keil C51 工具欄的“ ”圖標,彈出名為“Options for Target Target 1 ”的對話框。單擊“Output”標簽頁,選中“Create HEX
9、 File”項,然后“確定”。參見圖9 。圖9 編譯環(huán)境設置 單擊工具欄的按鈕“ ”編譯當前源程序。編譯結果會顯示在輸出窗口內。如果是“0 Error(s), 0 Warning(s).”就表示程序沒有問題了(至少是在語法上不存在問題了)。如果存在錯誤或警告,則仔細檢查程序是否與程序清單一致。修改后,再編譯,直到通過為止。 編譯后的結果會生成Intel HEX 格式的程序文件“LedFlash.hex”。該文件可以被專門的芯片燒寫工具載入并最終燒錄到具體的芯片中。芯片安裝到自己的電路板上,通電,就可以運行里面的程序了。還有一類叫做“ISP” (In System Programming )的下
10、載方法,也能夠把程序文件燒錄到芯片內,但是采用的是串行在線方式,芯片不必從電路板上取下。ISP 方式編程速度較慢但操作要方便些。Philips 的多款8051 內核單片機都能很好的支持ISP 下載功能,比如P89V51RB2 、P89V51RD2 等等。1.4 新建A51 匯編工程 Keil C51 軟件也支持A51 匯編編程。建立A51 工程的操作步驟與建立C51 工程基本相同,但有兩個要點請注意: 新建的源程序文件名要以”.A51”或“.ASM”作為后綴。 A51 源程序添加到工程中時,文件類型要選擇“Asm Source file(*.s*; *.src; *.a*)”。其它操作步驟都跟
11、建立C51 工程相同。2 在Keil C51下調試程序Keil C51的調試功能非常強大,現(xiàn)在仍然以LED閃爍發(fā)光程序為例,來具體了解如何進行仿真操作。2.1 進入仿真狀態(tài)如果程序編譯通過,就可以仿真了。在仿真之前,有一項參數(shù)最好配置一下,仍然按“ ” 圖標進入編譯環(huán)境設置,在Target選項找到“Xtal (MHz)”項,填入11.0592 。最后點擊“確定”。進入仿真狀態(tài)很簡單,直接點擊工具欄紅色的“ ”圖標。2.2 認識各個仿真窗口圖10 Keil C51 源程序窗口1. 源程序窗口Keil C51 調試界面的中間是源程序窗口,參見圖10 。黃色箭頭“ ”所指為當前即將執(zhí)行但還沒有執(zhí)行的
12、代碼。以深灰色標記的程序行是可以執(zhí)行的代碼(當然,在調試過程中未必一定要去執(zhí)行)。以淺灰色標記的程序行不可作為代碼來執(zhí)行,它們是注釋、空行、標號或ROM 數(shù)據(jù)表。以綠色標記的程序行表示曾經(jīng)執(zhí)行過的代碼。2. 寄存器窗口圖11 Keil C51 寄存器窗口Keil C51 調試界面的左邊是寄存器窗口,參見圖11 。8051 的工作寄存器(R0R7) 和系統(tǒng)寄存器(a、b、sp、dptr、PC、psw)都列出來了。Value 欄顯示的是寄存器的當前數(shù)值。如果在調試過程中某個寄存器的值有變化,則會用藍色的背景標記。單擊psw 寄存器左邊的“”,展開后還可以看到其每一位的情況。3. 匯編窗口單擊工具欄
13、的“ ”圖標,源程序窗口會自動切換成匯編窗口,參見圖12。在匯編窗口里,我們可以看到每條指令的存儲地址和編碼等信息。再次單擊“ ”,回到源程序窗口。4. 存儲器窗口單擊工具欄的“ ”圖標,將顯示出存儲器窗口,參見圖13。8051 單片機的存儲器分為多個不同的邏輯空間。如果要觀察代碼存儲器的內容,就在地址欄“Address:”內輸入“C: 地址”,例如:C:0080H 。同理,觀察內部數(shù)據(jù)存儲器輸入“I:地址”,觀察外部數(shù)據(jù)存儲器輸入“X:地址”。拖動存儲器窗口右邊的滾動條可觀察其它存儲單元。存儲器窗口有“Memory #1Memory #4 ”共4 個觀察子窗,可以用來分別觀察代碼存儲器、內部
14、數(shù)據(jù)存儲器和外部數(shù)據(jù)存儲器。存儲器的內容是可以修改的。用鼠標右擊打算要修改的存儲單元,選擇“Modify Memory at ”項,彈出修改對話框,可以隨意修改存儲單元的內容。圖12 Keil C51 匯編窗口圖13 Keil C51 存儲器窗口圖14 Keil C51 變量觀察和堆棧窗口5、變量觀察和堆棧窗口單擊工具欄的“”圖標,將顯示變量觀察和堆棧窗口(Watch & Call Stack Window),參見圖 14。在Locals 標簽頁,會自動顯示局部變量的名稱和數(shù)值。在C 語言程序的函數(shù)中,每一對花括號“”內定義變量都是局部變量,能夠自動顯示。在“Watch ”標簽頁內,先用鼠標點
15、擊一次“type F2 to edit”,再按功能鍵“F2”,輸入所要觀察的局部或全局變量的名稱,回車后就能顯示出當前數(shù)值。在“Call Stack ”標簽頁內,可以實時地觀察到堆棧的使用情況。2.3 程序的運行控制Keil C51 能夠實現(xiàn)程序單步和全速運行,具體由工具欄上的按鈕來實現(xiàn):復位按鈕:單擊此圖標,能夠使程序復位,程序將從地址C:0000H 處執(zhí)行。全速運行:單擊此圖標,能夠使程序全速運行。停止運行:該圖標原來是灰色(不可操作),在進入全速運行狀態(tài)后會變成紅色。如果要停下來,則可以按此圖標。單步進入:按此圖標可以實現(xiàn)程序的單步執(zhí)行。在遇到函數(shù)調用時,會跟蹤進入函數(shù)體。單步跳過:單步
16、執(zhí)行,遇到函數(shù)時視作1條指令來執(zhí)行,不會跟蹤進入。單步跳出:在調試C語言程序時,如果希望從某個函數(shù)中提前返回,則可以按此圖標。執(zhí)行到光標 :用鼠標單擊某條可執(zhí)行的代碼(深灰色標記的程序行)。然后按此圖標,則程序開始全速執(zhí)行,當遇到光標所在的行時,會自動停下來。如果單擊不可執(zhí)行的程序行(有淺灰色標記),試圖讓程序執(zhí)行到該行,是不允許的,“”圖標也會立即變成灰色,不讓操作。設置/清除斷點 :Keil C51支持斷點設置功能。單擊需要設置斷點的行,再單擊此圖標,我們會看到該行被一個紅色的小方塊標記。當程序全速運行時遇到斷點,便會自動停下來。Keil C51允許在同一個程序里設置多個斷點。清除某個斷點的方法是,將光標停在該行上,再按一次“ ”圖標。另外一種設置/清除斷點的快捷方法是,用鼠標在目標程序行的空白處雙擊,不妨試一試。清除所有斷點 :如果設置了多個斷點,想一并清除,則可以按此圖標。圖15 外圍設備中的P1 和T0 對話框2.4 外圍設備訪
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 立邦水包水多彩石施工方案
- 活動二《游戲設計顯身手》(教學設計)-2023-2024學年三年級上冊綜合實踐活動滬科黔科版
- 2024-2025學年高中政治第一課社會主義從空想到科學從理論到實踐的發(fā)展1原始社會的解體和階級社會的演進練習含解析部編版必修1
- 2024-2025學年高中物理第一章靜電場第8節(jié)電容器的電容課時訓練含解析新人教版選修3-1
- 10竹節(jié)人(教學設計)-2024-2025學年統(tǒng)編版語文六年級上冊
- Project1(教學設計)-2024-2025學年譯林版(三起)英語六年級上冊
- 粵教版 信息技術 必修 3.1.2日常文本信息的加工與表達教學設計
- 家庭經(jīng)濟困難學生認定工作實施細則
- 運白菜教學設計-2024-2025學年三年級上冊數(shù)學北師大版
- 第一章第一節(jié)《認識智能機器人》教學設計 2023-2024學年粵教版(2007)初中信息技術七年級上冊
- 學前兒童表演游戲的組織與指導(學前兒童游戲課件)
- 中小學教師校園安全培訓
- 2024年北京法院聘用制審判輔助人員招聘筆試參考題庫附帶答案詳解
- 建筑用真空陶瓷微珠絕熱系統(tǒng)應用技術規(guī)程
- (高清版)DZT 0276.13-2015 巖石物理力學性質試驗規(guī)程 第13部分:巖石比熱試驗
- (高清版)DZT 0214-2020 礦產(chǎn)地質勘查規(guī)范 銅、鉛、鋅、銀、鎳、鉬
- (高清版)DZT 0017-2023 工程地質鉆探規(guī)程
- 華為狼性培訓課件
- 江蘇省初中美術學業(yè)水平考試參考復習題庫(含答案)
- 短視頻運營實戰(zhàn):抖音短視頻運營
- 設備維保的關鍵績效指標與評估
評論
0/150
提交評論