當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]Data Types數(shù)據(jù)類型數(shù)據(jù)類型位數(shù)字節(jié)數(shù)值域bit10-1Signed char81-128-+127Unsigned char810-255enum8/161or 2-128-+127 or -32768-+32767Signed short162-32768-+32767Unsigned short1620-65535Signed int162-32768-

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

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

位數(shù)

字節(jié)數(shù)

值域

bit

1

0-1

Signed char

8

1

-128-+127

Unsigned char

8

1

0-255

enum

8/16

1or 2

-128-+127 or -32768-+32767

Signed short

16

2

-32768-+32767

Unsigned short

16

2

0-65535

Signed int

16

2

-32768-+32767

Signed long

32

4

-2147483648 to 2147483647

unsigned long

32

4

0 to 4294967295

float

32

4

±1.175494E-38 to ±3.402823E+38

Sbit

1

0 to 1

sfr

8

1

0 to 255

sfr16

16

2

0 to 65535

Bit Types位類型

描述(略)

位變量和位聲時存在以下限缺制:

l 禁止中斷的函數(shù)(用#pragma disable),和使用usigng聲明寄存器組(usigng n)的函數(shù)不能返回一個位變量。如果這樣使用時,Cx51編譯器就會報錯。

l 位變量不能聲明為指針:bit *ptr /*錯誤的聲明*/

l 不能使位變量數(shù)組:bit ware [5]; /*錯誤的聲明*/

Bit-addressable Objects可位尋址的對象

可位尋址的對象就是可以位尋址也可以字節(jié)尋址的對象。只有占有位尋址空間的數(shù)據(jù)可以歸為這一類。Cx51把用idata聲明的變量放在可位尋址區(qū)域。

int bdata ibase; /* Bit-addressable int */

char bdata bary [4]; /* Bit-addressable array */

上面兩個變量都是可位尋址的變量。所以這單獨地訪問這兩個變量的每一位。使用關(guān)鍵字sbit可以定義新的位變量來訪問用badata定義的變量,如:

sbit mybit0 = ibase ^ 0; /* bit 0 of ibase */

sbit mybit15 = ibase ^ 15; /* bit 15 of ibase */

sbit Ary07 = bary[0] ^ 7; /* bit 7 of bary[0] */

sbit Ary37 = bary[3] ^ 7; /* bit 7 of bary[3] */

注意:不可以聲明float變量的某一位為位變量。但是可以通過共同體來訪問一個float變量的某一位。

位變量的地址是物理地址。位地址0指第一個可位尋址的字節(jié)的最低位。整型在內(nèi)存中的存放是高位字節(jié)在前的,所以,整型的第最低位是就是第二個可位尋址字節(jié)的最低位,也就是位址的第8位。

Special Function Registers特殊功能寄存器

8051系列微處理器為特殊功能寄存器的存取提供了一個獨立的內(nèi)存區(qū)域。它位于地址0x80—0xFF,可以按位,字節(jié),字的方式存取。

在8051系列微處理器中,,SFR的個數(shù)和類型是不同的,所以Cx51編譯器并沒有預(yù)定義這些SFR的名字。預(yù)定義這些特殊功能寄存器名字的聲時文件在包含文件中。每個含文件包括可用的特殊功能寄存器的聲明。

Cx51為存取SFR提供了sfr, sfr16,和sbit數(shù)據(jù)類型。下面解釋這幾種數(shù)據(jù)類型。

sfr

SFR的聲明方法與其他C語言變量的聲明方法相同。如:

sfr P0 = 0x80; /* Port-0, address 80h */

sfr P1 = 0x90; /* Port-1, address 90h */

sfr P2 = 0xA0; /* Port-2, address 0A0h */

sfr P3 = 0xB0; /* Port-3, address 0B0h */

sfr16

許多新型的8051變種使用兩個連續(xù)的SFR字節(jié)來聲明一個16bit的值。例如,8052使用地址0XCC和0XCD來做為定時器2的低字節(jié)和高字節(jié)。Cx51使用sfr16把2個字節(jié)的SFR做為一個16bit的SFR來訪問。

一個SFR16的兩個字節(jié)必須連在一起,并且低字節(jié)在前,在使用的時候把低字節(jié)的地址做為整個SFR16的地址使用。

sbit

在8051的經(jīng)典應(yīng)用中,經(jīng)常會用到特殊功能寄存器的某一個單獨的位。Cx51編譯器使用不著sbit來聲明這種變量。

注意:并不是所有的SFR都是可以位尋址的,只有那些地址可以被8整除的地址是可以位尋址的,也就是說它的地址的最低位必須是0或者是8。計算SFR位地址的方法是把位在特殊功能寄存器字節(jié)中的位置加上這一字節(jié)的地址。也就是說,訪問在SFR地址0XC8第6位的時候,這一位的地址應(yīng)該是0XCE(0XC8+6)

聲時位變量的方法有以下三種:

1:sfr_name ^ int_constant

sfr PSW = 0xD0;

sbit OV = PSW ^ 2;

2。:int_constant ^ int_constant

sbit OV = 0xD0 ^ 2;

3:int_constant

sbit OV = 0xD2;

注意:特殊功能位是一個獨立的類聲明,不能和其他的位聲時相互交換。

用sbit聲明的變量不能訪問用bdata數(shù)據(jù)類型定義的變量。

Absolute Variable Location變量的絕對地址

使用并鍵詞_at_可以使變量定位于內(nèi)存中的一個絕對地址。使用方法:

[memory_space]type variable_name_at_constant;

這里:

memory_space變量的內(nèi)存的空間。如果不聲明這一項,使用缺省的內(nèi)存空間。參見:內(nèi)存模式。

Type變量類型

variable_name變量名

constant變量所要存儲的地址

在關(guān)鍵詞_at_后的地址必須在內(nèi)存的特理邊界以內(nèi)。Cx51會檢測變量地址聲明的正確性

絕對地址變量聲時須遵守以下規(guī)則:

1. 絕對地址變量不能初始化(在聲明時)

2. Bit類型的變量和函數(shù)不能放在絕對地址中

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