欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6401|回復: 0
收起左側

51單片機變量存儲詳解

[復制鏈接]
ID:342442 發表于 2018-10-13 08:19 | 顯示全部樓層 |閱讀模式
變量的存儲
變量的存儲器類型是指該變量在 8051 單片機硬件系統中所使用的存儲區域,并在編譯時準確的定位。定義變量時應指定變量的存儲器類型,在編譯時將根據指定類型定義到相應的存儲區。

0.png

存儲器類型  說明
data  直接訪問內部數據存儲器(128 字節),訪問速度最快   
bdata  可位尋址內部數據存儲器(16 字節),允許位與字節混合訪問   
idata
間接訪問內部數據存儲器(256 字節),對于 51 子系列,只允許訪問
低128B,對于52 子系列,允許訪問全部256B地址   
pdata  分頁訪問外部數據存儲器(256 字節),相當于用MOVX @Ri 指令訪問   
xdata  外部數據存儲器(64KB),相當于用MOVX @DPTR 指令訪問   
code  程序存儲器(64KB),相當于用MOVC @A+DPTR 指令訪問   

例:數據類型   存儲類型   變量
char      data      var1;   
bit       bdata      flags;
unsigned    char      xdata     vextor;
unsigned  char       code    seg[2];
unsigned  int       data    number;

位尋址區及位變量定義
C51 提供一個bdata的存儲器類型,用于訪問單片機的可位尋址區的數據   
unsigned char bdata age; //在位尋址區定義 unsigned char類型的變量age
int bdata score[2];       //在可位尋址區定義數組score[2]
bit flag=age^7      //用bit 定義位變量來獨立訪問可尋址位對象的其中一位
C51 提供關鍵字“bit”實現位變量的定義及訪問。
bit flag;                  //  將flag 定義為位變量
bit valve_state;       //  將valve_state定義為位變量
通常C51 編譯器會將位變量分配在位尋址區的某一位。
位變量不能定義成一個指針,如不能定義:bit * POINTER。
不能定義位數組,如不能定義: bit array[2]。
bit 與sbit 的不同。bit 不能指定位變量的絕對地址,當需要指定位變量的絕對地址(范圍必須在0x80-0xff)時,需要使用sbit 來定義。
例:sbit flag=P1^0;

完整的pdf格式文檔51黑下載地址:
51單片機中變量的存儲.pdf (270.52 KB, 下載次數: 31)


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表