找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7714|回復: 25
打印 上一主題 下一主題
收起左側(cè)

單片機編程軟件Keil使用步驟詳解

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1124457 發(fā)表于 2024-6-9 23:15 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
1、編輯狀態(tài)的操作界面主要由5部分組成:最上面的菜單欄、菜單欄下面的工具欄、左邊的工程管理窗口、中間的編輯窗口、下面的輸出信息窗口。


二、操作步驟:

1、首先我們要養(yǎng)成一個習慣:最好先建立一個空文件夾,把您的工程文件放到里面,以避免和其他文件混合。比如:E:\code\exam

2、  單擊桌面上的,打開keil。


3、建立項目(工程):

(1)新建立工程(Project -> New uVision Project),如圖示:


(2)選擇工程要保存的路徑,輸入并保存工程文件名。

Keil的一個工程里通常含有很多小文件。為了方便管理,通常我們將一個工程放在一個獨立文件夾下,比如保存到exam1文件夾,工程文件的名字為exam1,如圖所示,然后單擊【保存】按鈕。工程建立后,此工程名變?yōu)?exam1.uv2。

(3)選擇芯片型號

保存之后出現(xiàn)如下對話框,在這個對話框要求選擇目標CPU (即你所用單片機芯片的型號)。


Keil C51幾乎支持所有的51內(nèi)核的單片機,我們選擇 Atmel 公司的 AT89C52 (根據(jù)具體設計選)芯片。點擊 ATMEL 前面的“+”號,展開該層,點擊其中的 AT89C52,如下圖所示,然后再點擊“OK”按鈕,完成選擇 MCU 型號。

在完成選擇MCU 型號后,軟件會提示我們是否要復制一個源文件到這個工程中,這里我們選擇“否”,因為我要自己添加一個C語言或者匯編語言源文件,如下圖所示。

在執(zhí)行上一步后,就能在如下圖工程窗口的文件頁中,出現(xiàn)了“Target 1”,如下圖,前面有“+”號,點擊“+”號展開,可以看到下一層的“Source Group1”,這時的工程還是一個空的工程,里面什么文件也沒有,到這里一個基礎(chǔ)的工程就完成了,但需要使用還不夠,還需要下面的步驟。


4、源文件的建立:

(1)新建:使用菜單“File->New”,或者點擊工具欄的新建文件快捷按鈕,就可以在項目窗口的右側(cè)打開一個新的文本編緝窗口。

此時,在編輯窗口中光標閃爍,等待你輸入。

(2)輸入:在下面空白區(qū)別寫入或復制一個完整的C程序::

(3)保存:使用菜單“File->save”,或者點擊工具欄的快捷按鈕。

注意:

1)一定要選擇保存在建立工程時建立的文件夾下,這樣有利于設計者查找該文件,也有利于管理。

2)為了好管理文件一般源文件名和工程名一致(也可以不一樣),文件后綴名為“.asm 或.c”,其中“.asm”代表建立的是匯編語言源文件,“.c”代表建立的是C語言源文件。


5、將源文件添加到工程中:

建立好的工程和建立好的程序源文件其實是兩個相互獨立,一個單片機工程是要將源文件和工程聯(lián)系到一起的。

(1)點擊軟件界面工程窗口左上角的“Source Group1”使其反白顯示,然后,點擊鼠標右鍵,出現(xiàn)一個下拉菜單,選中其中的“Add file to Group Source Group1”,如圖所示。

在執(zhí)行上面的步驟后會出現(xiàn)一個對話框,如下圖所示,要求尋找源文件,選中文件,單擊“Add“。

注意:

1)該對話框下面的“文件類型”默認為 C source file(*.c),也就是以 C 為擴展名的文件。

2)注意,在文件加入項目后,該對話框并不消失,等待繼續(xù)加入其它文件,但初學時常會誤認為操作沒有成功而再次雙擊同一文件,這時會出現(xiàn)如下圖所示的對話框,提示你所選文件已在列表中(有的沒有這個窗口,不用管,直接單擊“close”即可)。


