电竞比分网-中国电竞赛事及体育赛事平台

分享

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

 天朗氣清uizw04 2020-05-06

在單片機(jī)的開發(fā)或使用過程中除了掌握必要的硬件外,同樣離不開軟件,只有通過軟件(程序)的執(zhí)行,硬件才能發(fā)揮出具體的作用。機(jī)器如何認(rèn)識我們用各種符號編寫的程序呢?早期我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從使用匯編語言逐漸過渡到使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最為流行的開發(fā)MCS-51系列單片機(jī)軟件。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。Keil軟件對計算機(jī)的硬件資源要求很低,可以說現(xiàn)在市面上的計算機(jī)都能滿足其硬件需求。

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

Keil C51

Keil C51是51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),采用全Windows界面,提供了豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具。生成的目標(biāo)代碼效率非常之高,且生成的匯編代碼緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。相信用過匯編語言后再使用C來開發(fā),體會更加深刻,當(dāng)然如果匯編語言和硬件結(jié)構(gòu)熟練到一定程度,使用匯編語言會更具優(yōu)勢,但對于大部分初學(xué)者而言,Keil C51應(yīng)該是首選。掌握這一軟件的使用對于使用51系列單片機(jī)的愛好者來說是十分必要的,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。

Keil uVison4是普通版本,只能適用于單片機(jī),主要是基于8051系列單片機(jī)的開發(fā)環(huán)境;Keil MDK是擴(kuò)展版本,包含了部分ARM。為基于Cortex-M、Cortex-R4、ARM7、ARM9處理器設(shè)備提供了一個完整的開發(fā)環(huán)境;初學(xué)者建議采用Keil uVison4及更低版本,注意:Keil uVison4分Keil MDK-ARM和Keil C51版本,初學(xué)者應(yīng)安裝Keil C51版的。

關(guān)于Keil軟件的安裝與常用其它軟件安裝的方法類似,安裝按照說明一步一步操作即可,不再贅述。本文主要詳細(xì)講解用Keil uVison4新建一個工程的詳細(xì)過程,相信通過這個教程的學(xué)習(xí),您一定會對使用Keil軟件創(chuàng)建一個新的工程有深入的掌握。

第一步:從桌面找到Keil圖標(biāo),雙擊圖標(biāo)啟動Keil軟件,

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

啟動Keil

會看到如圖所示界面。

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

啟動后的界面

第二步:點(diǎn)擊菜單條中的'Project'并從下拉菜單中選擇'New uVision Project…',

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

新建工程

自動彈出一個項目路徑選擇對話框,(若打開keil軟件時,如果發(fā)現(xiàn)此軟件默認(rèn)打開了一個之前已經(jīng)存在的工程,請先關(guān)閉此工程。點(diǎn)擊上面'Project'選項,在彈出的下拉菜單中選擇'Close Project'即可。)

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

選擇路徑新建文件夾

在彈出的對話框中,選擇即將創(chuàng)建工程的保存路徑和文件夾,若不存在可以用與Window系統(tǒng)一致的方法新建文件夾,如'TEST',并在該文件夾下的對話框文件名處輸入自己為工程起的工程名,如下圖輸入的LCD1602。

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

輸入工程名

第三步:輸入文件名點(diǎn)擊保存后,彈出如圖所示控制器選擇對話框,

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

選擇單片機(jī)類型

在單片機(jī)類型列表中找到并選中'Atmel'下的AT89C52(大家根據(jù)自己控制器型號選擇),右側(cè)區(qū)域給出所選單片機(jī)的硬件資源,

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

單片機(jī)的硬件資源說明

點(diǎn)擊'OK',彈出詢問是否將標(biāo)準(zhǔn)51系列啟動代碼添加到新建工程中的彈窗,因為keil的庫文件里面已經(jīng)有一個默認(rèn)的啟動代碼了,如果你的工程里沒有啟動代碼,keil就會使用庫里的默認(rèn)啟動代碼,如果有,keil就會編譯并使用你的啟動代碼,庫里的啟動代碼會被忽略。(初學(xué)者建議點(diǎn)擊'否即可')

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

選擇是否添加啟動代碼到工程中

第四步:點(diǎn)擊'File'菜單下的'New',新建會看到出來一個名字為'Text1'的文件,

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

新建C文件

再一次點(diǎn)擊上面'File'下拉菜單中 'Save'或點(diǎn)擊工具欄中的'保存',會彈出一個保存的對話框,輸入文件名如'LCD1602MAIN.C'(切記,此處無論你起什么樣的文件名,但后面必須輸入.C!?。。瑔螕?保存',將文件在第二步新建的文件夾目錄下。

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

保存C文件

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

命名.C文件名

此時可以在新建文件中進(jìn)行代碼編寫了,如包含頭文件 #include <Reg52.h>,但要注意,此時文件LCD1602MAIN.C并未與工程建立起聯(lián)系。

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

此時的C文件還未和工程建立聯(lián)系

第五步:將新建的文件添加到工程中,點(diǎn)擊左邊'Porject'選項框里面的'Target 1'前面的'+'號, 在展開的下拉菜單下看到'Source Group 1'。右鍵單擊'Source Group 1'選項, 在下拉菜單中選擇'Add Files to Group 'Source Group 1'...'選項,彈出一個文件選擇對話框,單擊選中剛才新建的.c源文件,然后單擊一次'Add'按鈕,此時雖然對話框沒有關(guān)閉,但是已經(jīng)把.c源文件添加到工程里了,這時只要再點(diǎn)擊一次'Close'按鈕即可把此對話框關(guān)閉(初學(xué)者經(jīng)常以為.c源文件沒有被添加進(jìn)去,還要按'Add'按鈕)。這時發(fā)現(xiàn)左邊的'Source Group 1'前面多了一個'+'號, 單擊此'+'號展開, 發(fā)現(xiàn)下面出現(xiàn)了剛才我們新添加進(jìn)去的.c源文件'LCD1602MAIN.c'。

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

將C文件添加到工程中

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

選擇要添加的文件

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

已將C文件成功添加到工程中

第六步:為了降低編程的疲勞,根據(jù)需要進(jìn)行字體字號設(shè)置,點(diǎn)擊如圖'Edit'菜單最下面的'Configeruration'選項,

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

設(shè)置舒適的字體字號

根據(jù)自己的需要進(jìn)行字體設(shè)置即可,

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

如何設(shè)置字體字號

學(xué)單片機(jī)如何編程?非常詳細(xì)的Keil工程建立全過程講解

一個新的Keil工程建立完畢

至此,一個全新的Keil工程建立完畢,開啟自己的編程之旅吧!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多