音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請教 Keil C51 問題 關(guān)于怎樣建立*.h文件

作者:像見 欄目:單片機
請教 Keil C51 問題 關(guān)于怎樣建立*.h文件
請教 Keil C51 問題 關(guān)于怎樣建立*.h文件

*.h文件是怎樣的一回事呢

在  Keil C51 里面C語言里面怎樣建立 頭文件的*.h文件?
對應(yīng)不同51單片機怎樣編寫這個?
那里有這方面的下載呢
例如 現(xiàn)在有一個例子需要
#include <AT89X51.H>
#include <stdio.h>
那怎樣做呢
請教教各位大俠


2樓: >>參與討論
descriptor
系統(tǒng)自帶
這2個文件是系統(tǒng)自帶的,位于安裝目錄\UV2\C51\INC,不需要你建立。


3樓: >>參與討論
像見
找不到啊
 
4樓: >>參與討論
像見
AT89X51.H這個找不到
如果是自己寫頭文件,那怎樣寫呢

5樓: >>參與討論
zw820506
建立一個filename.h的文件
#ifndef __filename_H__
#define __filename_H__

//VALUE Definitions
//Macros

#endif

在main里+上include"filename.h"就可以了~

6樓: >>參與討論
像見
不大明白是什么意思,能具體說說嗎
 
7樓: >>參與討論
computer00
keil不是可以新建文件嗎?新建一個文本文件,
然后把一下內(nèi)容復(fù)制到那個文件中:

/*--------------------------------------------------------------------------
AT89X51.H

HEADER file for the low voltage FLASH ATMEL AT89C51 and AT89LV51.
COPYRIGHT (c) 1988-2002 Keil Elektronik GmbH and Keil SOFTWARE, Inc.
All rights reserved.
--------------------------------------------------------------------------*/

#ifndef __AT89X51_H__
#define __AT89X51_H__

/*------------------------------------------------
Byte Registers
------------------------------------------------*/
sfr P0      = 0x80;
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 P1      = 0x90;
sfr SCON    = 0x98;
sfr SBUF    = 0x99;
sfr P2      = 0xA0;
sfr IE      = 0xA8;
sfr P3      = 0xB0;
sfr IP      = 0xB8;
sfr PSW     = 0xD0;
sfr ACC     = 0xE0;
sfr B       = 0xF0;

/*------------------------------------------------
P0 Bit Registers
------------------------------------------------*/
sbit P0_0 = 0x80;
sbit P0_1 = 0x81;
sbit P0_2 = 0x82;
sbit P0_3 = 0x83;
sbit P0_4 = 0x84;
sbit P0_5 = 0x85;
sbit P0_6 = 0x86;
sbit P0_7 = 0x87;

/*------------------------------------------------
PCON Bit Values
------------------------------------------------*/
#define IDL_    0x01

#define STOP_   0x02
#define PD_     0x02    /* Alternate definition */

#define GF0_    0x04
#define GF1_    0x08

#define SMOD_   0x80

/*------------------------------------------------
TCON Bit Registers
------------------------------------------------*/
sbit IT0  = 0x88;
sbit IE0  = 0x89;
sbit IT1  = 0x8A;
sbit IE1  = 0x8B;
sbit TR0  = 0x8C;
sbit TF0  = 0x8D;
sbit TR1  = 0x8E;
sbit TF1  = 0x8F;

/*------------------------------------------------
TMOD Bit Values
------------------------------------------------*/
#define T0_M0_   0x01
#define T0_M1_   0x02
#define T0_CT_   0x04
#define T0_GATE_ 0x08
#define T1_M0_   0x10
#define T1_M1_   0x20
#define T1_CT_   0x40
#define T1_GATE_ 0x80

#define T1_MASK_ 0xF0
#define T0_MASK_ 0x0F

/*------------------------------------------------
P1 Bit Registers
------------------------------------------------*/
sbit P1_0 = 0x90;
sbit P1_1 = 0x91;
sbit P1_2 = 0x92;
sbit P1_3 = 0x93;
sbit P1_4 = 0x94;
sbit P1_5 = 0x95;
sbit P1_6 = 0x96;
sbit P1_7 = 0x97;

/*------------------------------------------------
SCON Bit Registers
------------------------------------------------*/
sbit RI   = 0x98;
sbit TI   = 0x99;
sbit RB8  = 0x9A;
sbit TB8  = 0x9B;
sbit REN  = 0x9C;
sbit SM2  = 0x9D;
sbit SM1  = 0x9E;
sbit SM0  = 0x9F;