然后點擊“Close”即可返回主界面,返回后,點擊“SourceGroup 1”前的加號,會發(fā)現(xiàn) exam1.c 文件已在其中。雙擊文件名exam1.c,即打開該源程序。

6、配置工程

配置工程對于初學者來說,大部分內(nèi)容只需要默認即可,這里只講述幾個常見的配置,能滿足基本的功能。

之前工程建立好,之后還要對工程進行進一步的設置,以滿足要求。

(1)點擊左上邊的Project窗口的  Target 1,然后使用菜單“Project->Option for target‘target1’”(工程目標選項),如下圖所示,也可以按快捷鍵“Alt+F7”來完成。

在進行上面的操作后就會出現(xiàn)對工程設置的對話框,這個對話框可謂非常復雜,共有8 個頁面,要全部搞清可不容易,好在絕大部份設置項取默認值就行了,如圖所示。

1)Target選項:  設置晶振:12MHZ

2)Output選項:

勾選上【Project -> Options for Target -> Output】“Create HEX File”即可。

7、編譯、連接:

    1)選擇菜單  Project->Build target,對當前工程進行連接,如果當前文件已修改,軟件會先對該文件進行編譯,然后再連接以產(chǎn)生目標代碼;如果選擇  Rebuild All target files  將會對當前工程中的所有文件重新進行編譯然后再連接,確保最終生產(chǎn)的目標代碼是最新的,而“Translate”?  .項則僅對該文件進行編譯,不進行連接,

2)以上操作也可以通過工具欄按鈕直接進行。下圖是有關(guān)編譯、設置的工具欄按鈕,從左到右分別是:編譯、編譯連接、全部重建、停止編譯和對工程進行設置。

編譯當前文件(單個)                  Ctrl + F7

編譯目標文件(修改過的)  并生成應用程序供單片機直接下載           F7

編譯所有目標文件(重新編譯)  并生成應用程序供單片機直接下載        無

3)編譯過程中的信息將出現(xiàn)在如下的輸出窗口中的Build頁中,如果源程序中有語法錯誤,會有錯誤文檔出現(xiàn),雙擊該行,可以定位到出錯的位置,對源程序反復修改之后,最終會得到如下圖所示的結(jié)果(提示獲得了名為exam1.hex  的文件),該文件即可被編程器讀入并寫到芯片中,同時還產(chǎn)生了一些其它相關(guān)的文件,可被用于  Keil  的仿真與調(diào)試,這時可以進入下一步調(diào)試的工作。

8、調(diào)試

1)對工程成功地進行匯編、連接以后,按 Ctrl+F5 或者使用菜單Debug->Start/Stop Debug Session”, 進入調(diào)試狀態(tài)。

進入調(diào)試狀態(tài)后,界面與編緝狀態(tài)相比有明顯的變化,Debug 菜單項中原來不能用的命令現(xiàn)在已可以使用了,工具欄會多出一個用于運行和調(diào)試的工具條,如下圖所示, Debug 菜上的大部份命令可以在此找到對應的快捷按鈕,從左到右依次是復位、運行、暫停、單步、過程單步、執(zhí)行完當前子程序、運行到當前行、下一狀態(tài)、打開跟蹤、觀察跟蹤、反匯編窗口、觀察窗口、代碼作用范圍分析、1#串行窗口、內(nèi)存窗口、性能分析、工具按鈕等命令。

復位:將程序復位到主函數(shù)的最開始處,準備重新運行程序;

全速運行:運行程序時中間不停止。

停止全速運行:全速運行程序時激活該按鈕,用來停止正全速運行的程序。

進入子函數(shù)內(nèi)部。

單步執(zhí)行代碼:它不會進入子函數(shù)內(nèi)部,可直接跳過函數(shù)。

跳出當前進入的函數(shù):只有進入子函數(shù)內(nèi)部該按鈕才被激活。

程序直接運行至當前光標所在行。

顯示/隱藏編譯窗口:可以查看每句C語言編譯后所對應的匯編代碼。

顯示/隱藏變量觀察窗口:可以查看各個變量值的變化狀態(tài)

大家不妨把這些按鈕一個個都單擊試試看,只有親自操作過了記憶才會深刻。

