單片機(jī)課件第2章與_第1頁(yè)
單片機(jī)課件第2章與_第2頁(yè)
單片機(jī)課件第2章與_第3頁(yè)
單片機(jī)課件第2章與_第4頁(yè)
單片機(jī)課件第2章與_第5頁(yè)
已閱讀5頁(yè),還剩23頁(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)介

1、第二章 C與80512.1 8051編程語(yǔ)言2.2 CX51編譯器2.3 KEIL 8051開(kāi)發(fā)工具2.4 KEIL Cx51 編程實(shí)例2.5 Cx51程序結(jié)構(gòu)2013/10/13 L12.1 8051編程語(yǔ)言一、匯編語(yǔ)言二、C語(yǔ)言C語(yǔ)言作為一種非常方便的語(yǔ)言而得到廣泛的支持,C語(yǔ)言程序本身不依賴于機(jī)器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機(jī)中移植過(guò)來(lái)。C提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開(kāi)發(fā)效率高,故可縮短開(kāi)發(fā)時(shí)間,增加程序可讀性和可維護(hù)性。 2013/10/13 L21.對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)8051 的存貯器結(jié)構(gòu)有初步了解;2.寄存器分配、不同存貯器的尋址及數(shù)據(jù)類

2、型等細(xì)節(jié)可由編譯器管理;3.程序有規(guī)范的結(jié)構(gòu),可分成不同的函數(shù),這種方式可使程序結(jié)構(gòu)化;4.具有將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性;5.提供的庫(kù)包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力;6.由于具有方便的模塊化編程技術(shù),使已編好程序可容量地植入新程序;C-51與ASM-51相比,有如下優(yōu)點(diǎn):2013/10/13 L32.2 Cx51編譯器2013/10/13 L42.3 KEIL 8051開(kāi)發(fā)工具 Keil Software 的8051開(kāi)發(fā)工具可用于編譯C源碼、匯編源程序、連接和重定位標(biāo)文件和庫(kù)文件,創(chuàng)建HEX文件,調(diào)試目標(biāo)程序。uVision2是一個(gè)集成開(kāi)發(fā)環(huán)境它把

