您现在的位置: 主页 > MCU > 51单片机 > 51单片机C语言学习笔记6:51单片机C语言头文件及其使用
本文所属标签:
为本文创立个标签吧:

51单片机C语言学习笔记6:51单片机C语言头文件及其使用

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-07-02 

很多初学单片机者往往对C51的头文件感到很神秘,而为什么要那样写,甚至有的初学者喜欢问,P1口的P为什么要大写,不大写行不行呢?其实这个是在头文件中用sfr定义的,现在定义好了的是这样的

sfr P1 = 0x90;

也就是说,到底大写,还是小写,就是在这里面决定的。这就说明,如果你要用小写,就得在头文件中改为小写。其实它都是为了编程序方便才这样写的,在程序编译时,就会变成相应的地址(如P1就变成了0x90)。

下面是一个标准的C51头文件REG52.H:

(此文件一般在C:KEILC51INC下 ,INC文件夹根目录里有不少头文件,并且里面还有很多以公司分类的文件夹,里面也都是相关产品的头文件。如果我们要使用自己写的头文件,使用的时候只需把对应头文件拷贝到INC文件夹里就可以了。)

/* BYTE Registers */

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;

/* 8052 Extensions */

sfr T2CON = 0xC8;

sfr RCAP2L = 0xCA;

sfr RCAP2H = 0xCB;

sfr TL2 = 0xCC;

sfr TH2 = 0xCD;

/* BIT Registers */

/* PSW */

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

/* TCON */

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;

/* IE */

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;

/* IP */

sbit PT2 = IP^5;

sbit PS = IP^4;

sbit PT1 = IP^3;

sbit PX1 = IP^2;

sbit PT0 = IP^1;

sbit PX0 = IP^0;

/* P3 */

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;

/* SCON */

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;

/* P1 */

sbit T2EX = P1^1; // 8052 only

sbit T2 = P1^0; // 8052 only

/* T2CON */

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;

还有一点就是,现在有很多改进型的单片机,它们有很多新增的特殊功能寄存器在标准的reg51.h或reg52.h中没有定义,这就需要自己加进头文件(相关厂家已经把它们定义好了),当然也可以直接在程序中定义。

如STC传统51单片机,要使用新增的特殊功能寄存器要include头文件

,具体定义如下:

http://space.ednchina.com/Upload/2009/4/8/aef22653-a6aa-42ed-9019-8ffe4f074c6e.rar

sfr AUXR = 0x8e;

sfr AUXR1 = 0xa2;

sfr P4 = 0xe8;

sfr XICON = 0xc0;

sfr IPH = 0xb7;

sfr WDT_CONTR = 0xe1;

sfr ISP_DATA = 0xe2;

sfr ISP_ADDRH = 0xe3;

sfr ISP_ADDRL = 0xe4;

sfr ISP_CMD = 0xe5;

sfr ISP_TRIG = 0xe6;

sfr ISP_CONTR = 0xe7;

sbit PX3 = XICON^7;

sbit EX3 = XICON^6;

sbit IE3 = XICON^5;

sbit IT3 = XICON^4;

sbit PX2 = XICON^3;

sbit EX2 = XICON^2;

sbit IE2 = XICON^1;

sbit IT2 = XICON^0;

头文件 STC12C5A60S2系列双串口1T 8051单片机

头文件 STC12C5A60AD系列高速1T 8051单片机

头文件 STC12C5201AD系列高速1T 8051单片机

头文件 STC11F60XE高速总线系列1T 8051单片机

头文件 STC10F08XE高速总线系列1T 8051单片机

参考资料:

1)51单片机C语言头文件及其使用徐学军单片机工作室

http://hi.baidu.com/xxjmcu/blog/item/6f77308dc53bf013b31bbaa7.html/cmtid/6aaaf78f561073e7f01f36a7

2)单片机中用c编程时头文件reg51.h及reg52.h解析

http://blog.csdn.net/benben85/archive/2009/03/03/3951522.aspx



              查看评论 回复



嵌入式交流网主页 > MCU > 51单片机 > 51单片机C语言学习笔记6:51单片机C语言头文件及其使用
 单片机 文件 定义

"51单片机C语言学习笔记6:51单片机C语言头文件及其使用"的相关文章

网站地图

围观()