98国产精品综合一区二区三区,国产福利视频,男人添女人囗交做爰视频,日本免费一区二区三区视频观看

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機(jī)入門 >> C51單片機(jī)存儲類型及存儲模式

C51單片機(jī)存儲類型及存儲模式

作者:admin 來源:不詳 發(fā)布時間:2018-05-08  瀏覽:49

       1.C51存儲類型<?XML:NAMESPACE PREFIX = O />

       對于在片外擴(kuò)充的接口,可以根據(jù)硬件形成的地址,用#define語句進(jìn)行定義,例如:

       #define unsigned char xdata adAddr_at_0x2000;/*定義了片外接口地址為2000H*/

       C51編譯器支持80C51及其派生系列的體系結(jié)構(gòu),并提供對80C51所有存儲區(qū)的訪問。每個變量可以用表1中所列的存儲器類型明確地分配到指定的存儲空間。

表1 C51存儲類型與80C51存儲空間的關(guān)系

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

字節(jié)

值的范圍

char

8

  1

-128~127

unsigned char

8

  1

0~255

enum

16

  2

-32768~32767

short

16

  2

-32768~32767

unsigned short

16

  2

0~65535

int

16

  2

-32768~32767

unsigned int

16

  2

0~65535

long

32

  4

-2147483648~2147483647

unsigned long

32

  4

0~4294967295

float

32

  4

±1.175494E-38~±3.402823E+38

bit

1

  -

0,1

sbit

1

  -

0,1

sfr

8

  1

0~255

sfr16

16

  2

0~65535

  對內(nèi)部數(shù)據(jù)存儲器的訪問比對外部數(shù)據(jù)存儲器的訪問快許多,因此應(yīng)當(dāng)將頻繁使用的變量放在內(nèi)部數(shù)據(jù)存儲器,而把較少使用的變量放在外部數(shù)據(jù)存儲器中。

       下面用實(shí)例說明各種存儲器變量的聲明。

       (1)程序存儲器變量:程序存儲器的數(shù)據(jù)不能修改,通常將跳轉(zhuǎn)向量或表格存放在該區(qū),存儲器類型標(biāo)識符為code。

         例如:unsigned char code text[] = “ENTER PARAMETER”;

       (2)直接尋址內(nèi)部數(shù)據(jù)存儲器變量:可在一個機(jī)器周期直接尋址,因此將常用的變量放在data區(qū)。存儲器類型標(biāo)識符為data。

         例如:unsigned char data flag;             /*聲明一個內(nèi)部直接尋址的無符號字節(jié)變量*/

       (3)間接尋址內(nèi)部數(shù)據(jù)存儲器變量:用8位寄存器作為指針尋址內(nèi)部存儲器。存儲器類型標(biāo)識符為idata。

       例如:unsigned char idata buffer[8];    /*聲明一個內(nèi)部間接尋址的無符號字節(jié)數(shù)組*/

       (4)位尋址內(nèi)部數(shù)據(jù)存儲器變量:是內(nèi)部數(shù)據(jù)存儲器的位尋址區(qū),位變量對需要位操作的數(shù)據(jù)十分有用,其存儲器類型標(biāo)識符為bdata。

       注意:位尋址變量應(yīng)聲明為全局變量,否則編譯將出錯。

       例如:unsigned char bdata bStatue;     /*定義可位尋址的位變量,在片內(nèi)RAM中*/

            sbit statue_0 = bStatue^0;       /*定義位變量bStatue的第三位的符號地址*/

   bit數(shù)據(jù)類型可以用來訪問用bdata存儲器類型標(biāo)識聲明的變量的位。

       外部數(shù)據(jù)存儲器的聲明與前面例子相似,這里不再說明。

       如果變量聲明中遺漏存儲器類型標(biāo)識符,則自動選擇默認(rèn)的存儲器類型。默認(rèn)的存儲器類型應(yīng)用到所有全局變量、靜態(tài)變量、函數(shù)自變量和不能分配寄存器的自動變量。默認(rèn)的存儲器類型取決于編譯時的存儲器模式。這都是不同于一般C語言的地方。

       2.C51的存儲器模式

       存儲器模式確定了用于函數(shù)自變量、自動變量和無明確存儲類型變量的默認(rèn)存儲器類型?捎镁幾g器控制指令Small,Compact和Large指定編譯時的存儲器模式。用存儲器類型標(biāo)識符明確聲明一個變量,優(yōu)先于默認(rèn)存儲器類型。

       (1)Small模式

       所有變量默認(rèn)位于80C51內(nèi)部數(shù)據(jù)存儲器,這和使用data存儲器類型標(biāo)識符明確聲明是相同的。該模式變量訪問非常有效,但所有數(shù)據(jù)對象和堆棧必須適合內(nèi)部RAM。因?yàn)槭褂玫亩褩?臻g決定于不同函數(shù)嵌套的深度,故對堆棧的尺寸要求嚴(yán)格。

       (2)Compact模式

       所有變量默認(rèn)位于外部數(shù)據(jù)存儲器的一頁(256B)內(nèi),這和使用pdata存儲器類型標(biāo)識符明確聲明是相同的。地址高字節(jié)通常設(shè)置P2,編譯器無法設(shè)置這個端口,故必須在啟動代碼中手工設(shè)置。該模式能容納最多256B的變量,這個限制是用R0、R1間接尋址造成的。該模式的效率不如Small模式的效率,變量訪問速度不如Small模式的快,但比Large模式快。

       (3)Large模式

       所有變量默認(rèn)位于外部數(shù)據(jù)存儲器,這和使用xdata存儲器類型標(biāo)識符明確聲明是相同的。尋址使用數(shù)據(jù)指針(DPRT),變量訪問效率低,特別是對多字節(jié)變量,該模式的數(shù)據(jù)訪問比Small模式和Compact模式生成的代碼多。

       一般經(jīng)常使用Small模式,它可生成最快、最緊湊和最有效的代碼。通?梢悦鞔_指定變量的存儲位置。僅當(dāng)使用Small模式時不適合應(yīng)用或操作才上升到Compact模式和Large模式。