1使用快捷鍵F11可以單步執(zhí)行程序,每按一次 F11,即執(zhí)行該箭頭所指程序行,然后箭頭指向下一行,逐行調(diào)試。

注意1:使用F11 可以單步執(zhí)行程序,使用F10 可以以過程單步形式執(zhí)行命令,所謂過程單步,是指將高級語言中的函數(shù)作為一個語句來全速執(zhí)行。

注意2:單步執(zhí)行與全速運行。

全速執(zhí)行:指一行程序執(zhí)行完以后緊接著執(zhí)行下一行程序,中間不停止,這樣程序執(zhí)行的速度很快,并可以看到該段程序執(zhí)行的總體效果,即最終結(jié)果正確還是錯誤,但如果程序有錯,則難以確認錯誤出現(xiàn)在哪些程序行。

單步執(zhí)行:每次執(zhí)行一行程序,執(zhí)行完該行程序以后即停止,等待命令執(zhí)行下一行程序,此時可以觀察該行程序執(zhí)行完以后得到的結(jié)果,是否與我們寫該行程序所想要得到的結(jié)果相同,借此可以找到程序中問題所在。程序調(diào)試中,這兩種運行方式都要用到。

觀察端口情況:

單擊Peripherals ----I/O-Ports---Port1菜單,在打開的小框里通過調(diào)試觀察端口變化情況。

   


2單擊Debug----Reset CPU可以復位。

3停止調(diào)試:

再次單擊Debug->Start/Stop Debug Session,即可終止調(diào)試。


三、工程詳細設置(可以不看)

工程建立好以后,還要對工程進行進一步的設置,以滿足要求。

首先點擊左上邊的 Project窗口的  Target 1,然后使用菜單“Project->Option for target‘target1’”,如下圖所示,也可以按快捷鍵“Alt+F7”來完成。

在進行上面的操作后就會出現(xiàn)對工程設置的對話框,這個對話框可謂非常復雜,共有  8 個頁面,要全部搞清可不容易,好在絕大部份設置項取默認值就行了,如圖所示。

1、Target選項:

1)Xta:后面的數(shù)值是晶振頻率值,默認值是所選目標  CPU的最高可用頻率值,對于我們所選的AT89C51  而言是  24M,該數(shù)值與最終產(chǎn)生的目標代碼無關(guān),僅用于軟件模擬調(diào)試時顯示程序執(zhí)行時間。正確設置該數(shù)值可使顯示時間與實際所用時間一致,一般將其設置成與你的硬件所用晶振頻率相同,如果沒必要了解程序執(zhí)行的時間,也可以不設。

2)Memory Mode:用于設置  RAM  使用情況,有三個選擇項,Smal l:variables in DATA  是所有變量都在單片機的內(nèi)部  RAM 中;Compact:variables in PDATA  是可以使用一頁外部擴展 RAM,而  Larget:variables in XDATA則是可以使用全部外部的擴展  RAM,如圖所示。一般都是采用默認方式,也就是Smal l:variables in DATA方式。

3)Code Rom Size:  用于設置  ROM  空間的使用,同樣也有三個選擇項,即  Small:program 2kor less模式,只用低于2K 的程序空間;Compact:2k functions,64k program  模式,單個函數(shù)的代碼量不能超過2K,整個程序可以使用  64K 程序空間;Larget:64k program 模式,可用全部 64K 空間,如圖所示。一般都是采用默認方式,也就是Larget:64k program 模式。

4)Operating  system:   項是操作系統(tǒng)選擇,Keil提供了兩種操作系統(tǒng):RTX-51  Tiny  和 RTR-51 Full,關(guān)于操作系統(tǒng)是另外一個很大的話題了,通常我們不使用任何操作系統(tǒng),即使用該項的默認值:None(不使用任何操作系統(tǒng)),如圖所示。

