單片機開發(fā)與仿真軟件keilc51的使用_第1頁
單片機開發(fā)與仿真軟件keilc51的使用_第2頁
單片機開發(fā)與仿真軟件keilc51的使用_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、單片機開發(fā)與仿真軟件Keil C51的使用、Keil C51 操作入門Keil C51 簡介Keil C51是德國知名軟件公司Keil (現(xiàn)已并入ARM公司)開發(fā)的基于8051內(nèi)核 的微控制器軟件開發(fā)平臺,是目前開發(fā) 8051內(nèi)核單片機的主流工具。Keil 51支持匯 編語言、C語言等各種開發(fā)語言。其中,uVision2集成開發(fā)環(huán)境包含項目管理、源代碼 編輯和強大的程序調(diào)試環(huán)境。uVision2調(diào)試器是一個強大的全特性調(diào)試器,允許用戶 在P(機上完全模擬目標(biāo)程序、指令集和片內(nèi)外圍功能。實驗所用的是Keil C51評估版。Keil C51 的啟動雙擊桌面上的“ Keil uVision2 ”圖標(biāo)

2、,啟動Keil C51程序,啟動界面如圖1所示。圖1 Keil C51 的啟動界面建立第1個Keil C51 程序Keil C51是一個功能很強大的軟件,但是使用起來并不復(fù)雜?,F(xiàn)在就通過建立一 個簡單的LED(發(fā)光二極管)閃爍發(fā)光的實例來初步掌握 Keil C51的基本用法。硬件電 路參見圖2,單片機I/O輸出低電平可點亮LED圖2 LED閃爍發(fā)光電路 新建工程。執(zhí)行Keil C51 軟件的菜單“ Project | N _ew Project”,彈出一個名 為“ Create NewProject ”的對話框。先選擇一個合適的文件夾準(zhǔn)備來存放工程文 件,比如“ E:LedFlash”,其中“

3、 LedFlash”是新建的文件夾。建議:今后每新建一個工程都要在適當(dāng)?shù)拇疟P位置新建一個文件夾用來保存工程文件,以方便管理,并養(yǎng)成良好的習(xí)慣。最后,為工程取名為“LedFlash ”,并保存。參見圖3。圖3 新建Keil C51 工程選擇CPU緊接著,Keil C51提示選擇CPU器件。8051內(nèi)核單片機最早是由鼎鼎 大名的In tel 公司發(fā)明的,后來其他廠商如 Philips 、Atmel、Winbond等先后 推出其兼容產(chǎn)品,并在 8051的基礎(chǔ)上擴展了許多增強功能。在這里可以選擇Philips 的第1個器件“ 80/87C51”,該器件與In tel的8051完全兼容。參見圖 4。圖4

4、選擇CPU 接下來彈出一個如圖5所示的對話框。該對話框提示是否要把標(biāo)準(zhǔn) 8051的啟動代碼添加到工程中去。Keil C51既支持C語言編程也支持匯編語言編程。如果打算 用匯編語言寫程序,則應(yīng)當(dāng)選擇“否(N) ”。如果打算用C語言寫程序,一般也選 擇“否(N) ”,但是,如果用到了某些增強功能需要初始化配置時,則可以選擇“是(Y) ”。在這里,我們選擇“否(N) ”,即不添加啟動代碼。圖5選擇是否要添加啟動代碼至此,一個空的Keil C51工程建立完畢。 執(zhí)行菜單“ File | New” ,出現(xiàn)一個名為“ Text n”(其中n表示序號)的文檔。 接著執(zhí)行菜單“ File | S _ave”

5、,彈出一個名為“ Save As”的對話框。將文件名改 為“”,然后保存,參見圖6。注意:擴展名“ .c ”不可省略。圖6保存新建的源程序文件 添加源程序文件到工程中?,F(xiàn)在,一個空的源程序文件“”已經(jīng)建立,但是這個 文件與剛才新建的工程之間并沒有什么內(nèi)在聯(lián)系。我們需要把它添加到工程中去。 單擊Keil C51軟件左邊項目工作窗口“ Target 1 ”上的“ + ”,將其展開。然后 右擊“Source Group 1”文件夾,會彈出如圖7所示的選擇菜單。單擊其中的“ AddFiles to Group 'Source Group 1' ”項,將彈出如圖8所示的對話框。 先選擇文

