标题: 自己写的头文件中是否需要包含reg52.h [打印本页]

作者: 宫本无三四    时间: 2017-5-2 22:47
标题: 自己写的头文件中是否需要包含reg52.h
比如自己写头文件lxxx.h和xxx.c,此时主程序main.c中已经有

#include<reg52.h>

那么在xxx.h和xxx.c中是否还需要也加#include<reg52.h>?不加的话是否可以运行,加上之后会不会重复包含?


新手有点迷糊,希望各位指点迷津!



作者: mask_2017    时间: 2017-5-3 08:52
已经不需要添加了
作者: 1014967323    时间: 2017-5-3 11:09
要加头文件的
作者: 1014967323    时间: 2017-5-3 11:10
要加头文件 , 你在子程序中也用到了  不然会报错
作者: 寻找0317    时间: 2017-5-3 21:42
要加头文件的
作者: 51Lovers    时间: 2017-5-3 22:18
加头文件是必须的,可在主程序中加,也可在自己写的头文件中加。
作者: sfs5954168496    时间: 2017-5-3 23:03
所有的都要带这个
作者: cuizhenshan    时间: 2017-5-3 23:49
如果是89C52就需要写。
作者: wc1996    时间: 2017-5-4 00:04
需要的 亲

作者: 199419zzq    时间: 2017-5-4 01:02
这个要看情况来的
作者: sudochen    时间: 2017-5-4 09:47
两者加也可以不加,一般里面会有ifdef endif这种宏定义,不会重复
作者: ruan1994    时间: 2017-5-4 10:44
需要的,一般
作者: zhinengxiaoche1    时间: 2017-5-4 10:51
当然了  
作者: hgd13    时间: 2017-5-4 11:36
需要不然会报错
作者: zxczxc123    时间: 2017-5-4 11:41
51的话,是需要加头文件的
作者: 550417661    时间: 2017-5-4 12:46
要 的  比如宏定义时
作者: woshiyezhen    时间: 2017-5-4 13:57
要加头文件的
作者: 宫本无三四    时间: 2017-5-4 14:03
谢谢各位的回复
作者: 卑鄙的我~    时间: 2017-5-4 17:07
必须有
作者: lianshixing00    时间: 2017-5-4 17:16
需要也加#include<reg52.h>
作者: Z781371069    时间: 2017-5-4 17:21
当然要了,这就相当于告诉单片机,我要写一段你的程序啦
作者: 1573104943    时间: 2017-5-7 12:56
#ifndef __STC89C5xRC_RDP_H_
。。。。
。。。。#endif
头文件开头结尾,一般这样写,就是为了防止重复包含的

作者: yyrldyy    时间: 2017-5-9 09:54
都要加这个头文件的  不然里面一些宏定义和函数没办法使用
作者: DAY    时间: 2017-5-10 21:00
要加,#include <reg52.h>,其余写#include "xxxx"
作者: xuzhenhui    时间: 2017-5-11 19:05
都是要加的  尤其是项目化管理的时候
作者: Nyx影    时间: 2017-5-11 19:58
您需要添加的~ 而且在keil中可以打开看regx.h
/*--------------------------------------------------------------------------
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  */
/*  PSW   */
sbit CY   = 0xD7;
sbit AC   = 0xD6;
sbit F0   = 0xD5;
sbit RS1  = 0xD4;
sbit RS0  = 0xD3;
sbit OV   = 0xD2;
sbit P    = 0xD0;

/*  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 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;

#endif
它是对单片机的每个管脚的定义
作者: xujing    时间: 2017-5-11 21:01
头文件中如果用到了单片机的资源,比如IO口,内部寄存器等等就必须要添加,你可以打开头文件看看,里面就声明了单片机内部的资源,你要使用当然要调用。
作者: elancer    时间: 2017-5-11 22:37
需要添加
作者: yzq123    时间: 2017-5-11 23:39
不用的
作者: fwy1228    时间: 2017-5-12 00:13
最好还是加
作者: anormalman    时间: 2017-5-13 16:42
应该需要吧
作者: fxtx635    时间: 2017-5-14 10:57
要加的
作者: fxtx635    时间: 2017-5-14 10:57
要加的 ,试试吧
作者: 1356986515    时间: 2017-5-14 16:10
需要添加,不添加应该会报错
作者: 柳柳    时间: 2017-5-17 20:11
不需要
作者: www.1    时间: 2017-5-17 21:09
不需要  程序开头有就行    编完程保存时有    .c  文件就行
作者: Murphy_s    时间: 2017-5-17 21:58
.c一般需要,.h可加可不加
作者: yu19961028    时间: 2017-5-17 23:25
不用全加,加上也不会重复
作者: 野蜂    时间: 2019-7-17 18:54
要加上去,因为多文件编程时每个文件先编译后连接。所以只要你头文件对应的c文件里有用到reg52.h头文件就必须加上去。但c文件中只要加自己的头文件就可以了。
另外,多次加入reg52.h是没有问题的,因为它里面有宏定义预处理程序,不会重复加入。



作者: 成色不足的苦橙    时间: 2019-7-17 19:10
要加的
作者: 木木哒的木木    时间: 2019-7-17 19:15
需要添加的,因为你的自己编写的xxx.c中可能会调用到reg52.h中的函数,当调用到的时候没有头文件可能会编译报错
作者: wangtttt    时间: 2019-7-17 21:49
要添加头文件的
作者: 小黑屋525    时间: 2019-7-18 08:47
要加,重复的问题不用考虑,简单一点来说,只要你用了单片机的任何一个部位,都要加上"reg51.h"。
作者: 止语    时间: 2019-7-18 10:39
在mian.c里面需要用到就包含,同理在其他文件里用到也要包含的,有一个简单的方法,在main.h里面包含#include<reg52.h>,这样其他文件只需要调用main.h就可以了
作者: 张贤宇    时间: 2019-7-18 16:07
不需要加
作者: ZKM123456    时间: 2019-7-19 09:48
头文件是需要加的,它里面包含了一些特殊寄存器的定义。
作者: zichenjushi    时间: 2019-7-19 11:26
你可以在.h文件写#include<reg52.h>,然后主函数#include"xxx.h"
作者: 摇光丶    时间: 2019-7-19 13:15
如果一样重复了也没关系
作者: 红色警    时间: 2019-7-19 15:17
写不同的程序是要写的
作者: 在线    时间: 2019-11-10 21:48
不需要加的




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1