新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機C語言頭文件及其使用

51單片機C語言頭文件及其使用

作者: 時間:2016-11-26 來源:網(wǎng)絡 收藏
很多初學單片機者往往對C51的頭文件感到很神秘,而為什么要那樣寫,甚至有的初學者喜歡問,P1口的P為什么要大寫,不大寫行不行呢?其實這樣的問題,看過本文后,就會明白。其實這個是在頭文件中用sfr定義的,現(xiàn)在定義好了的是這樣的sfr P1= 0x90;,也就是說,到底大寫,還是小寫,就是在這里面決定的。這就說明,如果你要用小寫,就得在頭文件中改為小寫。其實它都是為了編程序方便才這樣寫的,在程序編譯時,就會變成相應的地址(如P1就變成了0x90)。

還有一點就是,現(xiàn)在有很多改進型的單片機,它們有很多新增的特殊功能寄存器在標準的reg51.h或reg52.h中沒有定義,這就需要自己加進頭文件(相關廠家已經(jīng)把它們定義好了),當然也可以直接在程序中定義。下面是一個標準的C51頭文件:

sfr P0= 0x80;
sfr P1= 0x90;
sfr P2= 0xA0;
sfr P3= 0xB0;
sfr PSW= 0xD0;
sfr ACC= 0xE0;
sfr B= 0xF0;
sfr SP= 0x81;
sfr DPL= 0x82;
sfr DPH= 0x83;
sfr PCON= 0x87;
sfr TCON= 0x88;
sfr TMOD= 0x89;
sfr TL0= 0x8A;
sfr TL1= 0x8B;
sfr TH0= 0x8C;
sfr TH1= 0x8D;
sfr IE= 0xA8;
sfr IP= 0xB8;
sfr SCON= 0x98;
sfr SBUF= 0x99;

本文引用地址:http://m.butianyuan.cn/article/201611/321874.htm


sfr T2CON= 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2= 0xCC;
sfr TH2= 0xCD;




sbit CY= PSW^7;
sbit AC= PSW^6;
sbit F0= PSW^5;
sbit RS1= PSW^4;
sbit RS0= PSW^3;
sbit OV= PSW^2;
sbit P= PSW^0; //8052 only


sbit TF1= TCON^7;
sbit TR1= TCON^6;
sbit TF0= TCON^5;
sbit TR0= TCON^4;
sbit IE1= TCON^3;
sbit IT1= TCON^2;
sbit IE0= TCON^1;
sbit IT0= TCON^0;


sbit EA= IE^7;
sbit ET2= IE^5; //8052 only
sbit ES= IE^4;
sbit ET1= IE^3;
sbit EX1= IE^2;
sbit ET0= IE^1;
sbit EX0= IE^0;


sbit PT2= IP^5;
sbit PS= IP^4;
sbit PT1= IP^3;
sbit PX1= IP^2;
sbit PT0= IP^1;
sbit PX0= IP^0;


sbit RD= P3^7;
sbit WR= P3^6;
sbit T1= P3^5;
sbit T0= P3^4;
sbit INT1= P3^3;
sbit INT0= P3^2;
sbit TXD= P3^1;
sbit RXD= P3^0;


sbit SM0= SCON^7;
sbit SM1= SCON^6;
sbit SM2= SCON^5;
sbit REN= SCON^4;
sbit TB8= SCON^3;
sbit RB8= SCON^2;
sbit TI= SCON^1;
sbit RI= SCON^0;


sbit T2EX= P1^1; // 8052 only
sbit T2= P1^0; // 8052 only


sbit TF2= T2CON^7;
sbit EXF2= T2CON^6;
sbit RCLK= T2CON^5;
sbit TCLK= T2CON^4;
sbit EXEN2= T2CON^3;
sbit TR2= T2CON^2;
sbit C_T2= T2CON^1;
sbit CP_RL2 = T2CON^0;



評論


技術專區(qū)

關閉