Keil5作為嵌入式開發的一款利器,我們掌握它的一些基本操作是必要的,熟悉它的基本操作后可以提升我們的開發效率,這是我們作為開發者所期望的。如果你還沒有安裝Keil5,請參考我的隨筆:Keil5安裝。 下面,我就簡單介紹一下它的一些使用方法!
一、新建工程
為了方便后面介紹Keil5的使用,我們首先先創建一個工程。當然,創建工程也屬於基本使用的一部分,創建工程成功與否關系到后邊程序的編譯及運行是否順利等相關問題。所以,在這里,我們以51的工程為例來創建一個工程。(提示:作為初學者,創建工程的步驟容易遺忘,建議多次創建來熟練創建過程)
1.首先先在自己想要存放工程文件的地方(例如:D盤)新建一個文件夾並為其更名,比如我想存放在電腦桌面上,那么我就在桌面上新建一個名為LED
的文件夾,如下圖:
2.打開Keil5軟件,點擊菜單欄Project
->New uVision Project...
,出現Create New Project
窗口,如下圖:
3.在Create New Project
窗口選擇我們創建的LED
文件夾,並為工程起名為LED
,再點保存
,如下圖:
4.保存后會彈出Select Device for Target ‘Target’1...
窗口,在這個窗口我們要選擇我們所要開發的芯片。我們可以在搜索框輸入AT89C51
來找到這個芯片,選中它點擊OK
,如下圖:
5.點擊OK后會彈出uVision
窗口,這里的意思是我們是否要復制STARTUP.A51
文件到工程文件夾下並添加該文件到工程中,理論上我們選是和否夠可以,但為了學習我們選擇是
,也方便我們日后查看它,如下圖:
6.點擊“是”之后,我們的工程可以說就創建好了,但其實還沒完全好,因為我們還沒添加自己的代碼源文件,如下圖:(可以看到我們上一步添加的STARTUP.A51
文件已經進入到工程中了)
7.下一步我們就要添加自己的代碼源文件了,點擊菜單欄File
->New...
或者直接點File
下邊的小白塊圖標就會出現一個Text1
文件,如果你之前創建了多個文件那么也可能是Text2,Text3或者等等;接着,我們點擊工具欄上的保存
圖標,如下圖:
8.點擊保存后會彈出Save As
窗口,可以看到它已經自動索引到了我們的LED文件夾下,如果沒有索引到這里我們也要自己手動選到這里,接着,我們為Text1起名為main.c
后點擊保存
,如下圖:
9.這時,我們的Text1
就變成了main.c
,如下圖:
10.然后,我們需要把我們的main.c
文件添加到工程中,否則編好程序之后編譯會報找不見文件的錯誤,在工程導航欄選中Source Group1
點擊右鍵,選擇Add Existing Files to Group‘Source Group1’...
,如下圖:
11.緊接着會彈出Add Files to Group‘Source Group1’
窗口,我們點擊一下main.c
文件后點Add
,如下圖:
12.這時,我們的main.c文件就出現在了工程目錄下,現在我們就可以編寫相關的程序了,如下圖:
13.創建工程完成后,工程文件夾下的東西如下圖所示:
14.為了檢驗我們的工程是否創建成功,我們寫一個簡單的51程序來編譯一下看看:(注意:在Keil5中編寫程序時,最后一定要有一行空行,不然會報警告,這是這個軟件自己的Bug,我們只需要這樣做就好了)
main.c
#include "reg52.h"
sbit LED1=P2^0; //將P2.0管腳定義為LED1
void main()
{
LED1=0; //LED1端口設置為低電平
while(1)
{
}
}
15.編寫好程序之后,我們就可以來編譯一下它,點擊Build
圖標或者按F7
來編譯,編譯結果如下:(細心的童鞋們可能已經發現,編譯完成之后main.c下邊出現了reg52.h這個文件,如下圖,但這里我們先不講,大家可以自己打開看一下)
這時,我們可以看到程序已經成功編譯,說明我們的工程創建以及程序編寫沒有任何問題。由於本篇在講Keil5的基本使用,所以我們就先不到開發板上運行程序了,之后我們的51入門教程會講,大家可以之后去那里看。
至此,一個51的工程就創建完畢了,如果是其他單片機的開發新建工程方法與之類似,我們只需要掌握其新建工程的思想就可以了。
二、界面介紹及使用:
前邊大量篇幅介紹了新建Keil工程的步驟,但是磨刀不誤砍柴工,接下來我們就正式進入Keil5的界面介紹以及一些操作的方法和技巧。
1.界面介紹:
在界面介紹前還是要啰嗦幾句,我這里只是介紹菜單欄里的內容,其他你在界面上看到的圖標或者窗口我就不介紹了,因為它們全都來自菜單欄下邊的東西,不信可以逐個查看。
- 菜單欄
- 文件(File)菜單
1.New:新建文件 Ctrl+N
2.Open:打開文件 Ctrl+O
3.Close:關閉文件 Ctrl+W
4.Save:保存當前文件 Ctrl+S
5.Save As:文件另存為
6.Save All:保存所有(文件及工程設置)
7.Device DataBase:器件數據庫(信息)
8.License Management:許可證管理
9.Print Setup:打印設置
10.Print:打印 Ctrl+P
11.Print Preview:打印預覽
12.Exit:退出(關閉)軟件 - 編輯(Edit)菜單
1.Undo:撤銷編輯 Ctrl+Z
2.Redo:恢復編輯 Ctrl+Y
3.Cut:剪切 Ctrl+X
4.Copy:復制 Ctrl+C
5.Paste:粘貼 Ctrl+V
6.Navigate Backwards:跳轉到上一步
7.Navigate Forwards:跳轉到下一步
8.Insert/Remove Bookmark:插入/移除書簽
9.Go to Next Bookmark:跳轉到下一個書簽
10.Go to Previous Bookmark:跳轉到上一個書簽
11.Clear All Bookmarks:清除所有標簽
12.Find:查找 Ctrl+F
13.Replace:替換
14.Find in Files:在文件中查找文本
15.Incremental Find:逐個查找文本
16.OutLining:提綱(如顯示函數名稱,隱藏函數體)
17.Advanced:(更多)先進功能
18.Configuration:配置 - 視圖(View)菜單
編輯模式下:
1.Status Bar:狀態欄
2.Toolbars:工具欄
3.Project Window:工程窗口
4.Books Window:書籍窗口
5.Functions Window:函數窗口
6.Templates Window:模板窗口
7.Source Browser Window:源碼瀏覽窗口
8.Build Output Window:編譯信息輸出窗口
9.Error List Window:錯誤列表窗口
10.Find in Files Window:文件查找窗口
調試模式下新增:
11.Command Window:命令顯示窗口
12.Disassembly Window:反匯編窗口
13.Symbols Window:模塊窗口
14.Registers Window:寄存器窗口
15.Call Stack Window:被調用函數堆棧窗口
16.Watch Windows:查看(變量)窗口
17.Memory Windows:內存窗口
18.Serial Windows:串行UART窗口
19.Analysis Windows:邏輯分析儀窗口
20.Trace:跟蹤窗口
21.System Viewer:系統(外圍IO,USART,TIM等)窗口
22.Toolbox Window:工具箱窗口
23.Periodic Window Update:窗口周期更新選擇 - 工程(Project)菜單
1.New μVision Project:新建工程(單工程)
2.New Multi-Project Workspace:新建工作空間
3.Open Project:打開工程
4.Close Project:關閉工程
5.Export:導出(工程)
6.Manage:管理(工程)
7.Select Device for Target:選擇工程目標
8.Remove item:移除目標
9.Options for Target:工程目標選項配置
10.Clean Targets:清除工程
11.Build Target:編譯工程目標
12.Rebuild all Target files:重新編譯所有目標文件
13.Batch Build:分批編譯(多工程編譯)
14.Translate:編譯當前活動文件
15.Stop Build:停止編譯(正在編譯時有效) - 編程(Flash)菜單
1.Download:下載程序 F8
2.Earse:擦除芯片FLASH
3.Configure Flash Tools:配置FLASH工具(打開目標對話框選項) - 調試(Debug)菜單
1.Start/Stop Debug Sesion:開始/停止調試
2.Reset CUP:復位CPU
3.Run:全速運行
4.Stop:停止運行
5.Step:單步調試(進入函數)
6.Step Over:逐步調試(跳過函數)
7.Step Out:跳出調試(跳出函數)
8.Run to Cursor Line:運行到光標處
9.Show Next Statemt:顯示正在執行的代碼行
10.Breakpoints:查看工程中所有的斷點
11.Insert/Remove Breakpoint:插入/移除斷點
12.Enable/Disable Breakpoint:使能/失能斷點
13.Disable All Breakpoint:失能所有斷點
14.Kill All Breakpoint:取消所有斷點
15.OS Support:系統支持(打開子菜單訪問事件查看器和RTX任務和系統信息)
16.Execution Profiling:執行分析
17.Memory Map:內存映射
18.Inline Assembly:內聯匯編
19.Function Editor:函數編輯器
20.Debug Setting:調試設置 - 外設(Peripherals)菜單
該菜單只能在調試模式下使用
1.System Viewer:查看系統外設
2.Core Peripherals:內核外設 - 工具(Tools)菜單
1.Setup PC-Lint:配置PC-Lint
2.Lint:PC-Lint運行在當前編輯器文件
3.Lint all C Source Files:在您的項目中運行PC-Line C源文件
4.Configure Merge Tool:配置合並工具幫助遷移RTE軟件組件文件的特定於應用程序的設置
5.Customize Tools Menu:自定義工具菜單 - 軟件版本控制系統(SVCS)菜單
1.Configure Software Version Control:配置軟件版本控制 - 主窗口(Window)菜單
1.Reset View to Defaults:重置窗口布局(µVision默認的Look&Feel)
2.Split:活動編輯器文件分割成兩個水平或垂直窗格
3.Close All:關閉所有打開的編輯器 - 幫助(Help)菜單
1.µVision Help:打開幫助文檔
2.Open Books Window:打開幫助書籍
3.Simulated Peripherals for object:關於外設仿真信息
4.Contact Support:聯絡支持
5.About µVision:關於
- 文件(File)菜單
2.常用操作方法與技巧:
前邊我們介紹了Keil5的菜單欄,相信大家已經對這個軟件有了一定的了解,那么下面我們就操作起來,去學習一下菜單欄下一些常見選項的使用,但說是常見選項的使用,我在這里也不可能一一列舉,一些簡單的操作比如打開工程、關閉工程大家就自己摸索着來,我這里介紹一些平時不注意或不好上手的操作。
1.Edit->Configuration->Editor
①Encoding設置為Chinese GB2312(Simplified),這樣設置后我們就可以在代碼編輯界面對代碼進行中文注釋了,如果不設置的話軟件默認是Encode in ASNI,如果我們寫了中文注釋就會顯示亂碼。
②C/C++ Files:Tab size設置為4,這樣我們在寫代碼時用tab鍵縮進就變成了4個空格,軟件默認是2個。當然,這個如果自己喜歡2個空格可以不進行設置。
2.Edit->Configuration->Colors & Fonts
在這里我們可以設置界面的字體大小,顯示顏色等等,顏色配比大家自己看着來就好,這不是剛需。這里我只截取了配置代碼字體和大小的配置方法,大家可以將字號設置大一點,字體也可以變變。這里配置字體和字號大小是永久設置,但如果想臨時放大縮小代碼字體可以Ctrl+鼠標滾輪解決。
3.Edit->Configuration->Shortcut Keys
在這里我們可以配置一些軟件功能的快捷鍵,一般也不用,但是如果有需要可以來這里設置。
4.Project->Manage->Project Items...
在這里我們可以管理工程目錄,比如修改工程名,添加群組,添加文件等等。這個選項在51里邊體現不太明顯,但如果是32的話那可能需要頻繁使用。
5.Project->Manage->Pack Installer...
在這里我們可以進行芯片包的安裝,但一般是安裝不上的,因為需要訪問外網。而且C51里邊沒有相關的概念,如果可以訪問外網32可以這樣來安裝芯片包。但如果想導入已經下載好的芯片包尤其下載下來的是壓縮包,可以解壓出來文件夾,在這個界面點File->Import from Folders選中你的芯片包或者文件夾將其導入即可。
6.Project->Manage->Run-Time Environment...
在這里我們可以進行實時文件的添加,但一般針對32開發使用,C51也沒有相關概念。之后會配圖詳細說明,現在暫且不表。
7.Project->Options for Target'Target1'...->Device
在這里我們可以更換工程的芯片,但不推薦使用,原因是不同芯片包背后的庫啊什么的可能不同,會導致你工程崩掉。
8.Project->Options for Target'Target1'...->Output
這個選項下的一些東西是比較重要的,咱們一一來說:①“Select Folder for Objects”選擇Objects文件夾的路徑,下邊存放着一些編譯成的目標文件;②Create Executable下:Debug Information勾選上可以顯示調試信息,Browse Information勾選上可以跳轉到函數或者變量定義的地方,Create HEX File可以在編譯后創建hex文件,用於往單片機上燒程序;③./Objects/xxx.LIB勾選上可以生成自己的庫文件,這個庫文件封裝了多個不同的C文件,需要h文件引導進入;④Creat Batch Files勾選上會生成一個.BAT文件,這個文件是如果你代碼改動一個地方,然后不需要再打開工程直接雙擊運行一下這個腳本文件就可以更新hex文件。
9.Project->Options for Target'Target1'...->Listing
在這里主要說一下“Select Folder for Listings”,選擇Listings文件夾的路徑,這個文件夾下主要是一些由編譯器和連接器輸出的中間文件,可以通過下邊的配置來選擇輸出什么文件。
10.Project->Options for Target'Target1'...->C51
這里主要說一下“Include Paths”,選擇包含頭文件(.h)的路徑,這個在51體現不明顯,如果是32你少包含了頭文件的路徑,那么就會報找不到文件的錯誤。
11.Project->Options for Target'Target1'...->Debug
這個其實看上圖知道可以配置軟件仿真和仿真器仿真就可以了,具體怎么配置學51和52的時候再說。
12.Debug->Start/Stop Debug Session
這個仿真說來話長,都可以再來一篇博客了,所以也是知道它有這么個功能,其他具體他調試方法之后再說。
13.Window->Reset View to Defaults
這個功能就是不管你的窗口亂成什么樣,直接幫你恢復到上圖所示的樣子。
說到這里,我們基本已經將Keil5的介紹和使用都講清楚了,仔細看了這篇博文的童鞋發現我好像在前邊有的東西沒提,挖了好多坑。但不用着急,有時間的話會一一填好,這篇就到這里吧!
本篇完!!!