/*------------------------------------------------
P2 Bit Registers
------------------------------------------------*/
sbit P2_0 = 0xA0;
sbit P2_1 = 0xA1;
sbit P2_2 = 0xA2;
sbit P2_3 = 0xA3;
sbit P2_4 = 0xA4;
sbit P2_5 = 0xA5;
sbit P2_6 = 0xA6;
sbit P2_7 = 0xA7;

/*------------------------------------------------
IE Bit Registers
------------------------------------------------*/
sbit EX0  = 0xA8;       /* 1=Enable External interrupt 0 */
sbit ET0  = 0xA9;       /* 1=Enable Timer 0 interrupt */
sbit EX1  = 0xAA;       /* 1=Enable External interrupt 1 */
sbit ET1  = 0xAB;       /* 1=Enable Timer 1 interrupt */
sbit ES   = 0xAC;       /* 1=Enable Serial PORT interrupt */
sbit ET2  = 0xAD;       /* 1=Enable Timer 2 interrupt */

sbit EA   = 0xAF;       /* 0=Disable all interrupts */

/*------------------------------------------------
P3 Bit Registers (Mnemonics & Ports)
------------------------------------------------*/
sbit P3_0 = 0xB0;
sbit P3_1 = 0xB1;
sbit P3_2 = 0xB2;
sbit P3_3 = 0xB3;
sbit P3_4 = 0xB4;
sbit P3_5 = 0xB5;
sbit P3_6 = 0xB6;
sbit P3_7 = 0xB7;

sbit RXD  = 0xB0;       /* Serial data input */
sbit TXD  = 0xB1;       /* Serial data OUTPUT */
sbit INT0 = 0xB2;       /* External interrupt 0 */
sbit INT1 = 0xB3;       /* External interrupt 1 */
sbit T0   = 0xB4;       /* Timer 0 external input */
sbit T1   = 0xB5;       /* Timer 1 external input */
sbit WR   = 0xB6;       /* External data MEMORY write strobe */
sbit RD   = 0xB7;       /* External data MEMORY read strobe */

/*------------------------------------------------
IP Bit Registers
------------------------------------------------*/
sbit PX0  = 0xB8;
sbit PT0  = 0xB9;
sbit PX1  = 0xBA;
sbit PT1  = 0xBB;
sbit PS   = 0xBC;
sbit PT2  = 0xBD;

/*------------------------------------------------
PSW Bit Registers
------------------------------------------------*/
sbit P    = 0xD0;
sbit FL   = 0xD1;
sbit OV   = 0xD2;
sbit RS0  = 0xD3;
sbit RS1  = 0xD4;
sbit F0   = 0xD5;
sbit AC   = 0xD6;
sbit CY   = 0xD7;

/*------------------------------------------------
Interrupt Vectors:
Interrupt Address = (NUMBER * 8) + 3
------------------------------------------------*/
#define IE0_VECTOR    0  /* 0x03 External Interrupt 0 */
#define TF0_VECTOR    1  /* 0x0B Timer 0 */
#define IE1_VECTOR    2  /* 0x13 External Interrupt 1 */
#define TF1_VECTOR    3  /* 0x1B Timer 1 */
#define SIO_VECTOR    4  /* 0x23 Serial PORT */

#endif



然后保存時,文件名為AT89X51.h就OK了。

8樓: >>參與討論
像見
謝謝
現(xiàn)在還有一些不太明白的 是建立AT89X51.H文件
里面為什么要填寫#ifndef __AT89X51_H__
#define __AT89X51_H__

/*------------------------------------------------
Byte Registers
------------------------------------------------*/
sfr P0      = 0x80;
sfr SP      = 0x81;
等等這些東西呢  是根據(jù)什么來填寫的呢 不同的單片機又有什么不同呢

9樓: >>參與討論
computer00
一般是根據(jù)文件名。用來避免重復(fù)定義的
例如當(dāng)多次包含頭文件時,可能會出現(xiàn)重復(fù)定義的錯誤,加上這兩個之后(還要配合最后的#endif),就不會出錯了。

這個標號要是唯一的。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
做過LED顯示屏的哥們近來看看
請各位推薦幾款合適的單片機
單片機控制蜂鳴器
現(xiàn)在穩(wěn)壓管應(yīng)該怎么買?在市場上見到的感覺沒有可靠性
奇怪的問題,高手來瞧瞧
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號