reg51.h

上传人:野鹰 文档编号:1133770 上传时间:2017-05-29 格式:TXT 页数:5 大小:5.62KB
返回 下载 相关 举报
reg51.h_第1页
第1页 / 共5页
reg51.h_第2页
第2页 / 共5页
reg51.h_第3页
第3页 / 共5页
reg51.h_第4页
第4页 / 共5页
reg51.h_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《reg51.h》由会员分享,可在线阅读,更多相关《reg51.h(5页珍藏版)》请在金锄头文库上搜索。

1、是c51(用于单片机开发的一种c语言)的头文件。类似于头文件AT89X52.h。这两个头文件基本是一样的,只是在使用时对位的定义不一样,at89x52.h文件中对P1.1的操作是写成P1_1;reg52.h文件中的操作则写成P11。表示方法不一样而已。另外前者是特指ATMEL公司的52系列单片机,后者指所有52系列的单片机。(转)单片机中用c编程时头文件reg51.h及reg52.h解析单片机中用c编程时头文件reg51.h及reg52.h解析我们在用c语言编程是往往第一行就是reg51.h或者其他的自定义头文件,我们怎么样来理解呢?1)“文件包含”处理。程序的第一行是一个“文件包含”处理。所

2、谓“文件包含”是指一个文件将另外一个文件的内容全部包含进来。程序中包含REG51.h文件的目的是为了要使用P1 (还有其他更多的符号)这个符号,即通知C 编译器,程序中所写的P1 是指80C51 单片机的P1 端口而不是其它变量。这是如何做到的呢?打开reg51.h 可以看到这样的一些内容:( 文件一 在C:KEILC51INC ,INC文件 目 有不 头文件, 还有 多以公司 类的文件 , 是 的头文件。如 我们要使用自 写的头文件,使用的时 只 对 头文件 到INC文件 就可以了。)/*-REG51.HHeader file for generic 80C51 and 80C31 micr

3、ocontroller.Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.All rights reserved.-*/#ifndef _REG51_H_#define _REG51_H_/* BYTE Register */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;s

4、fr 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;/* BIT Register */* PSW */sbit CY = 0xD7;sbit AC = 0xD6;sbit F0 = 0xD5;sbit RS1 = 0xD4;sbit RS0 = 0xD3;sbit OV = 0xD2;sbit P = 0xD0;/

5、* TCON */sbit TF1 = 0x8F;sbit TR1 = 0x8E;sbit TF0 = 0x8D;sbit TR0 = 0x8C;sbit IE1 = 0x8B;sbit IT1 = 0x8A;sbit IE0 = 0x89;sbit IT0 = 0x88;/* IE */sbit EA = 0xAF;sbit ES = 0xAC;sbit ET1 = 0xAB;sbit EX1 = 0xAA;sbit ET0 = 0xA9;sbit EX0 = 0xA8;/* IP */ sbit PS = 0xBC;sbit PT1 = 0xBB;sbit PX1 = 0xBA;sbit

6、PT0 = 0xB9;sbit PX0 = 0xB8;/* P3 */sbit RD = 0xB7;sbit WR = 0xB6;sbit T1 = 0xB5;sbit T0 = 0xB4;sbit INT1 = 0xB3;sbit INT0 = 0xB2;sbit TXD = 0xB1;sbit RXD = 0xB0;/* SCON */sbit SM0 = 0x9F;sbit SM1 = 0x9E;sbit SM2 = 0x9D;sbit REN = 0x9C;sbit TB8 = 0x9B;sbit RB8 = 0x9A;sbit TI = 0x99;sbit RI = 0x98;#en

7、dif80C51 内部 的 者不看,这 是一些符号的定义,即定符号的对 系。currency1其中有sfr P1 = 0x90;这样的一行,即定义P1 0x90 对 ,P1 口的就是0x90(0x90 是C 语言中“进的写法, fi于fl编语言中写90H)。这 还可以看到一个的:sfrsfr C 语言的 ,而是Keil 为” 80C51 中的SFR 而 了一个的 ,其用法是:sfrt 变量=。2)符号P1_0 来表示P1.0 。在C 语言 ,如 写P1.0,C 编译器 不”,而 P1.0 不是一个法的C语言变量,所以 它另一个,这 的为P1_0,可是P1_0 是不是就是P1.0呢?这么 为,C

8、 编译器可不这么 为,所以 它们 系,这 使用了Keil C的 sbit 来定义,sbit 的用法有 种:第一种方法:sbit 位变量 第 种方法:sbit 位变量 SFR 变量位第 种方法:sbit 位变量 SFR 变量位如定义PSW 中的OV 可以用以 种方法:sbit OV=0xd2 (1) :0xd2 是OV 的位sbit OV=PSW2 (2) :其中PSW 用sfr 定义 sbit OV=0xD02 (3) :0xD0 就是PSW 的这 用sfr P1_0=P10;就是定义用符号P1_0 来表示P1.0 ,如 可以P10 一类的,只要 程序中 更 就行了。reg52.h的头文件内容

9、:/*-REG52.HHeader file for generic 80C52 and 80C32 microcontroller.Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.All rights reserved.-*/#ifndef _REG52_H_#define _REG52_H_/* BYTE Registers */sfr P0 = 0x80;sfr P1 = 0x90;sfr P2 = 0xA0;sfr P3 = 0xB0;sfr PSW = 0xD0;sfr ACC = 0xE0;sf

10、r 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

11、 TL2 = 0xCC;sfr TH2 = 0xCD;/* BIT Registers */* PSW */sbit CY = PSW7;sbit AC = PSW6;sbit F0 = PSW5;sbit RS1 = PSW4;sbit RS0 = PSW3;sbit OV = PSW2;sbit P = PSW0; /8052 only/* TCON */sbit TF1 = TCON7;sbit TR1 = TCON6;sbit TF0 = TCON5;sbit TR0 = TCON4;sbit IE1 = TCON3;sbit IT1 = TCON2;sbit IE0 = TCON1;

12、sbit IT0 = TCON0;/* IE */sbit EA = IE7;sbit ET2 = IE5; /8052 onlysbit ES = IE4;sbit ET1 = IE3;sbit EX1 = IE2;sbit ET0 = IE1;sbit EX0 = IE0;/* IP */sbit PT2 = IP5;sbit PS = IP4;sbit PT1 = IP3;sbit PX1 = IP2;sbit PT0 = IP1;sbit PX0 = IP0;/* P3 */sbit RD = P37;sbit WR = P36;sbit T1 = P35;sbit T0 = P34;

13、sbit INT1 = P33;sbit INT0 = P32;sbit TXD = P31;sbit RXD = P30;/* SCON */sbit SM0 = SCON7;sbit SM1 = SCON6;sbit SM2 = SCON5;sbit REN = SCON4;sbit TB8 = SCON3;sbit RB8 = SCON2;sbit TI = SCON1;sbit RI = SCON0;/* P1 */sbit T2EX = P11; / 8052 onlysbit T2 = P10; / 8052 only /* T2CON */sbit TF2 = T2CON7;sbit EXF2 = T2CON6;sbit RCLK = T2CON5;sbit TCLK = T2CON4;sbit EXEN2 = T2CON3;sbit TR2 = T2CON2;sbit C_T2 = T2CON1;sbit CP_RL2 = T2CON0;#endif

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号