




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章基于KEIL軟件的設計入門本章內容3.1KEIL軟件的使用3.1.1KeiluVision4工程文件的建立3.1.2KeiluVision4工程的詳細設置3.1.3工程編譯、連接3.1.4調試方法3.2ISP在線燒錄3.3實例程序解析3.3.1reg52.h及其他頭文件3.3.2C語言中注釋的寫法3.3.3main()主函數的寫法3.1KEIL軟件的使用3.1.1KeiluVision4工程文件的建立1、建立工程文件在項目開發中,并不是僅有一個源程序就行了,為了管理和使用方法,有了Keil使用工程(Project)這一概念,下面介紹如何新建工程。第1步,選擇Project下的NewuVision4Project菜單,出現一個對話框。選擇放置工程的路徑,然后給工程取個名稱,例如1,不需要擴展名,點擊保存。第2步,選擇你正在使用的芯片,先是廠家,然后是型號假設使用AT89S52時選擇Atmel→AT89S52,選好芯片后點擊確定按鈕。3、使用菜單File/New或者點擊工具樣的新建文件按鈕,即可在項目窗的右側打開一個新的文本編緝窗口,在該窗口中輸入源程序:4、保存該文件,注意必須加上展名(匯編語言源程用.ASM或A51為擴展名,如果是C語言用.c),這里假定將文件保存為流水燈.c。需要說明的是,源文件就是一般的文本文件,可以使用任意文本編輯。5、窗口左測出現如下所示工程目錄。新建工程至此完成。此時的工程是一個空的工程,里面什么文件也沒有,需要手動把剛才編寫好的源程序加入,點擊SourceGroup1后鼠標右鍵,出現一個下拉菜單,如下圖所示,選中AddFilestoGroup‘SourceGroup1’,出現一個對話框,要求尋找源文件。找到剛在保存的流水燈.c雙擊將文件加入項目。點擊SourceGroup1前的加號,會發現流水燈.c文件已在其中。雙擊文件名,即可打開該源程序。3.1.2KeiluVision4工程的詳細設置Target1右擊選擇OptionsforTarget'target1'或者使用菜單Project/Optionfortarget'target1'即出現對工程設置的對話框。這個對話框可謂非常復雜,共有8個頁面,要全部搞清可不容易,好在絕大部份設置項取默認值就行了1.Target選項卡Xtal后面的數值是晶振頻率值,默認值是所選目標CPU的最高可用頻率值,對于我們所選的AT89S52而言是24M,該值與最終產生的目標代碼無關MemoryModel用于設置RAM使用情況,Small是所有變量都在單片機的內部RAM中;Compact是可以使用一頁外部擴展RAM;Larget則是可以使用全部外部的擴展RAM。CodeModel用于設置ROM空間的使用,Small模式,只用低于2K的程序空間;Compact模式,單個函數的代碼量不能超過2K,整個程序可以使用64K程序空間;Larget模式,可用全部64K空間。Useon-chipROM選擇項,確認是否僅使用片內ROM2.OutPut選項卡CreatHexfile用于生成可執行代碼文件(可以用編程器寫入單片機芯片的HEX格式文件,文件的擴展名為.HEX),默認情況下該項未被選中,如果要寫片做硬件實驗,就必須選中該項,這一點是初學者易疏忽的。3.Listing選項卡在匯編或編譯完成后將產生(*.lst)的列表文件,在連接完成后也將產生(*.m51)的列表文件,該頁用于對列表文件的內容和形式進行細致的調節,其中比較常用的選項是CCompileListing下的AssambleCode項,選中該項可以在列表文件中生成C語言源程序所對應的匯編代碼。4.C51選項卡用于對Keil的C51編譯器的編譯過程進行控制,CodeOptimization組,該組中Level是優化等級,C51在對源程序進行編譯時,可以對代碼多至9級優化,默認使用第8級,一般不必修改,如果在編譯中出現一些問題,可以降低優化級別試一試。3.1.3工程編譯、連接在設置好工程后,即可進行編譯、連接。Project/Buildtarget,先對該文件進行編譯,然后再連接以產生目標代碼;從左到右分別是:編譯、編譯連接、全部重建、停止編譯和對工程進行設置。選擇圖標或Debug/Start/StopDebugSessio
或Ctrl+F5,開始進行軟件調試。編譯過程中的信息將出現在輸出窗口中的Build頁中,如果源程序中有語法錯誤,會有錯誤報告出現,雙擊該行,可以定位到出錯的位置,對源程序反復修改之后,最終會得到如下圖所示的結果,提示獲得了名為Text1.hex的文件,該文件即可被編程器讀入并寫到芯片中,同時還產生了一些其它相關的文件,可被用于Keil的仿真與調試,這時可以進入下一步調試的工作。3.1.4調試方法選擇菜單Debug->Start/StopDebugSession進入軟件調試環境,顯示界面會有明顯的變化,并且多出寄存器監視窗口、內存監視窗口、變量監視窗口等,并彈出調試工具條,我們再次將它列出來,如圖3.16所示。1.寄存器窗口點擊View菜單,打開寄存器監視窗口Registerswindow,用于監視寄存器R0~R7的變化,并提供監視SP堆棧指針、PC程序計數器指針、PSW程序狀態字的變化。2.觀察窗口
點擊快捷按鈕,彈出觀察窗口,它主要用于監視變量值的變化,
3.反匯編窗口點擊
快捷按鈕,彈出反匯編窗口,它主要顯示的是C語言代碼被編譯過后的匯編代碼,如圖所示4.外圍設備窗口點擊菜單【Periherals】,選擇相應的選項將會彈出以下的窗口,如圖3.20~圖3.23所示。硬件調試方法(1)硬件電路如果有發二極管的話,可以在代碼中加入點亮發光二極管,用于驗證代碼是否執行到此處。比如,調用某個函數時,是否調用成功,可以在進入函數的開頭,加入點亮發光二極管。(2)電路如果有數碼管的話,可以在代碼中加入數碼管顯示0—9,用于驗證,某一變量的輸出值,是否和預期的一樣。(3)添加斷點:如果用匯編語言的話,可以在程序中,匯編語言加入SJMP$,程序運行的此處就停止了,用于驗證某一段代碼是否和預期的一樣。3.2ISP在線燒錄第一步:芯片型號的選擇。單片機背面有型號的標注,選擇相對應的型號第二步:COM選擇,版本不一的STC-IS不能夠自己掃描COM的,請打開電腦設備管理器--端口號進行查看,選擇相對應的COM口。第三步:打開您所需要的下載到單片機的hex文件第四步:點擊下載。會出現如下圖提示:正在檢測單片機,然后板子重新打開電源上電,重新上電后會出現如下提示等待握手之后,會出現操作成功的提示,如下圖。這個時候說明hex文件已經下載到單片機中,正在運行了。3.3實例程序解析reg52.h及其他頭文件從上面代碼可以看出,該頭文件定義了52單片機內部所有的功能寄存器,用到了sfr和sbit兩個關鍵字,C51通常還有reg51.h、math.h、intrins.h、absacc.h、stdio.h、stdlib.h、ctype.h等頭文件。其中reg51.h和reg52.h頭文件一樣,都是定義特殊功能寄存器和位寄存器的,它們中大部分內容是一樣的,52單片機比51單片機多一個定時器T2,因此,reg52.h中就比reg51.h中多了幾行定義T2寄存器的內容。math.h是定義數學運算的,求方根、正余弦、絕對值等,該頭文件中包含各種數學運算函數,當我們需要使用時可以直接調用它的內部函數。intrins.h是固有函數。absacc.h訪問特殊功能寄存器的。stdio.h動態內存分配函數。stdlib.h標準庫文件函數。3.3.2C語言中注釋的寫法在C語言中,注釋有兩種寫法:(1)//......,兩個斜杠后面跟著的為注釋語句。這種寫法只能注釋一行,當換行時,又必須在新行上重新寫兩個斜扛。(2)/*...*/,斜扛與星號結合使用,這種寫法可以注釋任意行,即斜扛星號與星號斜扛之間的所有文字都作為注釋。如:#defineucharunsignedchar//定義無符號字符#defineuintunsignedint//定義無符號整數uinti;//定義一個無符號整型變量uchartemp;//定義無符號字符型變量3.3.3main()主函數的寫法格式:voidmain()注意:后面沒有分號。特點:無返回值,無參數。任何一個單片機C程序有且僅有一個main函數,它是整個程序開始執行的入口。即在一個函數中,所有的代碼都寫在這個函數的兩個大括號內,每條語句結束后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高檔汽車抵押擔保服務合同
- 財務審計機構保密協議及勞動合同模板
- 環保項目采購合同簽訂與生態修復效果評估標準
- 基于AI的智慧城市建設信息顧問業智能化服務研究-洞察闡釋
- 餐飲行業勞動合同范本(含員工培訓協議)
- 輸入文件在智能交通應用-洞察闡釋
- 餐飲企業品牌授權及運營管理合同
- 生態保護與修復項目現場調研合同書樣本
- 車輛廣告位租賃與廣告投放效果監測合同
- 車庫車位租賃權轉讓與資產管理合同范本
- TCI 263-2024 水上裝配式鋼結構棧橋(平臺)施工技術規程
- 質量部運行卓越績效體系
- XXX燃氣公司門站投產試運行方案
- 甲狀腺結節射頻消融術后護理
- 種植牙沙龍策劃方案
- 大眾安徽測評題庫
- 中醫培訓課件:《穴位埋線減肥》
- 深度學習及其應用-復旦大學中國大學mooc課后章節答案期末考試題庫2023年
- 產品出廠檢驗報告
- 華師大版八年級數學下冊知識點
- 高中通用技術大單元項目式教學實踐研究 論文
評論
0/150
提交評論