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語言知識,會定義引腳,會置成高低電平就算入門了吧,個人觀點,非喜勿噴。把微控制器總的來分為幾大塊,剩下的就是演算法或者...