6、件類型為“ C Source file (*.c)”,這時,對話框內(nèi)將出現(xiàn)剛才保存過的“”。單擊文件:再按一次“ Add'按鈕(請不要多次點擊“ Add'按鈕), 最后按“ Close”按鈕。這時,源程序文件“”已經(jīng)出現(xiàn)在項目工作窗口的“ Source Group 1 ”文件夾內(nèi),可以單擊左邊的“ + ”展開后查看。圖7準(zhǔn)備添加源程序文件到工程中圖8向工程中添加源程序文件現(xiàn)在開始輸入源程序。先最大化“”源程序窗口,然后請按以下程序清單輸入程序 代碼。程序清單:LED 閃爍發(fā)光程序/*程序名稱:LED閃爍發(fā)光硬件接法:控制LED,低電平點亮運行效果:LED亮200ms,滅800m

7、s,反復(fù)循環(huán)*/#in elude <>就表示程序沒有問題了(至少是在語法上不存在問題了)。如果存在錯誤或警告, 則仔細檢查程序是否與程序清單一致。修改后,再編譯,直到通過為止。 編譯后的結(jié)果會生成In tel HEX 格式的程序文件“”。該文件可以被專門的 芯片燒寫工具載入并最終燒錄到具體的芯片中。芯片安裝到自己的電路板上, 通電,就可以運行里面的程序了。還有一類叫做“ISP”( In SystemProgrammi ng )的下載方法,也能夠把程序文件燒錄到芯片內(nèi),但是采用的是 串行在線方式,芯片不必從電路板上取下。ISP方式編程速度較慢但操作要方 便些。Philips 的多款

8、8051內(nèi)核單片機都能很好的支持ISP下載功能,比如 P89V51RB2、P89V51RD2等等。新建A51匯編工程Keil C51軟件也支持A51匯編編程。建立 A51工程的操作步驟與建立 C51工程基本相同,但有兩個要點請注意:新建的源程序文件名要以” .A51 ”或“.ASM作為后綴。 A51源程序添加到工程中時,文件類型要選擇“ Asm Source file(*s*; *.src;*.a*) ”。其它操作步驟都跟建立C51工程相同。二、在Keil C51 下調(diào)試程序Keil C51的調(diào)試功能非常強大,現(xiàn)在仍然以LED閃爍發(fā)光程序為例,來具體了解 如何進行仿真操作。進入仿真狀態(tài)如果程序

9、編譯通過,就可以仿真了。在仿真之前,有一項參數(shù)最好配置一下, 仍然按“ ”圖標(biāo)進入編譯環(huán)境設(shè)置,找到“ Xtal (MHz) ”項,填入。最后點 擊“確定”。進入仿真狀態(tài)很簡單,直接點擊工具欄紅色的“”圖標(biāo)。認識各個仿真窗口圖10 Keil C51 源程序窗口1. 源程序窗口Keil C51調(diào)試界面的中間是源程序窗口,參見圖10。黃色箭頭“ ”所指為當(dāng)前 即將執(zhí)行但還沒有執(zhí)行的代碼。以深灰色標(biāo)記的程序行是可以執(zhí)行的代碼(當(dāng)然,在 調(diào)試過程中未必一定要去執(zhí)行)。以淺灰色標(biāo)記的程序行不可作為代碼來執(zhí)行,它們 是注釋、空行、標(biāo)號或ROM數(shù)據(jù)表。以綠色標(biāo)記的程序行表示曾經(jīng)執(zhí)行過的代碼。2. 寄存器窗口

10、圖11 Keil C51 寄存器窗口Keil C51調(diào)試界面的左邊是寄存器窗口,參見圖11 o 8051的工作寄存器(R曠 R7)和系統(tǒng)寄存器(a、b、sp、dptr、PC psw)都列出來了。Value欄顯示的是寄 存器的當(dāng)前數(shù)值。如果在調(diào)試過程中某個寄存器的值有變化, 則會用藍色的背景標(biāo)記。 單擊psw寄存器左邊的“ + ”,展開后還可以看到其每一位的情況。3. 匯編窗口單擊工具欄的“ ”圖標(biāo),源程序窗口會自動切換成匯編窗口,參見圖 12。在匯編 窗口里,我們可以看到每條指令的存儲地址和編碼等信息。再次單擊“ ”,回到源 程序窗口。4. 存儲器窗口單擊工具欄的“ ”圖標(biāo),將顯示出存儲器窗口

