找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13149|回復(fù): 49
收起左側(cè)

自己寫的頭文件中是否需要包含reg52.h

  [復(fù)制鏈接]
ID:154074 發(fā)表于 2017-5-2 22:47 | 顯示全部樓層 |閱讀模式
比如自己寫頭文件lxxx.h和xxx.c,此時主程序main.c中已經(jīng)有

#include<reg52.h>

那么在xxx.h和xxx.c中是否還需要也加#include<reg52.h>?不加的話是否可以運行,加上之后會不會重復(fù)包含?


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


回復(fù)

使用道具 舉報

ID:194895 發(fā)表于 2017-5-3 08:52 來自手機(jī) | 顯示全部樓層
已經(jīng)不需要添加了

評分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:192650 發(fā)表于 2017-5-3 11:09 | 顯示全部樓層
要加頭文件的

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:192650 發(fā)表于 2017-5-3 11:10 | 顯示全部樓層
要加頭文件 , 你在子程序中也用到了  不然會報錯

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:196194 發(fā)表于 2017-5-3 21:42 | 顯示全部樓層
要加頭文件的
回復(fù)

使用道具 舉報

ID:187614 發(fā)表于 2017-5-3 22:18 | 顯示全部樓層
加頭文件是必須的,可在主程序中加,也可在自己寫的頭文件中加。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:196284 發(fā)表于 2017-5-3 23:03 | 顯示全部樓層
所有的都要帶這個
回復(fù)

使用道具 舉報

ID:196305 發(fā)表于 2017-5-3 23:49 | 顯示全部樓層
如果是89C52就需要寫。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:196294 發(fā)表于 2017-5-4 00:04 | 顯示全部樓層
需要的 親
回復(fù)

使用道具 舉報

ID:162841 發(fā)表于 2017-5-4 01:02 來自手機(jī) | 顯示全部樓層
這個要看情況來的
回復(fù)

使用道具 舉報

ID:196356 發(fā)表于 2017-5-4 09:47 | 顯示全部樓層
兩者加也可以不加,一般里面會有ifdef endif這種宏定義,不會重復(fù)
回復(fù)

使用道具 舉報

ID:170658 發(fā)表于 2017-5-4 10:44 | 顯示全部樓層
需要的,一般
回復(fù)

使用道具 舉報

ID:194034 發(fā)表于 2017-5-4 10:51 | 顯示全部樓層
當(dāng)然了  
回復(fù)

使用道具 舉報

ID:196428 發(fā)表于 2017-5-4 11:36 | 顯示全部樓層
需要不然會報錯
回復(fù)

使用道具 舉報

ID:196405 發(fā)表于 2017-5-4 11:41 | 顯示全部樓層
51的話,是需要加頭文件的
回復(fù)

使用道具 舉報

ID:194982 發(fā)表于 2017-5-4 12:46 | 顯示全部樓層
要 的  比如宏定義時
回復(fù)

使用道具 舉報

ID:196463 發(fā)表于 2017-5-4 13:57 | 顯示全部樓層
要加頭文件的
回復(fù)

使用道具 舉報

ID:154074 發(fā)表于 2017-5-4 14:03 | 顯示全部樓層
謝謝各位的回復(fù)
回復(fù)

使用道具 舉報

ID:195401 發(fā)表于 2017-5-4 17:07 | 顯示全部樓層
必須有
回復(fù)

使用道具 舉報

ID:196589 發(fā)表于 2017-5-4 17:16 | 顯示全部樓層
需要也加#include<reg52.h>
回復(fù)

使用道具 舉報

ID:196590 發(fā)表于 2017-5-4 17:21 | 顯示全部樓層
當(dāng)然要了,這就相當(dāng)于告訴單片機(jī),我要寫一段你的程序啦
回復(fù)

使用道具 舉報

ID:116078 發(fā)表于 2017-5-7 12:56 | 顯示全部樓層
#ifndef __STC89C5xRC_RDP_H_
。。。。
。。。。#endif
頭文件開頭結(jié)尾,一般這樣寫,就是為了防止重復(fù)包含的
回復(fù)

使用道具 舉報

ID:190246 發(fā)表于 2017-5-9 09:54 | 顯示全部樓層
都要加這個頭文件的  不然里面一些宏定義和函數(shù)沒辦法使用
回復(fù)

使用道具 舉報

ID:199277 發(fā)表于 2017-5-10 21:00 | 顯示全部樓層
要加,#include <reg52.h>,其余寫#include "xxxx"
回復(fù)

使用道具 舉報

ID:194772 發(fā)表于 2017-5-11 19:05 | 顯示全部樓層
都是要加的  尤其是項目化管理的時候
回復(fù)

使用道具 舉報

ID:199666 發(fā)表于 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
它是對單片機(jī)的每個管腳的定義
回復(fù)

使用道具 舉報

ID:183159 發(fā)表于 2017-5-11 21:01 | 顯示全部樓層
頭文件中如果用到了單片機(jī)的資源,比如IO口,內(nèi)部寄存器等等就必須要添加,你可以打開頭文件看看,里面就聲明了單片機(jī)內(nèi)部的資源,你要使用當(dāng)然要調(diào)用。
回復(fù)

使用道具 舉報

ID:197752 發(fā)表于 2017-5-11 22:37 | 顯示全部樓層
需要添加
回復(fù)

使用道具 舉報

ID:199787 發(fā)表于 2017-5-11 23:39 | 顯示全部樓層
不用的
回復(fù)

使用道具 舉報

ID:199797 發(fā)表于 2017-5-12 00:13 | 顯示全部樓層
最好還是加
回復(fù)

使用道具 舉報

ID:200344 發(fā)表于 2017-5-13 16:42 來自手機(jī) | 顯示全部樓層
應(yīng)該需要吧
回復(fù)

使用道具 舉報

ID:200543 發(fā)表于 2017-5-14 10:57 | 顯示全部樓層
要加的
回復(fù)

使用道具 舉報

ID:200543 發(fā)表于 2017-5-14 10:57 | 顯示全部樓層
要加的 ,試試吧
回復(fù)

使用道具 舉報

ID:200271 發(fā)表于 2017-5-14 16:10 | 顯示全部樓層
需要添加,不添加應(yīng)該會報錯
回復(fù)

使用道具 舉報

ID:201913 發(fā)表于 2017-5-17 20:11 | 顯示全部樓層
不需要
回復(fù)

使用道具 舉報

ID:201873 發(fā)表于 2017-5-17 21:09 | 顯示全部樓層
不需要  程序開頭有就行    編完程保存時有    .c  文件就行
回復(fù)

使用道具 舉報

ID:201974 發(fā)表于 2017-5-17 21:58 | 顯示全部樓層
.c一般需要,.h可加可不加
回復(fù)

使用道具 舉報

ID:185772 發(fā)表于 2017-5-17 23:25 | 顯示全部樓層
不用全加,加上也不會重復(fù)
回復(fù)

使用道具 舉報

ID:409328 發(fā)表于 2019-7-17 18:54 | 顯示全部樓層
要加上去,因為多文件編程時每個文件先編譯后連接。所以只要你頭文件對應(yīng)的c文件里有用到reg52.h頭文件就必須加上去。但c文件中只要加自己的頭文件就可以了。
另外,多次加入reg52.h是沒有問題的,因為它里面有宏定義預(yù)處理程序,不會重復(fù)加入。


回復(fù)

使用道具 舉報

ID:585970 發(fā)表于 2019-7-17 19:10 | 顯示全部樓層
要加的
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表