一、头文件代码 #include <reg52.h>或者#include "reg52.h"
两种书写方式的作用:
①当使用<>包含头文件时,编译器先进入到软件安装文件夹处开始搜索这个头文件,也就是 KEILC51/C51/INC 这个文件夹下,如果这个文件夹没有引用的头文件,编译器将会报错。
②当使用""包含头文件时,编译器先进入到当前工程所在文件夹处开始搜索该头文件,如果当前工程所在文件夹下没有该头文件,编译器将继续回到软件安装文件夹处搜索这个头文件,若找不到该头文件,编译器将报错。
#include "reg52.h"内容:
/*--------------------------------------------------------------------------
REG52.H
Header 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;//三态双向IO口 特殊功能寄存器P0地址为0x80 ,可位寻址。//低8位地址总线/数据总线(一般不用而只作普通I/O口,注意作I/O口用时,硬件上需接上拉电阻)
sfr P1 = 0x90; //准双向 IO口 P1口
sfr P2 = 0xA0; //准双向 IO口 P2口;高8位地址总线,一般也作普通I/O用
sfr P3 = 0xB0; //双功能, 准双向 IO口 P3口
sfr PSW = 0xD0; // 可以位寻址(C语言编程时可不考虑此寄存器)
//程序状态寄存器Program Status WORD (程序状态信息)
sfr ACC = 0xE0; //累加器A 特殊功能寄存器 可位寻址
sfr B = 0xF0; //寄存器B 主要用于乘除运算
sfr SP = 0x81; //堆栈指针寄存器SP 存放站定栈顶地址、
sfr DPL = 0x82;
sfr DPH = 0x83; //数据指针寄存器DPTR、
//对片外