編輯:admin  最后修改時間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

男男浴室吸乳play| 两个女人互添下身爽舒服小说| 波多野结衣在线观看| 亚洲啪av永久无码精品放毛片| 无码av久久久久久久久| 男女xxoo娇喘呻吟在线观看| aaa级精品无码久久久国产片| 国产真实乱人偷精品视频免费| 少妇沦陷精油按摩中文字幕| av网站在线观看| 无码jk粉嫩小泬在线观看欧美| 日久精品不卡一区二区| a猛片免费播放网| 免费看美女被靠到爽的视频| 999久久久免费精品国产| 国产真实乱了露脸在线观看| 最刺激的交换夫妇中文字幕| 放荡勾人绿茶女(h)| 中文字字幕在线中文乱码怎么设置| 少妇性活bbbbbbbbb四川| 中文在线中文资源| 99国产精品久久久久久久日本竹| 午夜无码熟熟妇丰满人妻| 亚洲国产精品久久久久爰色欲| 以家人之名电视剧全集免费观看| chinese国产hdsex| 亚洲av色香蕉一区二区三区| 欧洲亚洲精品a片久久99果冻| chinese猛男自慰gv网站| 亚洲 国产 日韩 在线 一区| 麻豆传媒直播app| 色婷婷7777免费视频在线观看| 日韩高清无码| 躺着把jiji向上摁平然后揉搓| 国产三级片在线观看| 日本无码视频在线观看| 俺去俺来也在线www色官网| 狠狠做深爱婷婷久久综合一区| 久久变态刺激另类sm| jizz性欧美2| 免费看撕开奶罩揉吮奶头视频|