C51微控制器的變數的絕對定位

2021-07-05 22:13:33 字數 879 閱讀 4511

4.3.6 c51變數的絕對定位

c51有三種方式可以對變數(i/o埠)絕對定 位:絕對定位關鍵字

_at_ 、指標、庫函式的絕對定 位巨集。 c51擴充套件的關鍵字

_at_專門用於對變數作絕對定 位,

_at_使用在變數的定義中,其格式為:

[儲存型別] 資料型別 [儲存區] 變數名1

_at_ 位址常數[,變數名2…]

4.3.6 c51變數的絕對定位

舉例說明

_at_的使用方法

1)對data區域中的 unsigned char變數aa作絕對定位: unsigned char data aa

_at_ 0x30;

2)對pdata區域中的 unsigned int陣列cc作絕對定位: unsigned int pdata cc[10]

_at_ 0x34;

3)對xdata區域中的 unsigned char變數printer_port作絕對定 位: unsigned char xdata printer_port

_at_ 0x7fff;

4.3.6 c51變數的絕對定位

對變數絕對定位的幾點說明:

1)絕對位址變數在定義時不能初始化,因此不 能對code型變數絕對定位; 2)絕對位址變數只能夠是全域性變數,不能在函 數中對變數絕對定位;

3)絕對位址變數多用於i/o埠,一般情況下 不對變數作絕對定位; 3)位變數不能使用

_at_絕對定位。

xdata :外部ram

idata : 內部ram

code 佔 flash

const memory 佔flash

+115 absoult 絕對變數 佔ram的大小

bit memory 佔ram

51微控制器與C51

微控制器又稱單片微控制器,是在一塊晶元中整合了cpu 處理器 ram 資料儲存器 rom 程式儲存器 定時器 計數器和多種功能的i o 輸入 輸出 介面等一台計算機所需要的基本功能部件,從而可以完成複雜的運算 邏輯控制 通訊等功能。51微控制器是對所有相容intel 8031指令系統的微控制器的統稱...

51微控制器C51程式

學習c51程式之前需要對c語言有一定的了解和學習 這裡只介紹與c語言有區別的地方 具體的不同如下 1 c51中增加了幾種針對msc 51微控制器的特有資料型別 a sfr和sfr16 用於定義特殊功能暫存器,如 sfr psw 0xd0 一般情況下這些特殊功能暫存器不需要使用者自定義,通常包含在標頭...

C51微控制器入門知識

接觸微控制器也快兩年了,雖然期間偶然玩一玩,但是還是沒有形成乙個完整的微控制器系統。藉著這次同學想學習的機會,再次回到頭來系統的學一遍。其實真正入手微控制器挺容易的,稍微會那麼一點c語言知識,會定義引腳,會置成高低電平就算入門了吧,個人觀點,非喜勿噴。把微控制器總的來分為幾大塊,剩下的就是演算法或者...