background image

单片机中用 c 编程时头文件 reg51.h 及 reg52.h 解析
我们在用 c 语言编程是往往第一行就是 reg51.h 或者其他的自定义头文件,我们怎么样来
理解呢?
1

) 文件包含 处理。

程序的第一行是一个 文件包含 处理。

所谓 文件包含 是指一个文件将另外一个文件的内容全部包含进来。程序中包含 REG51.h
文件的目的是为了要使用 P1 (还有其他更多的符号)这个符号,即通知 C 编译器,程序
中所写的 P1 是指 80C51 单片机的 P1 端口而不是其它变量。这是如何做到的呢?
打开 reg51.h 可以看到这样的一些内容:
(此文件一般在 C:\KEIL\C51\INC

 

下 ,INC 文件夹根目录里有不少头文件,并且里面还有

很多以公司分类的文件夹,里面也都是相关产品的头文件。如果我们要使用自己写的头文
件,使用的时候只需把对应头文件拷贝到 INC 文件夹里就可以了。)
/*---------------------------------------------------------
REG51.H
Header file for generic 80C51 and 80C31 microcontroller.
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;
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;
/* BIT Register */