可以,但是加了头文件有几点好处:首先模块化更清晰;通过头文件申明需要对外提供调用的函数,比你在其他C文件里面用extern 申明要方便。举个例子,现在有main.c,a.c,b.c三个C文件,当你在main.c需要用到的a.c里的函数,且函数很多,好几十个,你需要在main.c写好几十个extern申明的函数语句。如果你还需要在b.c调用的话,还要在b.c里面写几十个申明语句。当你还需要在其他C文件里面调用的话,那工作量就太大了。如果我们写个h文件,然后在里面去extern申明需要对外提供的函数,其他C文件里面调用只需要写个#include "a.h"即可,方便且快捷。
② 单片机c语言模块化编程,如何定义全局变量。
1.使用关键字extern修饰申明。
例如:
主文件中定义 int g_ival = 0;
别的文件里面用 extern int g_ival;申明一下就可以用了。
2.模块化编程是指将一个庞大的程序划分为若干个功能独立的模块,对各个模块进行独立开发,然后再将这些模块统一合并为一个完整的程序。这是C语言面向过程的编程方法,可以缩短开发周期,提高程序的可读性和可维护性。
3.在单片机程序里,程序比较小或者功能比较简单的时候,我们不需要采用模块化编程,但是,当程序功能复杂、涉及的资源较多的时候,模块化编程就能体现它的优越性了。如前面我们写过的HT1380驱动程序、独立按键扫描程序和12864程序,每一个程序都是只用一个源文件编写就能完成,但是,当您制作一个12864液晶日历的时候,需要用到HT1380驱动程序、独立按键扫描程序和12864显示程序,如果把这三个程序全部集中在一个源文件里,将导致主体程序臃肿且杂乱,这样做并非不可取,只是降低了程序可读性、可维护性和代码的重用率。如果把这三个程序当做三个独立的模块放到你的主体工程进行模块化编程,效果就不一样了。实际上,模块化编程就是模块合并的过程,就是建立每个模块的头文件和源文件并将其加入到主体程序的过程。主体程序调用模块的函数是通过包含模块的头文件来实现,模块的头文件和源文件是模块密不可分的两个部分,缺一不可。所以,模块化编程必须提供每个模块的头文件和源文件。
③ 单片机编程语言一般有哪几种
单片机编程语言很多,大致分成三类:机器语言、汇编语言、高级语言。机器语言由于繁琐容易出错,大部分用户已经不再便用。
1.单片机的汇编语言
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少,程序执行效率高,由于它一条指令就对应一条机器码,每一步的执行动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。但是不同的类型的单片机,其汇编语言可能有点差异,所以不易移植,因为他们的指令系统是有区别的。但懂得汇编语言可帮助了解影响川可语言效率的特殊规定。例如,懂得汇编语言指令就可以便用在片内ram作变量的优势,因为片外变量需要几条指令才能设署累加器和数据指针进行存取。同样的,当要求便用浮点数和启用函数时也只有具备汇编编程经验才能避免生成庞大的、效率低的程序,对于这方面的编程,没有汇编语言是做不到的。
2.单片机的C语言
单片机的C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言具有功能丰富的库函数,运算谏磨快,编译效率高,有良好的可移植性,而且可以实现直接对系统硬件的控制。此外,C语言程序具有完整的程序模块结构,从而为软件开发中栗用模块化程序设计方法提供了有力的保障。与汇编相比,有如下优点:
对单片机的指令系统不要求了解,仅要求对51的存储器结构有初步了解,至于寄存器分配、不同存储器的寻址及数据类型等细节均由编译器管理。程序有规范的结构,可分为不同的函数。这种方式可便程序结构化,将可变的选择与特殊操作组合在一起,改善了程序的可读性。
编程及程序调试时间显着缩短,从而提高效率。提供的库包含许多标准子程序,具有较强的数据处理能将已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。
功能强而有弹性,提供的库包含许多标准子程序,具有较强的数据处理能力,能将已编好程序容易的植入新程序,因为它具有方便的模块化编程技术。
单片机C语言作为一种非常方便的语言而得到广泛的支持,(语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片翻U均不同较快地移植过来。
用单片机c语言进行程序设计,已成为单片机软件开发的一个主流,作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。
拓展资料
单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器(Microcontroller),是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;由于单芯片微电脑常用于当控制器故又名single chip microcontroller,但是目前在中国大陆仍多沿用“单片机”的称呼。
④ 单片机的编程用C语言好还是汇编语言好。为什么
一般都用C语言编程。只有在C解决不了和代码效率比较高的时候才会使用汇编。很明显,C语言容易编程,更容易模块化编程,容易学习,会的人多。编写同一个程序,C语言所花的时间平均比汇编短很多。而且对应不同的单片机平台,汇编语言都是不同的,而C语言是通用的。
鉴于C语言有这么多好处,建议你用C语言编程,现在随着编译器功能的强大,如KIEL,基本上没有C语言处理不了的单片机问题了。
现在的硬件技术的发展,硬件成本越来越低,在代码效率不高的时候可以通过提升硬件的水平来实现系统的实时性需求。因此,在很多时候,代码的优化工作量减少了很多。
总之,C语言编程优于汇编。C语言是硬件的语言。
⑤ 51单片机汇编语言跳转指令及其作用
JMP指令改变程序执行的顺序,CALL指令实现程序的模块化等。
JMP指令可以无条件转移,使程序跳转到指定的地址开始执行。其作用是改变程序执行的顺序,让程序跳转到其他位置继续执行。
CALL指令用于调用子程序,并将返回地址压入堆栈,以便在子程序执行完毕后返回到原程序继续执行。其作用是实现程序的模块化,将程序分解成若干个子程序,便于管理和维护。