3、項(xiàng)目管理源代碼編輯程序調(diào)試等集成到一個(gè)功能強(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庫(kù)管理器。組合你的目標(biāo)文件生成可以被連接器使用的庫(kù)文件。OH51目標(biāo)文件到HEX格式的轉(zhuǎn)換器。從絕對(duì)目標(biāo)文件創(chuàng)建Intel HEX 格式的文件。RTX-51實(shí)時(shí)操作系統(tǒng)。簡(jiǎn)化了復(fù)雜和對(duì)時(shí)間要求敏感的軟件項(xiàng)目。BL51連接/重定位器。組合你的由C51和A51產(chǎn)生的可重定位的目標(biāo)文件生成絕對(duì)目標(biāo)文件 2013/10/13 L6正式版包括沒(méi)有限制的8051工具和全套手冊(cè)(含本手冊(cè))

4、正式版套件包含1年的免費(fèi)技術(shù)支持和產(chǎn)品升級(jí)升級(jí)通過(guò) 提供 。測(cè)試版工具包和產(chǎn)品工具包Keil Software把軟件分成兩種類型測(cè)試版和正式版測(cè)試版包括8051工具的測(cè)試版本和本用戶手冊(cè)你可以用它們產(chǎn)生目標(biāo)代碼小于2K字節(jié)的應(yīng)用。2013/10/13 L71、 Keil開(kāi)發(fā)套件 Keil Software提供第一流的8051系列開(kāi)發(fā)工具,把不同的開(kāi)發(fā)工具捆綁到不同的開(kāi)發(fā)包或工具套件。2013/10/13 L8PK51 專業(yè)開(kāi)發(fā)套件 PK51專業(yè)開(kāi)發(fā)套件包括了所有專業(yè)開(kāi)發(fā)人員創(chuàng)建和調(diào)試復(fù)雜8051嵌入式應(yīng)用系統(tǒng)所要用到的一切工具。PK51專業(yè)開(kāi)發(fā)套件可以針對(duì)所有的8051及其派生系列進(jìn)行配置使用

5、 DK51開(kāi)發(fā)套件 DK51開(kāi)發(fā)套件是PK51專業(yè)開(kāi)發(fā)套件的精簡(jiǎn)版本。它不包括小型RTX51實(shí)時(shí)操作系統(tǒng)。此套件可以針對(duì)所有的8051及其派生系列進(jìn)行配置使用。 CA51編譯套件 CA51編譯套件是那些需要C編譯器而不需要調(diào)試系統(tǒng)的開(kāi)發(fā)人員的最好選擇。CA51開(kāi)發(fā)包僅僅包含uVision2 IDE,uVision2調(diào)試器不包括在內(nèi)。此套件可以針對(duì)所有的8051及其派生系列進(jìn)行配置使用 2013/10/13 L9A51匯編套件 A51匯編套件包括一個(gè)匯編器和你創(chuàng)建嵌入式應(yīng)用所需要的所有功能此套件可以針對(duì)所有的8051及其派生系列進(jìn)行配置使用。 RTX51 實(shí)時(shí)操作系統(tǒng)FR51 RTX51實(shí)時(shí)操作

6、系統(tǒng)是一個(gè)8051系列MCU的實(shí)時(shí)內(nèi)核。RTX51 FULL提供RTX51 TINY的所有功能和一些擴(kuò)展功能并且包括CAN通信協(xié)議接口。 2013/10/13 L102、 軟件開(kāi)發(fā)流程 使用Keil Software工具時(shí)你的項(xiàng)目開(kāi)發(fā)流程和其它軟件開(kāi)發(fā)項(xiàng)目的流程極其相似。 創(chuàng)建一個(gè)項(xiàng)目,從器件庫(kù)中選擇目標(biāo)器件,配置工具設(shè)置; 用C語(yǔ)言或匯編語(yǔ)言創(chuàng)建源程序; 用項(xiàng)目管理器構(gòu)造應(yīng)用; 修改源程序中的錯(cuò)誤; 調(diào)試連接后的應(yīng)用 2013/10/13 L11 一個(gè)完整的8051工具集的框圖可以最好地表述此開(kāi)發(fā)流程。 2013/10/13 L12uVision2 IDE uVision2 集成開(kāi)發(fā)環(huán)境集成

7、了項(xiàng)目管理器、功能豐富編輯器、選項(xiàng)設(shè)置、生成工具、在線幫助。 利用uVision2創(chuàng)建你的源代碼并把它們組織到一個(gè)目標(biāo)應(yīng)用的項(xiàng)目中去。uVision2自動(dòng)編譯匯編連接嵌入式應(yīng)用。C51編譯器和A51匯編器 由uVision2 IDE創(chuàng)建的源代碼,被C51編譯或A51匯編器生成可重定位的目標(biāo)文件。 Keil C51編譯器完全遵照ANSI C語(yǔ)言標(biāo)準(zhǔn),支持C語(yǔ)言的所有標(biāo)準(zhǔn)特性。另外增加了可以支持8051結(jié)構(gòu)的特性。 Keil A51宏匯編器支持8051及其派生系列的全部指令集。 2013/10/13 L13LIB51 庫(kù)管理器 LIB51庫(kù)管理器允許你從由編譯器或匯編器生成的目標(biāo)文件創(chuàng)建目標(biāo)庫(kù)庫(kù)是

8、一種被特別地組織過(guò)并在以后可以被連接重用的對(duì)象模塊當(dāng)連接器處理一個(gè)庫(kù)時(shí)僅僅那些被使用的目標(biāo)模塊才被真正使用 BL51 連接器/定位器 BL51 連接器/定位器利用從庫(kù)中提取的目標(biāo)模塊和由編譯器、匯編器生成的目標(biāo)模塊,創(chuàng)建一個(gè)絕對(duì)地址的目標(biāo)模塊。一個(gè)絕對(duì)地址目標(biāo)模塊或文件包含不可重定位的代碼和數(shù)據(jù)。所有的代碼和數(shù)據(jù)被安置在固定的存儲(chǔ)器單元中。此絕對(duì)地址目標(biāo)文件可以用來(lái): 寫(xiě)入EPROM或其它存儲(chǔ)器件 由uVision2調(diào)試器使用來(lái)模擬和調(diào)試 由仿真器用來(lái)測(cè)試程序 2013/10/13 L14uVision2 調(diào)試器 uVision2源代碼級(jí)調(diào)試器是快速可靠的程序調(diào)試器。此調(diào)試器包含一個(gè)高速模擬器

9、,使用它可以模擬整個(gè)8051系統(tǒng),包括片上外圍器件和外部硬件。當(dāng)從器件庫(kù)中選擇器件時(shí),這個(gè)器件的特性將自動(dòng)配置 。 uVision2調(diào)試器提供了幾種實(shí)際目標(biāo)板上測(cè)試程序方法: 安裝MON51目標(biāo)監(jiān)控器到你的目標(biāo)系統(tǒng)并且通過(guò)Monitor-51接口下載你的程序; 利用高級(jí)的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)板的存儲(chǔ)器里,利用串口和uVision2調(diào)試器進(jìn)行通信。 利用Monitor-51 uVision2調(diào)試器可以對(duì)你的目標(biāo)硬件實(shí)

10、行源代碼級(jí)的調(diào)試。 RTX51實(shí)時(shí)操作系統(tǒng) RTX51實(shí)時(shí)操作系統(tǒng)是一個(gè)針對(duì)8051系列的多任務(wù)核。RTX51實(shí)時(shí)內(nèi)核從本質(zhì)上簡(jiǎn)化了對(duì)實(shí)時(shí)事件反應(yīng)速度要求高的復(fù)雜應(yīng)用系統(tǒng)的設(shè)計(jì)、編程和調(diào)試。 RTX51實(shí)時(shí)內(nèi)核是完全集成到C51編譯器中的從而方便使用任務(wù)描述表和操作系統(tǒng)的連接由BL51連接器/定位器自動(dòng)控制 。2013/10/13 L163、 安 裝 系統(tǒng)需求 為了取得比較好的運(yùn)行效果最低的硬件和軟件配置必須滿足: 具有奔騰奔騰II或兼容的處理器的個(gè)人計(jì)算機(jī) 操作系統(tǒng)為WIN95WIN98WINNT4.0或更高 RAM大于16MB 20MB 的硬盤(pán)空余空間 安裝詳細(xì)說(shuō)明 所有的Keil產(chǎn)品都帶

