MCS-51單片機C語言第8章.ppt

MCS-51單片機C語言第8章.ppt

ID:50547051

大?。?.58 MB

頁數(shù):114頁

時間:2020-03-10

MCS-51單片機C語言第8章.ppt_第1頁
MCS-51單片機C語言第8章.ppt_第2頁
MCS-51單片機C語言第8章.ppt_第3頁
MCS-51單片機C語言第8章.ppt_第4頁
MCS-51單片機C語言第8章.ppt_第5頁
資源描述:

《MCS-51單片機C語言第8章.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、第8章C51程序設(shè)計語言及程序設(shè)計8.1C51數(shù)據(jù)類型與運算8.2C51流程控制語句8.3C51構(gòu)造數(shù)據(jù)類型8.4C51函數(shù)8.5C51應(yīng)用編程實例8.1C51數(shù)據(jù)類型與運算8.1.1C51數(shù)據(jù)類型8.1.2C51數(shù)據(jù)存儲類型8.1.3C51定義SFR8.1.4C51定義并行口8.1.5C51定義位變量8.1.6C51運算符、表達式及其規(guī)則8.1.1C51數(shù)據(jù)類型C51具有標準C語言的所有標準數(shù)據(jù)類型,針對51單片機內(nèi)部結(jié)構(gòu)增加了以下特殊數(shù)據(jù)類型:(1)bit位變量。(2)sbit可獨立尋址的位變量。(3)sfr8位特殊

2、功能寄存器。(4)sfr1616位特殊功能寄存器。8.1.1C51數(shù)據(jù)類型1.char字符類型char類型的數(shù)據(jù)長度是一個字節(jié),通常用于定義處理字符數(shù)據(jù)的變量或常量。分無符號字符類型unsignedchar和有符號字符類型signedchar,默認值為signedchar類型。2.int整型int整型長度為兩個字節(jié),用于存放一個雙字節(jié)數(shù)據(jù)。分有符號整型數(shù)signedint和無符號整型數(shù)unsignedint,默認值為signedint類型。8.1.1C51數(shù)據(jù)類型3.long長整型long長整型長度為四個字節(jié),用于存放一

3、個四字節(jié)數(shù)據(jù)。分有符號長整型signedlong和無符號長整型unsignedlong,默認值為signedlong類型。4.float浮點型float浮點型在十進制中具有7位有效數(shù)字,是符合IEEE?754標準的單精度浮點型數(shù)據(jù),占用四個字節(jié)。8.1.1C51數(shù)據(jù)類型5.指針型指針型本身就是一個變量,在這個變量中存放的數(shù)據(jù)是指向另一個數(shù)據(jù)的地址。這個指針變量要占據(jù)一定的內(nèi)存單元,對不一樣的處理器長度也不盡相同,在C51中它的長度一般為1~3個字節(jié)。6.bit位變量bit位變量是C51編譯器的一種擴充數(shù)據(jù)類型,利用它可定

4、義一個位標量,但不能定義位指針,也不能定義位數(shù)組。它的值是一個二進制位,不是0就是1,類似一些高級語言中的Boolean類型中的True和False。8.1.1C51數(shù)據(jù)類型7.sfr特殊功能寄存器sfr也是一種擴充數(shù)據(jù)類型,占用一個內(nèi)存單元,值域為0~255。利用它能訪問51單片機內(nèi)部的所有特殊功能寄存器。8.sfr1616位特殊功能寄存器sfr16占用兩個內(nèi)存單元,值域為0~65535。sfr16和sfr一樣用于操作特殊功能寄存器,不同的是它用于操作占兩個字節(jié)的寄存器,如定時器T2。8.1.1C51數(shù)據(jù)類型9.sbi

5、t可尋址位sbit同樣是單片機C語言中的一種擴充數(shù)據(jù)類型,利用它能訪問芯片內(nèi)部的RAM中的可尋址位或特殊功能寄存器中的可尋址位。8.1.1C51數(shù)據(jù)類型表8.1KeiluVision2單片機C語言編譯器所支持的數(shù)據(jù)類型8.1.2C51數(shù)據(jù)存儲類型C51編譯器可以通過將變量、常量定義為不同的存儲類型(data,bdata,idata,pdata,xdata,code)的方法,將它們定義在不同的存儲區(qū)中。C51數(shù)據(jù)存儲類型與MCS-51單片機實際存儲空間的對應(yīng)關(guān)系如表8.2所示。表8.2C51存儲類型與MCS-51單片機存儲

6、空間的對應(yīng)關(guān)系當(dāng)使用存儲類型data,bdata定義常量和變量時,C51編譯器會將它們定位在片內(nèi)數(shù)據(jù)存儲區(qū)中。片內(nèi)RAM是存放臨時性傳遞變量或使用頻率較高變量的理想場所。訪問片內(nèi)數(shù)據(jù)存儲器(data,bdata,idata)比訪問片外數(shù)據(jù)存儲器(xdata,pdata)相對快一些,因此可將經(jīng)常使用的變量置于片內(nèi)數(shù)據(jù)存儲器,而將規(guī)模較大的,或不常使用的數(shù)據(jù)置于片外數(shù)據(jù)存儲器中。C51存儲類型及其大小和值域如表8.3所示。表8.3C51存儲類型及其大小和值域如果在變量定義時略去存儲類型標志符,編譯器會自動默認存儲類型。默認的

7、存儲類型進一步有SMALL、COMPACT和LARGE存儲模式指令限制。見表8.4。表8.4存儲模式及說明8.1.3C51定義SFR在C51中,特殊功能寄存器及其可位尋址的位是通過關(guān)鍵字sfr和sbit來定義的,這種方法與標準C不兼容,只適用于C51。(1)sfr:定義為8位特殊功能寄存器。例如,sfrPSW=0xD0;//定義程序狀態(tài)字PSW的地址為D0HsfrTMOD=0x89;//定義定時器/計數(shù)器方式控制寄存器TMOD的地址為89HsfrP1=0x90;//定義P1口的地址為90H“sfr”后面必須跟一個特殊寄存

8、器名;“=”后面的地址必須為常數(shù),常數(shù)值的范圍必須在特殊功能寄存器地址范圍內(nèi),即位于地址0x80到0xff之間,不允許帶有運算符的表達式。(2)sfr16:定義的16位特殊功能寄存器。例如,sfr16T2=0xCC;//定義8052定時器2,低8位地址為T2L=CCH,高8位T2H=CDH用sfr16定義16位特殊功

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。