
51单片机C语言程序头文件问题?
有AT89X51,AT89X52,REG51,REG52……这些文件都差不多吧,有什么区别呢?...
有AT89X51,AT89X52,REG51,REG52……这些文件都差不多吧,有什么区别呢?
展开
4个回答
展开全部
REG51内部规定的SFR寄存器的地址与INTEL MCS-8051单片机的相同,即任何一种型号的51单片机都有的基本SFR,REG52则是对REG51进行扩充,增加了T2和DPTR1。因此可以认为REG51是REG52的子集,此外对于不同厂家生产的51单片机,如AT89S52、W78E58等都有自己相应的SFR定义头文件。
展开全部
对于C语言的头文件来说,通常情况下是使用#include+文件名语句进行引用。
格式如下:
#include <stdio.h>
或
#include "MyLib.h"
使用 #include时,使用引号与尖括号的意思是不一样的。使用引号””时,首先搜索工程文件所在目录,然后再搜索编译器头文件所在目录。所以对于用户自定义头文件来说,通常使用双引号。
而使用尖括号<>时,刚好是相反的搜索顺序。所以对于编译系统提供的头文件来说,通常使用尖括号。
例:
假设我们有两个文件名一样的头文件 hardware.h ,但内容却是不一样的。一个保存在编译器指定的头文件目录下,我们把它叫做文件I ,另一个则保存在当前工程的目录下,我们把它叫做文件 II 。
如果我们使用的是# include <hardware.h>,则我们引用到的是文件 I。如果我们使用的是#include “hardware.h”,则我们引用的将是文件 II 。
格式如下:
#include <stdio.h>
或
#include "MyLib.h"
使用 #include时,使用引号与尖括号的意思是不一样的。使用引号””时,首先搜索工程文件所在目录,然后再搜索编译器头文件所在目录。所以对于用户自定义头文件来说,通常使用双引号。
而使用尖括号<>时,刚好是相反的搜索顺序。所以对于编译系统提供的头文件来说,通常使用尖括号。
例:
假设我们有两个文件名一样的头文件 hardware.h ,但内容却是不一样的。一个保存在编译器指定的头文件目录下,我们把它叫做文件I ,另一个则保存在当前工程的目录下,我们把它叫做文件 II 。
如果我们使用的是# include <hardware.h>,则我们引用到的是文件 I。如果我们使用的是#include “hardware.h”,则我们引用的将是文件 II 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以打开那些头文件仔细看看,定义有什么不同。那些头文件定义的都是寄存器和引脚?所以他们的差别都不大!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有多大区别,关键在于你所用的软件附带的源代码头文件是如何命名的,一般情况下用REG51.h,REG52.h,就像keill c51软件就是这样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询