5)Use on-chip ROM  選擇項,確認是否僅使用片內(nèi)  ROM(注意:選中該項并不會影響最終生成的目標代碼量);  Off-Chip  Code memory  用以確定系統(tǒng)擴展  ROM  的地址范圍,Off-Chip Xdata memory  組用于確定系統(tǒng)擴展  RAM  的地址范圍,這些選擇項必須根據(jù)所用硬件來決定,由于該例是單片應用,未進行任何擴展,所以均不重新選擇,按默認值設置,如圖所示。

2、Output選項:

OutPut頁面設置對話框,如圖所示,這里面也有多個選擇項,

1)        Creat Hex file用于生成可執(zhí)行代碼文件(可以用編程器寫入單片機芯片的  HEX  格式文件,文件的擴展名為.HEX),默認情況下該項未被選中,如果要寫片做硬件實驗,就必須選中該項,這一點是初學者易疏忽的,在此特別提醒注意。

2)        Debug  Information  將會產(chǎn)生調(diào)試信息,這些信息用于調(diào)試,如果需要對程序進行調(diào)試,應當選中該項。

3)        Browse Information  是產(chǎn)生瀏覽信息,該信息可以用菜單  view->Browse 來查看,這里取默認值。

4)        按鈕“Select Folder for Objects…”是用來選擇最終的目標文件所在的文件夾,默認是與工程文件在同一個文件夾中。

5)   Name of Executable:用于指定最終生成的目標文件的名字,默認與工程的名字相同,這兩項一般不需要更改。



菜單:
2、文件(File)菜單
              文件菜單下都是常見的項,不再給出對應的工具按鈕。
              1)New              
2)Open
              3)Close                  
4)Save
              5)Save as…            
              6)Device Database:維護器件數(shù)據(jù)庫
              7)Print Setup…:設置打印機
              8)Print                    
9)Exit
3、編輯(Edit)菜單
1)Undo            
2)Redo:恢復上次的撤銷
3)Cut        
4)Copy
5)Paste
6)Indent Select Text:縮進一個制表符位
7)Unindent Select Text左移一個制表符位
8)Toggle Bookmark:在當前行置書簽
9)Goto Next Bookmark移光標到下一書簽
10)Goto Previous Bookmark:移光標到上一個書簽
11)Clear All Bookmark:清除當前文件中所有的書簽
12)Find…
13)Replace…:查找與替換
14)Find in Files…:在多個文件中查找字符串
15)Goto Matching Brace:尋找匹配的各種括號
4、查看(View)菜單
1)Status Bar:顯示或隱藏狀態(tài)欄
2)File Toolbar:顯示或隱藏文件工具欄
3)Build Toolbar:顯示或隱藏編譯工具欄
4)Debug Toolbar:顯示或隱藏調(diào)試工具欄
5)Project Windows:顯示或隱藏工程窗口
6)Output Windows:顯示或隱藏輸出窗口
7)Source Browser:打開源文件瀏覽器窗口
8)Disassembly Windows:顯示或隱藏反匯編窗口
9)Watch & Call Stack Windows:顯示或隱藏觀察和堆棧窗口
10)Memory Windows:顯示或隱藏存儲器窗口
11)Code Coverage Windows:顯示或隱藏代碼覆蓋窗口
12)Performance Analyzer Windows:顯示或隱藏性能分析窗口
13)Symbol Windows:顯示或隱藏符號變量窗口
14)Serial Windows #1:顯示或隱藏串行口窗口1
15)Serial Windows #2:顯示或隱藏串行口窗口2
16)Toolbox:顯示或隱藏工具箱
17)Periodic Windows Update:在調(diào)試運行程序時,周期刷新調(diào)試窗口
18)Workbook Mode:顯示或隱藏工作簿窗口的標簽
19)Option…:設置顏色、字體、快捷鍵和編輯器選項
5、工程(Project)菜單
1)New Project…: 創(chuàng)建一個新工程
2)Import μVision2 Project…:導入工程文件
3)Open Project:打開一個已有工程
4)Close Project:關(guān)閉當前工程
5)Components Environment and Books:設置工具書、包含文件和庫文件的路徑
6)Select Device for Target:從器件庫中選擇一種CPU
7)Remove Groups…:從工程中刪去組或文件
8)Option for Target…:設置對象、組或文件的工具選項,設置當前目標選項,選擇當前目標
9)Build Target:編譯修改過的文件并生成應用
10)Rebuild Target:重新編譯所有的文件并生成應用
11)Translate…:編譯當前文件
12)Stop Build:停止當前的編譯過程
6、調(diào)試(Debug)菜單
1)Start/Stop Debugging:啟動/停止調(diào)試模式
2)Go:全速運行
3)Step:跟蹤運行
4)Step Over:單步運行
5)Step out of current function:一步執(zhí)行完當前函數(shù)并返回
6)Run to Cursor line:一步運行到當前光標處
7)Stop Running:停止運行
8)Breakpointing…:打開斷點對話框
9)Insert/Remove Breakpoint:在當前行設置/清除斷點
10)Enable/Disable Breakpoint:使能/禁止當前行的斷點
11)Disable All Breakpoints:禁止所有斷點
12)Kill  All Breakpoints:清除所有斷點
13)Show Next Statement:顯示下一條指令
14)Enable/Disable Trace Recording:使能/禁止跟蹤記錄
15)View Trace Records:                                        顯示執(zhí)行過的指令
16)Memory Map…:                                              打開存儲空間配置對話框
17)Performance Analyzer…:                                打開性能分析設置窗口
18)Inline Assembly…:對某一行重新匯編,且可以修改匯編代碼
19)Function Editor…:                                            編輯調(diào)試函數(shù)和調(diào)試配置文件
7、片內(nèi)外設(Peripheral)菜單
1)Reset CPU:復位CPU
2)Interrupt:設置/觀察中斷(觸發(fā)方式、優(yōu)先級、使能等)
3)I/O Ports:設置/觀察各個I/O口
4)Serial:設置/觀察串行口
5)Timer:設置/觀察各個定時器/計數(shù)器
6)A/D Converter:設置/觀察A/D轉(zhuǎn)換器
7)D/A Converter:設置/觀察D/A轉(zhuǎn)換器
              這一部分的內(nèi)容,與選擇的CPU有關(guān)。
