reg51.h头文件详解

时间:2025-04-20

“reg51.h”头文件详解

北方蓝芯科技()

我们在学习单片机时,在程序的开始都会包含一个头文件“reg51.h”,初学者一般都对该文件存在一些疑惑。例如在我们实验教程第一个实验“点亮 一个发光二极管”中,程序如下:

#include "reg51.h" //包含头文件

sbit led=P1^0; //表示用led等效于P1^0,

//P1^0就是指头文件里定义的P1寄存器的第 0 BIT void main() //主函数 {

led=0; //低电平驱动发光二极管

while(1) //进入while死循环 { } }

我们可以看到,程序的第一行便是一个“文件包含”处理。所谓“文件包含”是指一个文件将另外一个文件的内容全部包含进来,这个程序中包含REG51.h头文件的目的是为了要使用P1 这个符号,即通知C 编译器,程序中所写的P1 是指80C51 单片机的P1 端口而不是其它变量。这是为什么呢?我们可以将鼠标放到包含头文件这行,点击鼠标右键打开REG51.h文件,我们可以看到以下内容。

/* BYTE Register */ //特殊功能寄存器定义(字节) sfr P0 = 0x80; //P0口地址定义 sfr P1 = 0x90; //P1口地址定义 sfr P2 = 0xA0; //P2口地址定义 sfr P3 = 0xB0; //P3口地址定义

sfr PSW = 0xD0; //程序状态字,具体位意义见位定义 sfr ACC = 0xE0; //累加器,程序员最常用的 sfr B = 0xF0; //寄存器,主要用于乘除 sfr SP = 0x81; //堆栈指针,初始化为07;先加1后压栈,先出栈再减1, sfr DPL = 0x82; // DPTR寄存器的低八位 sfr DPH = 0x83; // DPTR寄存器的高八位

sfr PCON = 0x87; //电源控制寄存器,最高位为SMOD位 sfr TCON = 0x88; //Timer/Counter控制寄存器

sfr TMOD = 0x89; //Timer/Counter方式控制寄存器 sfr TL0 = 0x8A; //定时器0低8位 sfr TL1 = 0x8B; //定时器1低8位 sfr TH0 = 0x8C; //定时器0高8位 sfr TH1 = 0x8D; //定时器1高8位 sfr IE = 0xA8; //中断控制寄存器

sfr IP = 0xB8; //中断优先级控制寄存器

ww w.wwhrw.bnhrbcbn.cbcom.c/bombs

reg51.h头文件详解.doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219