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