《單片機(jī)原理與接口技術(shù)》 課件 2.2 C51數(shù)據(jù)類型_第1頁(yè)
《單片機(jī)原理與接口技術(shù)》 課件 2.2 C51數(shù)據(jù)類型_第2頁(yè)
《單片機(jī)原理與接口技術(shù)》 課件 2.2 C51數(shù)據(jù)類型_第3頁(yè)
《單片機(jī)原理與接口技術(shù)》 課件 2.2 C51數(shù)據(jù)類型_第4頁(yè)
《單片機(jī)原理與接口技術(shù)》 課件 2.2 C51數(shù)據(jù)類型_第5頁(yè)
已閱讀5頁(yè),還剩6頁(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)介

第二章C51

程序設(shè)計(jì)基礎(chǔ)2.2

C51數(shù)據(jù)類型單片機(jī)原理與接口技術(shù)關(guān)鍵字?jǐn)?shù)據(jù)類型長(zhǎng)

度值

域字符型unsigned

char單字節(jié)0~255(signed)char單字節(jié)-128~+127整型unsigned

int雙字節(jié)0~65535(signed)int雙字節(jié)-32768~+32767unsigned

long四字節(jié)0~4294967295(signed

)long四字節(jié)-2147483648~+2147483647實(shí)型float四字節(jié)±1.175494E-38~±3.402823E+38指針型*1~3字節(jié)對(duì)象的地址位型bit位0或1訪問(wèn)SFR

數(shù)據(jù)類型sfr單字節(jié)0~255sfr16雙字節(jié)0~65535sbit位0或1在C51中,每個(gè)變量在使用之前必須定義其數(shù)據(jù)類型。1.字符型char51單片機(jī)是8位單片機(jī),其存儲(chǔ)單元和寄存器均為一字節(jié),因此,在

51單片機(jī)程序設(shè)計(jì)中,常用unsigned

char類型來(lái)定義0~255的整數(shù)。2.整

型int在程序設(shè)計(jì)中,如果估計(jì)變量的取值范圍超過(guò)字符型表示的范圍,可將變量定義為整型。3.長(zhǎng)整型long分為帶有符號(hào)長(zhǎng)整型signedlong和無(wú)符號(hào)長(zhǎng)整型unsignedlong,占4字節(jié)存儲(chǔ)容量。4.

位類型bit格式:bit

bit_name=[0或1];位類型bit

是C51擴(kuò)充的數(shù)據(jù)類型,利用它可定義一個(gè)位標(biāo)量。位地址(00H~7FH)定位在51單片機(jī)片內(nèi)RAM的可位尋址區(qū),具

值由編譯器分配。5.

特殊功能寄存器定義格式:sfr/sfr16

sfr_name=字節(jié)地址常數(shù);如

;sfr

PO=0x80;//PO口的地址為0x80sfr16DPTR=0x0082;//指定DPTR的

址DPL=0x82,DPH=0x83。D7D6D5D4D3D2D1D0CYACFORS1RSOOVF1P部分SFR具有位地址,如何定義與這些位地址相關(guān)變量?位地址0xD70xD60xD50xD40xD30xD20xD10xD0一相對(duì)地址<

絕對(duì)地址PSW0xDO6.可尋址位型◆方法1:將SFR的絕對(duì)地址定義為位變量名。sbitbit_name=位地址常數(shù);如

:sbitCY=0XD7;◆方法2:將SFR的相對(duì)地址定義為位變量名。sbitbit_name=sfr字節(jié)地址^位位置;如:sbit

CY=0XD0^7;◆方法3:將SFR的相對(duì)位位置定義為位變量名。sbit

bit_name

=sfr_name^位

;如:sbitCY=PSW^7;此種定義的位地址或字節(jié)地址必須在80H~FFH

之間。甲{P2=(P2&0x1F|0xA0);P0=0x00;P04=

0

;P06=0;P2&=

0x1F;}void

delay(

void

)//延時(shí)函數(shù)

{unsignedchar

i,j,k;_nop_();_nop_();i=

9;j

=

10

;do白

{C51

編譯器在頭文件“STC15F2K60S2.h

”中定義了全部sfr/sfr16和sbit變量。用預(yù)處理命令#include"STC15F2K60S2.h"

把該頭文件包含到C51程序中。while(1){P2

=((P2

&0x1f)|0x80);//P210011111delay();}dowhile

(--k);

}while

(--j);

}

while

(--i);void

main(void)甲{unsigned

char

i;cls_buzz();#include"STC15F2K60S2.h"http://定義STC15單片機(jī)特殊功能寄存器

#include

"intrins.h"void

cls_buzz(void

)//關(guān)閉轟鳴器和繼電器P0

=

0xfe<<i;

//左移i

/

/P011111110for(i=0;i<8;i++)

{k

=

10

;白

P2&=

0x1f;中

{7.存儲(chǔ)器類型C51變量定義的四要素:[存儲(chǔ)種類]

數(shù)據(jù)類型

[存儲(chǔ)器類型]

變量名表;(標(biāo)準(zhǔn)C)(標(biāo)準(zhǔn)C+C51)

(C51

特有)(標(biāo)準(zhǔn)C)*括號(hào)項(xiàng)

可以缺省(但需有缺省值)(1)存儲(chǔ)種類●auto

(自動(dòng)型)—變量的作用范圍在定義它的函數(shù)體或語(yǔ)句塊內(nèi)。執(zhí)行結(jié)束后,變

量所占內(nèi)存即被釋放。●

extern

(外部型)—在

一個(gè)源文件中被定義為外部型的變量,在其它源文件中需要

通過(guò)ext

er

n說(shuō)明方可使用。●

static

(靜態(tài)型)—利用static

可使變量定義所在的函數(shù)或語(yǔ)句塊執(zhí)行結(jié)束后,其分

配的內(nèi)存單元繼續(xù)保留?!駌egister(寄存器型)—將變量對(duì)應(yīng)的儲(chǔ)存單元指定為通用寄存器,以提高程序運(yùn)

行速度。取值范圍默認(rèn)存儲(chǔ)器類型,低128字節(jié)內(nèi)部RAM(

00H~7FH地址空間)可位尋址內(nèi)部RAM,

BDATA區(qū)(20H~2FH地址空間),允許位和

字節(jié)混合訪問(wèn)。256字節(jié)內(nèi)部RAM

,間接尋址IDATA

區(qū)(

0

0H~FFH

地址空間),

允許訪問(wèn)全部?jī)?nèi)部單元。分頁(yè)尋址外部RAM,PDATA區(qū)(256字節(jié)XRAM,位于0000H~FFFFH

地址空間)。外部RAM,

XDATA區(qū)(0000H~FFFFH地址空間)。程序存儲(chǔ)區(qū),CODE

區(qū)(0000H~FFFFH

地址空間指令訪問(wèn))。編譯模式SMALL模

式COMPACT

式LARGE

式char

data

buffer;data

buffer;unsigned

char

code

numtab[3]={0xC0,0xF9,0xA4};

char

xdata

arr[10][4][4];存儲(chǔ)器類型data最快bdata快idata快pdata慢xdata較慢code一般(2)存儲(chǔ)器類型變

量或函數(shù)參數(shù)存儲(chǔ)類型可由存儲(chǔ)模式(Small,large,Compact

)(Options

for

Target'Target1...選項(xiàng))指定缺省存儲(chǔ)類型;◆

在small模式下,函數(shù)參數(shù)和局部變量位于

由data定義的單片機(jī)片內(nèi)數(shù)據(jù)RAM(00~7FH)中;◆

在compa

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論