第2章 單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)環(huán)境_第1頁(yè)
第2章 單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)環(huán)境_第2頁(yè)
第2章 單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)環(huán)境_第3頁(yè)
第2章 單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)環(huán)境_第4頁(yè)
第2章 單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)環(huán)境_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章

單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)環(huán)境2023/9/291內(nèi)容

單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具2.1KeilC51高級(jí)語(yǔ)言集成開(kāi)發(fā)環(huán)境2.2基于Proteus的單片機(jī)系統(tǒng)仿真2.32023/9/292與通用微機(jī)不同,單片機(jī)本身沒(méi)有自主開(kāi)發(fā)能力,必須借助于開(kāi)發(fā)工具編制、調(diào)試、下載程序或?qū)ζ骷幊?。開(kāi)發(fā)工具的優(yōu)劣,直接影響開(kāi)發(fā)工作效率。

80C51單片機(jī)開(kāi)發(fā)環(huán)境,目前最常用的是KeilC51集成開(kāi)發(fā)環(huán)境—μVision3IDE(IntegratedDevelopmentEnvironment)和支持微處理器芯片仿真的ProteusVSM軟件。

2023/9/2932.1單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具單片機(jī)應(yīng)用系統(tǒng)和一般的計(jì)算機(jī)應(yīng)用系統(tǒng)一樣,也是由硬件和軟件所組成。對(duì)較復(fù)雜的單片機(jī)應(yīng)用系統(tǒng),硬件除了單片機(jī)外,還包括外部擴(kuò)展的存儲(chǔ)器、輸入輸出設(shè)備、控制設(shè)備、執(zhí)行部件等,軟件則是各種控制程序。只有硬件和軟件緊密相結(jié)合,協(xié)調(diào)一致,才能組成高性能的單片機(jī)應(yīng)用系統(tǒng)。在系統(tǒng)的開(kāi)發(fā)與研制過(guò)程中,軟硬件的功能總是在不斷地調(diào)整,以便相互適應(yīng),相互配合,達(dá)到最佳的性能價(jià)格比。

2023/9/2942.1單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具由于單片機(jī)本身不具有開(kāi)發(fā)功能,因此必須借助開(kāi)發(fā)工具來(lái)排除開(kāi)發(fā)過(guò)程中的各種硬件故障和程序錯(cuò)誤。

一個(gè)單片機(jī)應(yīng)用系統(tǒng)從提出任務(wù)到正式投入運(yùn)行的過(guò)程稱為開(kāi)發(fā)過(guò)程。單片機(jī)開(kāi)發(fā)過(guò)程中所用的各種設(shè)備稱為開(kāi)發(fā)工具。

2023/9/2952.1單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具圖2-1單片機(jī)仿真系統(tǒng)連接示意圖

單片機(jī)的開(kāi)發(fā)工具通常是一個(gè)特殊的計(jì)算機(jī)系統(tǒng),也稱單片機(jī)仿真系統(tǒng)。

2023/9/296圖2-1單片機(jī)仿真系統(tǒng)連接示意圖單片機(jī)仿真系統(tǒng)硬件包括在線仿真器、編程器、仿真插頭等部件,軟件包括匯編和調(diào)試程序等。

仿真器通過(guò)串行口與PC機(jī)相連,用戶可以利用仿真軟件在PC機(jī)上編輯、修改源程序,然后通過(guò)匯編軟件生成目標(biāo)代碼,傳送給仿真器,由仿真器通過(guò)仿真插頭傳送到用戶系統(tǒng),之后就可以進(jìn)行調(diào)試了。2023/9/297仿真、調(diào)試完的程序,需要借助編程器寫(xiě)到單片機(jī)內(nèi)部或外接的程序存儲(chǔ)器中。在開(kāi)發(fā)過(guò)程中,程序每改動(dòng)一次都要先調(diào)試,調(diào)試通過(guò)后,用編程器寫(xiě)到單片機(jī)中去,再將單片機(jī)插入用戶系統(tǒng)的單片機(jī)插座,整個(gè)過(guò)程操作比較麻煩。隨著單片機(jī)技術(shù)的發(fā)展,出現(xiàn)了可以在線編程的單片機(jī)。在線編程目前有兩種方法:在系統(tǒng)編程(In-SystemProgramming,簡(jiǎn)稱ISP)和在應(yīng)用編程(In-ApplicationProgramming,簡(jiǎn)稱IAP)。