8、工具(Tools)菜單
1)Setup PC-Lint…:配置PC-Lint
2)Lint:用PC-Lint處理當前編輯的文件
3)Lint all C Source Files:用PC-Lint處理當前項目中所有的C文件
4)Setup Easy-Case…:配置Siemens 的Easy-Case
5)Star/Stop Easy-Case:啟動或停止Easy-Case
6)Show File(Line):用Easy-Case處理當前編輯的文件
7)Customize Tools Menu…:將用戶程序加入工具菜單。
9、軟件版本控制系統(tǒng)(SVCS)菜單 軟件版本控制系統(tǒng)菜單只有一項:
Configure Version Control…:配置軟件版本控制系統(tǒng)命令
10、視窗(Windows)菜單
1)Cascade:以相互重疊方式排列文件窗口
2)Tile Horizontally:以不重疊方式水平排列文件窗口
3)Tile Vertically:以不重疊方式垂直排列文件窗口
4)Arrange Icons:在窗口的下方排列圖標
5)Split:將當前窗口分成幾個窗格
6)Close All:關(guān)閉所有窗口
11、幫助(Help)菜單
1)μVision Help:打開μVision在線幫助
2)Open Books Window:打開電子圖書窗口
3)Simulated Peripherals for…:顯示片內(nèi)外設信息
4)Internet Support Knowledegebase:打開互聯(lián)網(wǎng)支持的知識庫
5)Contact Support:聯(lián)系方式支持
6)Check for Update:檢查更新
7)About μVision:顯示μVision的版本號和許可證信息

以上圖文的Word格式文檔下載(內(nèi)容和本網(wǎng)頁上的一模一樣,方便大家保存):
單片機實驗1---keil步驟.docx (1.95 MB, 下載次數(shù): 69)
LED流水燈.docx (13 KB, 下載次數(shù): 33)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏21 分享淘帖 頂3 踩
回復

使用道具 舉報

沙發(fā)
ID:149799 發(fā)表于 2024-6-18 14:36 | 只看該作者
51黑有你更精彩,謝謝樓主分享,更適合新手學習,這是要走的步驟。
回復

