reg51.h源码_单片机reg51h

hacker|
122

文章目录:

Keil51头文件REG51.H中__REG51_H__ 是什么意思,能改变吗

不仅是reg51.h,通常的头文件都会使用如下方式:

#ifndef __REG51_H__

#define __REG51_H__

//头文件内容...

#endif

意思是,如果预编译时没有定义宏__REG51_H__,则定义该宏,然后编译其后的内容,到#endif结束。其作用是防止头文件嵌套包含时造成的重复编译。

例如,两个文件都包含了reg51.h,第一次遇到#include reg51.h时,会包括处理此文件,处理的同时定义了__REG51_H__。第二次再遇到#include reg51.h的时候,因为已经定义了__REG51_H__,所以编译器不会再处理#endif之前的内容。这样就防止了重复编译。

C51中,reg51.h这个库函数里都包含什么内容?

reg51.h这是个头文件,这个头文件在keil安装的文件夹里,可以打开看一下,里面定义了特殊功能寄存器的字节地址和可位寻址的位地。

用KEIL写程序时,程序如下#include

程序的书写没有任何错误,错在语法上了!

位操作C51特有的,直接在程序中书写“P2^7=0;”是会出错的,必须在程序的前边声明位变量 sbit P27=P2^7;(用P27(符号别名)代替P2^7(真实名),后边必须加分号!)

改写后的程序如下,已经编译通过!

#includeREG51.h

sbit P10=P1^0;

sbit P11=P1^1;

sbit P23=P2^3;

sbit P26=P2^6;

void main()

{

while(1)

{

P0=0xff;

P10=0;

P11=1;

P23=0;

P26=1;

}

}

祝你成功!

keil uversion4怎么可以在新建c文件时自动添加一些代码如#include什么的。

首先,不可能自动添加,也没有必要。

如果你的源代码(如1.c)要用到其他文件(如2.c)中的函数,请把2.c及2.h加入到项目中,在1.c中include其他文件的头文件。

经常看见在单片机C语言中第一行是reg51.h,其中的reg是什么意思

“reg51.h”是一些编译软件自带的MCS-51单片机特殊功能寄存器声明文件,这个头文件中包含了对P0~P3 I/O口、中断系统等几乎内部所有特殊功能寄存器进行了声明,其文件名“reg51.h”中的“reg”就是英文“register”(寄存器)的缩写。对特殊功能寄存器进行声明后,编写程序时就不需要使用难以记忆的寄存器地址来对寄存器进行操作了,每个寄存器都被声明了特定的名字,通过人类容易记忆的名称来编程更加方便。

2条大神的评论

  • avatar
    访客 2022-07-03 下午 10:47:42

    e reg51.h时,会包括处理此文件,处理的同时定义了__REG51_H__。第二次再遇到#include reg51.h的时候,因为已经定义了__REG51_H__,所以编译器不会再处理#endif之

  • avatar
    访客 2022-07-03 下午 09:07:29

    为已经定义了__REG51_H__,所以编译器不会再处理#endif之前的内容。这样就防止了重复编译。C51中,reg51.h这个库函数里都包含什么内容?reg51.h这是个头文件,这个头文

发表评论