2023/9/298

ISP是指用戶通過(guò)PC機(jī)的軟件,把已編譯好的用戶代碼通過(guò)串行口直接寫(xiě)入用戶系統(tǒng)的單片機(jī),不管單片機(jī)片內(nèi)的存儲(chǔ)器是空白的還是被編程過(guò),都可以用ISP方式擦除或再編程,不需要從電路板上取下器件。IAP指MCU可以在系統(tǒng)中獲取新代碼并對(duì)自己重新編程,即可用程序來(lái)改變程序。IAP的實(shí)現(xiàn)相對(duì)要復(fù)雜一些,在實(shí)現(xiàn)IAP功能時(shí),單片機(jī)內(nèi)部一定要有兩塊存儲(chǔ)區(qū),一塊被稱為BOOT區(qū),另外一塊被稱為存儲(chǔ)區(qū)。單片機(jī)上電運(yùn)行在BOOT區(qū),如果外部改寫(xiě)程序的條件滿足,則對(duì)存儲(chǔ)區(qū)的程序進(jìn)行改寫(xiě)操作。如果外部改寫(xiě)程序的條件不滿足,程序指針跳到存儲(chǔ)區(qū),開(kāi)始執(zhí)行放在存儲(chǔ)區(qū)的程序,這樣便實(shí)現(xiàn)了IAP功能。2023/9/2992.2

KeilC51集成開(kāi)發(fā)環(huán)境-μVision3IDE2.2.1KeilμVision3IDE的主要特性1.集成開(kāi)發(fā)環(huán)境2.C51編譯器和A51匯編器3.LIB51庫(kù)管理器4.BL51鏈接器/定位器5.μVision3軟件調(diào)試器6.μVision3IDE硬件調(diào)試器7.RTX51實(shí)時(shí)操作系統(tǒng)可以完成工程建立、管理、編譯連接、目標(biāo)代碼的生成、軟件仿真、硬件仿真等完整的開(kāi)發(fā)流程。2023/9/29102.2.2μVision3IDE集成開(kāi)發(fā)環(huán)境簡(jiǎn)介2023/9/2911工程管理窗口有5個(gè)選項(xiàng)卡:Files:文件選項(xiàng)卡。Regs:寄存器選項(xiàng)卡。Books:手冊(cè)選項(xiàng)卡。Functions:工程中的函數(shù)選項(xiàng)卡。Templates:模板選項(xiàng)卡。2023/9/29122.2.3μVision3IDE的使用80C51單片機(jī)系列有數(shù)百個(gè)不同的品種,這些CPU的特性不完全相同,用μVision3IDE開(kāi)發(fā)時(shí):

(1)要設(shè)定針對(duì)哪一種單片機(jī)進(jìn)行開(kāi)發(fā);

(2)指定對(duì)源程序的編譯、鏈接參數(shù);

(3)指定調(diào)試方式;(4)指定列表文件的格式等。因此在項(xiàng)目開(kāi)發(fā)中,并不是僅有一個(gè)源程序就行了,為了管理和使用方便,Kei1軟件使用工程(project)這一概念,將所需沒(méi)置的參數(shù)和所有文件都加在一個(gè)工程中,只能對(duì)工程而不能對(duì)單一的源程序進(jìn)行編譯、鏈接等操作。2023/9/2913具體步驟:1.工程文件的建立

2.工程的設(shè)置3.編譯、連接4.調(diào)試程序2023/9/29141.工程文件的建立