使用道具 舉報

板凳
ID:237471 發(fā)表于 2024-6-18 15:58 | 只看該作者
謝謝,收藏了
回復

使用道具 舉報

地板
ID:170693 發(fā)表于 2024-6-22 14:37 | 只看該作者
謝謝樓主分享,使用步驟,菜單翻譯等等,方便初學者。
回復

使用道具 舉報

5#
ID:1126656 發(fā)表于 2024-6-23 23:12 | 只看該作者
很詳細!果斷收藏
回復

使用道具 舉報

6#
ID:1127864 發(fā)表于 2024-7-2 10:26 | 只看該作者
非常詳細,感謝了!
回復

使用道具 舉報

7#
ID:1128105 發(fā)表于 2024-7-10 15:15 | 只看該作者
非常詳細,感謝,收藏了!
回復

使用道具 舉報

8#
ID:1129140 發(fā)表于 2024-7-17 11:42 | 只看該作者
剛學習,很不錯,收獲很多
回復

使用道具 舉報

9#
ID:1130053 發(fā)表于 2024-8-21 09:00 | 只看該作者
謝謝分享,學習學習
回復

使用道具 舉報

10#
ID:1110792 發(fā)表于 2024-8-21 15:49 | 只看該作者
詳細,不錯。
回復

使用道具 舉報

11#
ID:1131325 發(fā)表于 2024-9-4 08:47 | 只看該作者
謝謝樓主分享,更適合新手學習。
回復

使用道具 舉報

12#
ID:270856 發(fā)表于 2024-9-20 13:36 | 只看該作者
真不錯,有幫助!
回復

使用道具 舉報

13#
ID:1133049 發(fā)表于 2024-10-11 09:48 | 只看該作者
謝謝樓主分享,很詳細的使用說明,新手學習了。
回復

使用道具 舉報

14#
ID:1133498 發(fā)表于 2024-10-12 22:50 | 只看該作者
惆悵啊
回復

使用道具 舉報

15#
ID:1134045 發(fā)表于 2024-10-19 11:12 | 只看該作者
好耶,支持大佬,學到很多
回復

使用道具 舉報

16#
ID:237471 發(fā)表于 2024-10-19 14:37 | 只看該作者
感謝作者,無私奉獻,謝謝
回復

使用道具 舉報

17#
ID:123917 發(fā)表于 2024-10-19 22:47 | 只看該作者
非常感謝,辛苦了
回復

使用道具 舉報

18#
ID:974131 發(fā)表于 2024-10-22 21:12 | 只看該作者
感謝作者做出的無私奉獻,非常感謝!
回復

使用道具 舉報

19#
ID:1134561 發(fā)表于 2024-10-24 13:41 | 只看該作者
好耶,支持大佬,學到很多
回復

使用道具 舉報

20#
ID:350682 發(fā)表于 2024-10-28 11:25 | 只看該作者
為什么我的Peripherals是空的,啥也沒有
回復

使用道具 舉報

21#
ID:903188 發(fā)表于 2024-11-2 21:31 | 只看該作者
謝謝分享,跟上學學的一樣
回復

使用道具 舉報

22#
ID:652804 發(fā)表于 2024-11-5 20:42 | 只看該作者
很詳細!收藏了。
回復

使用道具 舉報

23#
ID:1134669 發(fā)表于 2024-12-16 23:19 | 只看該作者

謝謝樓主分享
回復

使用道具 舉報

24#
ID:92810 發(fā)表于 2025-1-12 00:14 | 只看該作者
51黑有你更精彩,謝謝樓主分享,更適合新手學習,這是要走的步驟。
回復

使用道具 舉報

25#
ID:665661 發(fā)表于 2025-3-5 17:14 | 只看該作者

51黑有你更精彩,謝謝樓主分享,更適合新手學習,這是要走的步驟
回復

使用道具 舉報

26#
ID:665661 發(fā)表于 2025-3-5 17:15 | 只看該作者

51黑有你更精彩,謝謝樓主分享,更適合新手學習
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表