11、,參見圖 13。8051 單片機的存儲 器分為多個不同的邏輯空間。如果要觀察代碼存儲器的內(nèi)容,就在地址欄 “Address: ”內(nèi)輸入“ C: 地址”,例如: C:0080H 。同理,觀察內(nèi)部數(shù)據(jù)存儲器輸 入“I:地址”,觀察外部數(shù)據(jù)存儲器輸入“ X:地址”。拖動存儲器窗口右邊的滾動條 可觀察其它存儲單元。存儲器窗口有“ Memory #1Memory #4 ”共4個觀察子窗, 可以用來分別觀察代碼存儲器、內(nèi)部數(shù)據(jù)存儲器和外部數(shù)據(jù)存儲器。存儲器的內(nèi)容是 可以修改的。用鼠標(biāo)右擊打算要修改的存儲單元,選擇“ Modify Memoryat”項, 彈出修改對話框,可以隨意修改存儲單元的內(nèi)容。圖12

12、Keil C51 匯編窗口圖13 Keil C51 存儲器窗口圖14 Keil C51 變量觀察和堆棧窗口5、變量觀察和堆棧窗口單擊工具欄的“”圖標(biāo),將顯示變量觀察和堆棧窗口(Watch & Call StackWindow),參見圖 14。在 Locals 標(biāo)簽頁,會自動顯示局部變量的名稱和數(shù)值。在 C 語言程序的函數(shù)中, 每一對花括號“ ”內(nèi)定義變量都是局部變量,能夠自動顯示。在“ Watch ”標(biāo)簽頁內(nèi),先用鼠標(biāo)點擊一次“ type F2 to edit ”,再按功能鍵“ F2”,輸入所要觀察的局部或全局變量的名稱,回車后就能顯示出當(dāng)前數(shù)值。 在“ Call Stack ”標(biāo)簽頁

13、內(nèi),可以實時地觀察到堆棧的使用情況。程序的運行控制Keil C51能夠?qū)崿F(xiàn)程序單步和全速運行,具體由工具欄上的按鈕來實現(xiàn):復(fù)位按鈕:單擊此圖標(biāo),能夠使程序復(fù)位,程序?qū)牡刂?C:OOOOH處執(zhí)行。全速運行:單擊此圖標(biāo),能夠使程序全速運行。停止運行:該圖標(biāo)原來是灰色(不可操作),在進入全速運行狀態(tài)后會變成 紅色。如果要停下來,則可以按此圖標(biāo)。單步進入:按此圖標(biāo)可以實現(xiàn)程序的單步執(zhí)行。 在遇到函數(shù)調(diào)用時,會跟蹤進 入函數(shù)體。單步跳過:單步執(zhí)行,遇到函數(shù)時視作1條指令來執(zhí)行,不會跟蹤進入。單步跳出:在調(diào)試C語言程序時,如果希望從某個函數(shù)中提前返回,則可以按 此圖標(biāo)。執(zhí)行到光標(biāo):用鼠標(biāo)單擊某條可執(zhí)行的

14、代碼(深灰色標(biāo)記的程序行)。然后 按此圖標(biāo),貝U程序開始全速執(zhí)行,當(dāng)遇到光標(biāo)所在的行時,會自動停下來。女口 果單擊不可執(zhí)行的程序行(有淺灰色標(biāo)記),試圖讓程序執(zhí)行到該行,是不允 許的,“”圖標(biāo)也會立即變成灰色,不讓操作。設(shè)置/清除斷點:Keil C51支持斷點設(shè)置功能。單擊需要設(shè)置斷點的行,再 單擊此圖標(biāo),我們會看到該行被一個紅色的小方塊標(biāo)記。當(dāng)程序全速運行時遇 到斷點,便會自動停下來。Keil C51允許在同一個程序里設(shè)置多個斷點。清除 某個斷點的方法是,將光標(biāo)停在該行上,再按一次“”圖標(biāo)。另外一種設(shè)置/清除斷點的快捷方法是,用鼠標(biāo)在目標(biāo)程序行的空白處雙擊,不妨試一試。清除所有斷點:如果設(shè)置了多個斷點,想一并清除,則可以按此圖標(biāo)。圖15 外圍設(shè)備中的P1和TO對話框外圍設(shè)備訪問Keil C51的一大特色是在仿真調(diào)試時支持對外圍設(shè)備的訪問。單擊菜單“ Periphera

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論