版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第二章 C與80512.1 8051編程語言2.2 CX51編譯器2.3 KEIL 8051開發(fā)工具2.4 KEIL Cx51 編程實例2.5 Cx51程序結(jié)構(gòu)2013/10/13 L12.1 8051編程語言一、匯編語言二、C語言C語言作為一種非常方便的語言而得到廣泛的支持,C語言程序本身不依賴于機(jī)器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機(jī)中移植過來。C提供了很多數(shù)學(xué)函數(shù)并支持浮點運算,開發(fā)效率高,故可縮短開發(fā)時間,增加程序可讀性和可維護(hù)性。 2013/10/13 L21.對單片機(jī)的指令系統(tǒng)不要求了解,僅要求對8051 的存貯器結(jié)構(gòu)有初步了解;2.寄存器分配、不同存貯器的尋址及數(shù)據(jù)類
2、型等細(xì)節(jié)可由編譯器管理;3.程序有規(guī)范的結(jié)構(gòu),可分成不同的函數(shù),這種方式可使程序結(jié)構(gòu)化;4.具有將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性;5.提供的庫包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力;6.由于具有方便的模塊化編程技術(shù),使已編好程序可容量地植入新程序;C-51與ASM-51相比,有如下優(yōu)點:2013/10/13 L32.2 Cx51編譯器2013/10/13 L42.3 KEIL 8051開發(fā)工具 Keil Software 的8051開發(fā)工具可用于編譯C源碼、匯編源程序、連接和重定位標(biāo)文件和庫文件,創(chuàng)建HEX文件,調(diào)試目標(biāo)程序。uVision2是一個集成開發(fā)環(huán)境它把
3、項目管理源代碼編輯程序調(diào)試等集成到一個功能強(qiáng)大的環(huán)境中。C51是標(biāo)準(zhǔn)優(yōu)化C交叉編譯器。從你的C源代碼產(chǎn)生可重定位的目標(biāo)文件A51宏匯編器。從你的8051匯編源代碼產(chǎn)生可重定位的目標(biāo)文件 2013/10/13 L5LIB51庫管理器。組合你的目標(biāo)文件生成可以被連接器使用的庫文件。OH51目標(biāo)文件到HEX格式的轉(zhuǎn)換器。從絕對目標(biāo)文件創(chuàng)建Intel HEX 格式的文件。RTX-51實時操作系統(tǒng)。簡化了復(fù)雜和對時間要求敏感的軟件項目。BL51連接/重定位器。組合你的由C51和A51產(chǎn)生的可重定位的目標(biāo)文件生成絕對目標(biāo)文件 2013/10/13 L6正式版包括沒有限制的8051工具和全套手冊(含本手冊)
4、正式版套件包含1年的免費技術(shù)支持和產(chǎn)品升級升級通過 提供 。測試版工具包和產(chǎn)品工具包Keil Software把軟件分成兩種類型測試版和正式版測試版包括8051工具的測試版本和本用戶手冊你可以用它們產(chǎn)生目標(biāo)代碼小于2K字節(jié)的應(yīng)用。2013/10/13 L71、 Keil開發(fā)套件 Keil Software提供第一流的8051系列開發(fā)工具,把不同的開發(fā)工具捆綁到不同的開發(fā)包或工具套件。2013/10/13 L8PK51 專業(yè)開發(fā)套件 PK51專業(yè)開發(fā)套件包括了所有專業(yè)開發(fā)人員創(chuàng)建和調(diào)試復(fù)雜8051嵌入式應(yīng)用系統(tǒng)所要用到的一切工具。PK51專業(yè)開發(fā)套件可以針對所有的8051及其派生系列進(jìn)行配置使用
5、 DK51開發(fā)套件 DK51開發(fā)套件是PK51專業(yè)開發(fā)套件的精簡版本。它不包括小型RTX51實時操作系統(tǒng)。此套件可以針對所有的8051及其派生系列進(jìn)行配置使用。 CA51編譯套件 CA51編譯套件是那些需要C編譯器而不需要調(diào)試系統(tǒng)的開發(fā)人員的最好選擇。CA51開發(fā)包僅僅包含uVision2 IDE,uVision2調(diào)試器不包括在內(nèi)。此套件可以針對所有的8051及其派生系列進(jìn)行配置使用 2013/10/13 L9A51匯編套件 A51匯編套件包括一個匯編器和你創(chuàng)建嵌入式應(yīng)用所需要的所有功能此套件可以針對所有的8051及其派生系列進(jìn)行配置使用。 RTX51 實時操作系統(tǒng)FR51 RTX51實時操作
6、系統(tǒng)是一個8051系列MCU的實時內(nèi)核。RTX51 FULL提供RTX51 TINY的所有功能和一些擴(kuò)展功能并且包括CAN通信協(xié)議接口。 2013/10/13 L102、 軟件開發(fā)流程 使用Keil Software工具時你的項目開發(fā)流程和其它軟件開發(fā)項目的流程極其相似。 創(chuàng)建一個項目,從器件庫中選擇目標(biāo)器件,配置工具設(shè)置; 用C語言或匯編語言創(chuàng)建源程序; 用項目管理器構(gòu)造應(yīng)用; 修改源程序中的錯誤; 調(diào)試連接后的應(yīng)用 2013/10/13 L11 一個完整的8051工具集的框圖可以最好地表述此開發(fā)流程。 2013/10/13 L12uVision2 IDE uVision2 集成開發(fā)環(huán)境集成
7、了項目管理器、功能豐富編輯器、選項設(shè)置、生成工具、在線幫助。 利用uVision2創(chuàng)建你的源代碼并把它們組織到一個目標(biāo)應(yīng)用的項目中去。uVision2自動編譯匯編連接嵌入式應(yīng)用。C51編譯器和A51匯編器 由uVision2 IDE創(chuàng)建的源代碼,被C51編譯或A51匯編器生成可重定位的目標(biāo)文件。 Keil C51編譯器完全遵照ANSI C語言標(biāo)準(zhǔn),支持C語言的所有標(biāo)準(zhǔn)特性。另外增加了可以支持8051結(jié)構(gòu)的特性。 Keil A51宏匯編器支持8051及其派生系列的全部指令集。 2013/10/13 L13LIB51 庫管理器 LIB51庫管理器允許你從由編譯器或匯編器生成的目標(biāo)文件創(chuàng)建目標(biāo)庫庫是
8、一種被特別地組織過并在以后可以被連接重用的對象模塊當(dāng)連接器處理一個庫時僅僅那些被使用的目標(biāo)模塊才被真正使用 BL51 連接器/定位器 BL51 連接器/定位器利用從庫中提取的目標(biāo)模塊和由編譯器、匯編器生成的目標(biāo)模塊,創(chuàng)建一個絕對地址的目標(biāo)模塊。一個絕對地址目標(biāo)模塊或文件包含不可重定位的代碼和數(shù)據(jù)。所有的代碼和數(shù)據(jù)被安置在固定的存儲器單元中。此絕對地址目標(biāo)文件可以用來: 寫入EPROM或其它存儲器件 由uVision2調(diào)試器使用來模擬和調(diào)試 由仿真器用來測試程序 2013/10/13 L14uVision2 調(diào)試器 uVision2源代碼級調(diào)試器是快速可靠的程序調(diào)試器。此調(diào)試器包含一個高速模擬器
9、,使用它可以模擬整個8051系統(tǒng),包括片上外圍器件和外部硬件。當(dāng)從器件庫中選擇器件時,這個器件的特性將自動配置 。 uVision2調(diào)試器提供了幾種實際目標(biāo)板上測試程序方法: 安裝MON51目標(biāo)監(jiān)控器到你的目標(biāo)系統(tǒng)并且通過Monitor-51接口下載你的程序; 利用高級的GDIAGDI接口把uVision2調(diào)試器綁定到你的目標(biāo)系統(tǒng) 。2013/10/13 L15Monitor-51 uVision2調(diào)試器支持用Monitor-51進(jìn)行目標(biāo)板調(diào)試。此監(jiān)控程序駐留在你的目標(biāo)板的存儲器里,利用串口和uVision2調(diào)試器進(jìn)行通信。 利用Monitor-51 uVision2調(diào)試器可以對你的目標(biāo)硬件實
10、行源代碼級的調(diào)試。 RTX51實時操作系統(tǒng) RTX51實時操作系統(tǒng)是一個針對8051系列的多任務(wù)核。RTX51實時內(nèi)核從本質(zhì)上簡化了對實時事件反應(yīng)速度要求高的復(fù)雜應(yīng)用系統(tǒng)的設(shè)計、編程和調(diào)試。 RTX51實時內(nèi)核是完全集成到C51編譯器中的從而方便使用任務(wù)描述表和操作系統(tǒng)的連接由BL51連接器/定位器自動控制 。2013/10/13 L163、 安 裝 系統(tǒng)需求 為了取得比較好的運行效果最低的硬件和軟件配置必須滿足: 具有奔騰奔騰II或兼容的處理器的個人計算機(jī) 操作系統(tǒng)為WIN95WIN98WINNT4.0或更高 RAM大于16MB 20MB 的硬盤空余空間 安裝詳細(xì)說明 所有的Keil產(chǎn)品都帶
11、有一個安裝程序。8051開發(fā)工具的安裝步驟如下 插入Keil開發(fā)工具光盤 從CD瀏覽界面選擇安裝軟件 跟隨提示進(jìn)行安裝操作 2013/10/13 L17文件夾組織結(jié)構(gòu) 安裝程序復(fù)制開發(fā)工具到基本目錄的各個子目錄中。默認(rèn)的基本目錄是C:KEIL。下表列出的文件夾結(jié)構(gòu)是包括所有8051開發(fā)工具的全部安裝信息。C:KEILC51ASM 匯編SFR定義文件和模板源程序文件 C:KEILC51BIN 8051工具的執(zhí)行文件 C:KEILC51EXAMPLES 示例應(yīng)用 C:KEILC51RTX51 完全實時操作系統(tǒng)文件 C:KEILC51RTX_TINY 小型實時操作系統(tǒng)文件 C:KEILC51INC
12、C編譯器包含文件 C:KEILC51LIB C編譯器庫文件啟動代碼和常規(guī)I/O資源 C:KEILC51MONITOR 目標(biāo)監(jiān)控文件和用戶硬件的監(jiān)控配置 C:KEILUV2 普通uVision2文件 2013/10/13 L182.4 KEIL Cx5 編程實例#include /* special function register declarations */#include /* prototype declarations for I/O functions */void main (void) #ifndef MONITOR51 SCON = 0 x50;/* SCON: mode
13、1, 8-bit UART, enable rcvr */ TMOD |= 0 x20; /* TMOD: timer 1, mode 2, 8-bit reload*/ TH1 = 221; /* TH1: reload value for 1200 baud 16MHz*/ TR1 = 1; /* TR1: timer 1 run */ TI = 1; /* TI: set TI to send first char of UART */ #endifwhile (1) P1 = 0 x01; /* Toggle P1.0 each time we print */ printf (Hel
14、lo Worldn); /* Print Hello World */ 2013/10/13 L19Keil uvision2 使用簡介2013/10/13 L202.5 Cx51程序結(jié)構(gòu)程序:P1端口輸出#include /單片機(jī)資源描述void main( void )/一個項目只有一/個main主函數(shù)/函數(shù)體開始P1 = 0 x55;/隔一個為高while( 1 ) ; /單片機(jī)空循環(huán)待機(jī)/函數(shù)體結(jié)束2013/10/13 L21C程序的規(guī)范化設(shè)計在單片機(jī)C程序設(shè)計中,項目一般按功能模塊化進(jìn)行結(jié)構(gòu)化設(shè)計。將一個項目劃分為多個功能,每個功能的相關(guān)程序放在一個C程序文檔中,稱之為一個模塊,對應(yīng)
15、的文件名即為模塊名。一個模塊通常由兩個文檔組成,一個為頭文件.h,對模塊中的數(shù)據(jù)結(jié)構(gòu)和函數(shù)原型進(jìn)行描述;另一個則為C文件.c ,對數(shù)據(jù)實例或?qū)ο蠖x,以及函數(shù)算法具體實現(xiàn)。2013/10/13 L22H頭文件的作用作為項目設(shè)計,除了對項目總體功能進(jìn)行詳細(xì)描述外,就是對每個模塊進(jìn)行詳細(xì)定義,也就是給出所有模塊的頭文件。通常H頭文件要定義模塊中各函數(shù)的功能,以及輸入和輸出參數(shù)的要求。模塊的具體實現(xiàn),由項目組成根據(jù)H文件進(jìn)行設(shè)計、編程、調(diào)試完成。為了保密和安全,模塊實現(xiàn)后以可連接文件OBJ、或庫文件LIB的方式提供給項目其他成員使用。2013/10/13 L23H頭文件的基本格式/如下為鍵盤驅(qū)動模塊
16、KeyDriver.H的模型#ifndef_KeyDriver_H_/防重復(fù)引用#define_KeyDriver_H_/此符號唯一/char kbhit( void ); /擊鍵否unsigned char getch( void );/取鍵值/#endif 2013/10/13 L24C程序的基本格式#include /頭文件在系統(tǒng)中#include “KeyDriver.h”/頭文件在項目中char kbhit( void ) /擊鍵否unsigned char getch( void )/取鍵值2013/10/13 L25C程序的書寫要求函數(shù)之間相隔兩個空行函數(shù)內(nèi)功能塊相隔一個空行用TAB調(diào)整結(jié)構(gòu)括號 中的凹進(jìn)函數(shù)內(nèi)if、switch、while、for
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《奶制品培訓(xùn)資料》課件
- 《小王子英文》課件
- 《企業(yè)管理概論》課件
- 2024年雷電頌教案
- 尖子生家長會發(fā)言稿
- 單位管理制度匯編大合集【人員管理篇】十篇
- 單位管理制度合并匯編職工管理
- 單位管理制度分享大全【職員管理篇】
- 單位管理制度范文大合集人力資源管理十篇
- 單位管理制度范例合集【職工管理】十篇
- 中國鋁業(yè)股份有限公司河南分公司鞏義市山川鋁土礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 工商企業(yè)管理畢業(yè)論文范文六篇
- 二十五項反措檢查表優(yōu)質(zhì)資料
- 保密辦主任工作總結(jié)保密辦主任工作總結(jié)八篇
- 新生兒沐浴及撫觸護(hù)理
- 機(jī)械原理課程設(shè)計-壓床機(jī)構(gòu)的設(shè)計
- 教學(xué)案例 英語教學(xué)案例 市賽一等獎
- 四川省2023職教高考英語試題
- JJG 913-2015浮標(biāo)式氧氣吸入器
- GB/T 12190-2006電磁屏蔽室屏蔽效能的測量方法
- 2020年貴州專升本高等數(shù)學(xué)真題及答案
評論
0/150
提交評論