接上代碼研究所之單片機(jī)(1),本次主要針對(duì)一些編寫代碼時(shí)所要注意的和單片機(jī)C編程的基礎(chǔ)知識(shí)。 一:數(shù)據(jù)類型·運(yùn)算符·表達(dá)式 1.1 C51支持的數(shù)據(jù)類型 1.2 常量和變量 常量:#define CONST 10 變量:bit b_start //位變量 Char c_start//字符變量 其他略。 1.3 C51存儲(chǔ)器·寄存器定義 定義:分為片內(nèi)數(shù)據(jù)存儲(chǔ)器·片外數(shù)據(jù)存儲(chǔ)器·片內(nèi)程序存儲(chǔ)器·片外程序存儲(chǔ)器。 1.31 C51的數(shù)據(jù)存儲(chǔ)類型 | 存儲(chǔ)器對(duì)應(yīng)關(guān)系 | | 直接尋址片外數(shù)據(jù)存儲(chǔ)器(128byte) | | 片內(nèi)位尋址存儲(chǔ)空間(16byte) | | 間接尋址片內(nèi)數(shù)據(jù)存儲(chǔ)空間,可以訪問RAM全部?jī)?nèi)容 | | 分頁尋址片外數(shù)據(jù)存儲(chǔ)器(256byte) | | 片外數(shù)據(jù)存儲(chǔ)器(64KB) | | |
例子:char data c_Var; //無符號(hào)char型變量,定義到內(nèi)部存儲(chǔ)空間低128byte 1.32 寄存器 Sfr SBUF=0x99; //定義串行數(shù)據(jù)寄存器 Sfr16 T2=0xcc; //定義T2計(jì)時(shí)器數(shù)據(jù)存儲(chǔ)器 Sbit D0=P2^1;定義位變量 Sbit CY=0xd7;使用絕對(duì)地址定義 使用sbit定義變量空間 Bdata unsigned char uc_shield_byte; Sbit b_x= uc_shield_byte^1; //定義首位 Sbit b_y= uc_shield_byte^2; Sbit b_z=uc_shield_byte^3; 1.4 邏輯運(yùn)算 與: && 或:|| 非: ! 位邏輯運(yùn)算 位與:& 位或| 位異或: ^ 位取反: ~ 1.5 移位運(yùn)算 左移位:<<,個(gè)位左移,補(bǔ)0; 右移位:>>,高位右移,補(bǔ)0; |