(1)進(jìn)入keilμVision3IDE集成開(kāi)發(fā)環(huán)境后,選擇“Project→NewμVisionProject...”選項(xiàng),出現(xiàn)一個(gè)對(duì)話框,選擇工程要保存的路徑,輸入工程文件名。2023/9/2915(2)點(diǎn)擊“保存”按鈕后,出現(xiàn)的對(duì)話框要求選擇目標(biāo)CPU(即所用芯片的型號(hào)),Keil軟件的關(guān)鍵是程序代碼的編寫(xiě),此處選擇Atmel公司的89C52芯片。2023/9/2916然后再點(diǎn)擊“確定”按鈕,彈出將80C51初始化代碼復(fù)制到項(xiàng)目中的詢問(wèn)窗口,如圖2-5所示。該功能便于用戶修改啟動(dòng)代碼??梢赃x擇“否”,通常也可以選擇“是”,只要不對(duì)文件代碼進(jìn)行修改,就不會(huì)對(duì)工程產(chǎn)生不良影響。2023/9/2917(3)單擊“是”按鈕,出現(xiàn)圖2-6所示的窗口。2023/9/2918(4)使用菜單“File→New”或者點(diǎn)擊工具欄的新建文件按鈕,新建文件后窗口界面如圖2-7所示。2023/9/2919(4)單擊保存,窗口界面如圖2-8所示,輸入要保存的文件名。注意,如果用C語(yǔ)言,則擴(kuò)展名必須為.c;如果用匯編語(yǔ)言,則擴(kuò)展名必須為.asm。這里的文件名不一定要和工程名相同。2023/9/2920(5)回到編輯界面,單擊【Target1】前面的“+”號(hào),然后在【SourceGroup1】選項(xiàng)上,單擊右鍵,彈出如圖2-9所示的菜單。2023/9/2921然后選擇【AddFilestoGroup‘SourceGroup1’】菜單項(xiàng),對(duì)話框如圖2-10所示。2023/9/2922選中【exam_1.c】,單擊【Add】按鈕,再單擊【Close】按鈕,將文件加入工程后的屏幕窗口如圖2-11所示。2023/9/2923在圖2-11中,我們?cè)賳螕糇髠?cè)【SourseGroup1】前面的“+”號(hào)。這時(shí)我們注意到【SourceGroup1】文件夾中多了一個(gè)子項(xiàng)【exam_1.c】,當(dāng)一個(gè)工程中有多個(gè)代碼文件時(shí),都要加在這個(gè)文件夾下,這時(shí)源代碼文件就與工程關(guān)聯(lián)起來(lái)了。2023/9/2924(6)回到圖2-11中的編輯窗口,在該窗口中輸入1.1.5小節(jié)中點(diǎn)亮一個(gè)發(fā)光二極管的C語(yǔ)言源程序。2023/9/2925通過(guò)以上(1)~(6)步我們學(xué)習(xí)了如何在Keil編譯環(huán)境下建立一個(gè)工程,下面進(jìn)入到第二步,對(duì)工程進(jìn)行設(shè)置。2023/9/29262.工程的設(shè)置首先點(diǎn)擊圖2-12中左邊ProjectWorkspace窗口的Target1,然后使用菜單“Project→OptionforTarget`Targetl‘”,即出現(xiàn)對(duì)工程設(shè)置的選項(xiàng)卡,如圖2-13所示。2023/9/2927(1)Target(目標(biāo))選項(xiàng)卡如果是單片應(yīng)用,未進(jìn)行任何擴(kuò)展,就不需重新選擇,按默認(rèn)值設(shè)置。(2)Output(輸出)選項(xiàng)卡Output選項(xiàng)卡里面有多個(gè)選擇項(xiàng)。其中

CreatHexfile:用于生成可執(zhí)行代碼文件,即可以用編程器寫(xiě)入單片機(jī)芯片的HEX格式文件,文件的擴(kuò)展名為.HEX,默認(rèn)情況下該項(xiàng)未被選中,如果要做硬件實(shí)驗(yàn),就必須選中該項(xiàng),這一點(diǎn)是初學(xué)者易疏忽的,在此特別提醒注意。2023/9/2928(3)Listing(列表)選項(xiàng)卡該選項(xiàng)卡用于調(diào)整生成的列表文件選項(xiàng)。(4)C51選項(xiàng)卡C51選項(xiàng)卡用于對(duì)Keil的C51編譯器的編譯過(guò)程進(jìn)行控制,其中比較常用的是“CodeOptimization”(代碼最優(yōu)化)組,該組中Level是優(yōu)化等級(jí),C51在對(duì)源程序進(jìn)行編譯時(shí),可以對(duì)代碼多至9級(jí)優(yōu)化,默認(rèn)使用第8級(jí),一般不必修改,2023/9/2929(5)Debug(調(diào)試)選項(xiàng)卡這里有兩類仿真形式可選:UseSimulator和Use:KeilMonitor-51Driver,前一種是純軟件仿真,后一種是帶有Monitor-51目標(biāo)仿真器的仿真。這里選擇UseSimulator。2023/9/29303.編譯、連接在設(shè)置好工程后,即可進(jìn)行編譯、連接。有關(guān)編譯、鏈接、工程設(shè)置的工具條如圖2-19所示。2023/9/2931最終得到如圖2-20所示結(jié)果,它報(bào)告本次對(duì)exam_1.c文件進(jìn)行了編譯,報(bào)告內(nèi)部RAM使用量9字節(jié),外內(nèi)部RAM使用量0字節(jié)、鏈接后生成的程序文件代碼量19字節(jié),提示生成了HEX格式的文件,在這一過(guò)程中還會(huì)生成一些其他文件。產(chǎn)生的目標(biāo)文件用于Keil的仿真與調(diào)試,此時(shí)可進(jìn)入下一步調(diào)試工作。2023/9/29324.調(diào)試程序在對(duì)工程成功地進(jìn)行匯編、連接以后,按Ctrl+F5或者使用菜單Debug(調(diào)試)→Start/StopDebugSession(開(kāi)始/停止調(diào)試)即可進(jìn)入調(diào)試狀態(tài)。Keil內(nèi)建了一個(gè)仿真CPU用來(lái)模擬執(zhí)行程序,該仿真CPU功能強(qiáng)大,可以在沒(méi)有硬件和仿真機(jī)的情況下進(jìn)行程序的調(diào)試,下面通過(guò)例2-1學(xué)習(xí)該模擬調(diào)試功能。2023/9/2933例在圖1-2硬件不變的基礎(chǔ)上,編寫(xiě)并調(diào)試讓二極管以間隔1s的時(shí)間亮滅閃爍的程序。#include<reg52.h>//52系列單片機(jī)頭文件sbitled1=P1^0;//聲明單片機(jī)P1口的第一位unsignedinti,j;//聲明無(wú)符號(hào)整型變量i,jvoidmain()//主函數(shù){while(1)//大循環(huán) { led1=0;//點(diǎn)亮發(fā)光二極管D1 for(i=1000;i>0;i--)//延時(shí) for(j=110;j>0;j--); led1=1;//關(guān)閉發(fā)光二極管D1 for(i=1000;i>0;i--)//延時(shí) for(j=110;j>0;j--); }}2023/9/2934用Keil軟件新建一個(gè)工程項(xiàng)目exam_2,將源程序輸入,文件取名為exam_2.c,將其加入工程exam_2中。編譯、鏈接后選擇Debug→Start/StopDebugSession,出現(xiàn)調(diào)試界面如圖2-21。2023/9/2935在圖2-23中單擊【Port1】選擇項(xiàng),彈出圖2-24所示的對(duì)話框。圖2-24顯示出來(lái)的是軟件模擬出的單片機(jī)P1口8位口線的狀態(tài),單片機(jī)上電后I/O口全為1,即十六進(jìn)制的0xFF。變量觀察和斷點(diǎn)設(shè)置詳細(xì)操作請(qǐng)大家參考教材。2023/9/29362.3基于Proteus的單片機(jī)系統(tǒng)仿真英國(guó)LabcenterElectronics公司推出的Proteus軟件,可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真,用戶甚至可以實(shí)時(shí)采用諸如LED/LCD、鍵盤(pán)、RS232終端等動(dòng)態(tài)外設(shè)模型來(lái)對(duì)設(shè)計(jì)進(jìn)行交互仿真。在教學(xué)過(guò)程中,只要有一臺(tái)計(jì)算機(jī),再運(yùn)行用Proteus軟件搭建的單片機(jī)應(yīng)用系統(tǒng)仿真模型就可以十分逼真地模擬出實(shí)驗(yàn)現(xiàn)象,因此在單片機(jī)的教學(xué)中,Proteus軟件的作用十分顯著。2023/9/2937安裝完P(guān)roteus后,運(yùn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論