11、有一個(gè)安裝程序。8051開(kāi)發(fā)工具的安裝步驟如下 插入Keil開(kāi)發(fā)工具光盤(pán) 從CD瀏覽界面選擇安裝軟件 跟隨提示進(jìn)行安裝操作 2013/10/13 L17文件夾組織結(jié)構(gòu) 安裝程序復(fù)制開(kāi)發(fā)工具到基本目錄的各個(gè)子目錄中。默認(rèn)的基本目錄是C:KEIL。下表列出的文件夾結(jié)構(gòu)是包括所有8051開(kāi)發(fā)工具的全部安裝信息。C:KEILC51ASM 匯編SFR定義文件和模板源程序文件 C:KEILC51BIN 8051工具的執(zhí)行文件 C:KEILC51EXAMPLES 示例應(yīng)用 C:KEILC51RTX51 完全實(shí)時(shí)操作系統(tǒng)文件 C:KEILC51RTX_TINY 小型實(shí)時(shí)操作系統(tǒng)文件 C:KEILC51INC

12、C編譯器包含文件 C:KEILC51LIB C編譯器庫(kù)文件啟動(dòng)代碼和常規(guī)I/O資源 C:KEILC51MONITOR 目標(biāo)監(jiān)控文件和用戶硬件的監(jiān)控配置 C:KEILUV2 普通uVision2文件 2013/10/13 L182.4 KEIL Cx5 編程實(shí)例#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 使用簡(jiǎn)介2013/10/13 L202.5 Cx51程序結(jié)構(gòu)程序:P1端口輸出#include /單片機(jī)資源描述void main( void )/一個(gè)項(xiàng)目只有一/個(gè)main主函數(shù)/函數(shù)體開(kāi)始P1 = 0 x55;/隔一個(gè)為高while( 1 ) ; /單片機(jī)空循環(huán)待機(jī)/函數(shù)體結(jié)束2013/10/13 L21C程序的規(guī)范化設(shè)計(jì)在單片機(jī)C程序設(shè)計(jì)中,項(xiàng)目一般按功能模塊化進(jìn)行結(jié)構(gòu)化設(shè)計(jì)。將一個(gè)項(xiàng)目劃分為多個(gè)功能,每個(gè)功能的相關(guān)程序放在一個(gè)C程序文檔中,稱之為一個(gè)模塊,對(duì)應(yīng)

15、的文件名即為模塊名。一個(gè)模塊通常由兩個(gè)文檔組成,一個(gè)為頭文件.h,對(duì)模塊中的數(shù)據(jù)結(jié)構(gòu)和函數(shù)原型進(jìn)行描述;另一個(gè)則為C文件.c ,對(duì)數(shù)據(jù)實(shí)例或?qū)ο蠖x,以及函數(shù)算法具體實(shí)現(xiàn)。2013/10/13 L22H頭文件的作用作為項(xiàng)目設(shè)計(jì),除了對(duì)項(xiàng)目總體功能進(jìn)行詳細(xì)描述外,就是對(duì)每個(gè)模塊進(jìn)行詳細(xì)定義,也就是給出所有模塊的頭文件。通常H頭文件要定義模塊中各函數(shù)的功能,以及輸入和輸出參數(shù)的要求。模塊的具體實(shí)現(xiàn),由項(xiàng)目組成根據(jù)H文件進(jìn)行設(shè)計(jì)、編程、調(diào)試完成。為了保密和安全,模塊實(shí)現(xiàn)后以可連接文件OBJ、或庫(kù)文件LIB的方式提供給項(xiàng)目其他成員使用。2013/10/13 L23H頭文件的基本格式/如下為鍵盤(pán)驅(qū)動(dòng)模塊

16、KeyDriver.H的模型#ifndef_KeyDriver_H_/防重復(fù)引用#define_KeyDriver_H_/此符號(hào)唯一/char kbhit( void ); /擊鍵否unsigned char getch( void );/取鍵值/#endif 2013/10/13 L24C程序的基本格式#include /頭文件在系統(tǒng)中#include “KeyDriver.h”/頭文件在項(xiàng)目中char kbhit( void ) /擊鍵否unsigned char getch( void )/取鍵值2013/10/13 L25C程序的書(shū)寫(xiě)要求函數(shù)之間相隔兩個(gè)空行函數(shù)內(nèi)功能塊相隔一個(gè)空行用TAB調(diào)整結(jié)構(gòu)括號(hào) 中的凹進(jìn)函數(shù)內(nèi)if、switch、while、for

溫馨提示

  • 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)論