单片机程序.c和.h有什么区别,请回答的详细点?

单片机程序.c和.h有什么区别,请回答的详细点?,第1张

.c文件是整个程序中的一个或几个函数组成,在别的.C文件里可以调用它,不只是在主函数中。这样做可以增强程序的模块化,提高程序的可读性。当编制好一个模块时你可以保存在一个工程下,文件名改为**.C。这样在另一个.C文件中的文件头处只要你对它进行说明就可以调用它。比如#includestring.c

那么你就可以在你说明了的.C文件中调用它,这样一个模块可以在很多处调用,使得编程复杂度降低。程序编译时把你所说明的文件复制到你调用处程序就可以运行了。

.H文件是对单片机一些端口及一些常用的程序的库说明,

比如我们在程序中用到端口一即P1,我们能够用它是因为在库中已对它进行了说明,对P1赋予了一个端口地址,这样程序编译是才不会出错,不然会提示你UNDIFINED

.C文件一般是自己创建的。而.H文件是系统自带,不过自己也可以创建.H文件,主要对用到的一些标号进行说明,其中也可以包括一些常用的函数

用户自己创建的.C文件是放在工程目录下,.H文件一般放在编译器的某个目录下,程序编译的时候从默认目录中搜索,如果找到则复制到程序开头处。

.c是源程序,.h是头文件。在.c程序中通过include把.h文件插入到当前程序中。.h文件一般是公用文件(就是一般程序都要用的东西写在里面,这样直接调用比较方便)。通过编译器由.c文件生成.hex文件或.bin文件,再把它下载到单片机中,就能运行。现在单片机都支持ISP,但不同的单片机使用不同的编译器,51单片机是入门级的,使用Keil,剩下的学一下Keil就行了。

ABC是文件名,由用户给定*.C是后缀名,意思是用c语言编写程序,keil还支持汇编语言编写(*.ASM)*.H是后缀名,这里是声明文件,keil自带,也可以自定义*.HEX是编译好后的十六进制文件,单片机只能识别十六进制和二进制(*.BIN)的文件*.UV2是keil的工程名 直接打开*.UV2,就是打开了一个工程,如果工程里包含.C文件,那么.C文件就直接被载入了,但是想把程序拷贝的其他地方就要带上.C文件,可以不要工程文件(.UV2)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11278268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存