51单片机-模块化编程

1 mins.606

模块化编程

传统方式编程:所有的函数均存放在 main.c 文件里,使用模块较多,则一个文件会包含很多代码,不方便代码的组织和管理,而且在一定程度上会影响编程者的思路

模块化编程:把各个模块的代码放在不同的.c 文件里,在.h 文件里提供外部可调用函数的声明,其他.c 文件想使用其中的代码只需要#include “XXX.h” 文件即可。使用模块化编程可极大提高代码的可阅读、可维护、可移植性。

.c文件所包含的是函数和变量的定义

.h文件包含的是可被外部调用的函数和函数的声明

下面流程框图是函数模块化的具体操作。

image-20240203123200459
  1. 在.c 文件中直接定义函数
  2. 在.h 函数中声明函数
  3. 在主函数中#include

以上是Delay函数的模块化操作,下面我来演示一下我们在使用数码管时调用的数码管函数模块化

可以看到下列代码的Delay函数和Nixie函数都是定义在main.c中的,我们要把Nixie函数模块化

image-20240203163007878

先创建一个新文件,命名和函数名相同即可

image-20240203163412242image-20240203163455736

然后将函数体剪切到刚刚创建的Nixie文件中(注意,由于函数中使用到了P0接口,P0接口是定义在头文件REGX52.H中的,我们需要在.c文件中includeREGX52.h头文件)

image-20240203164705716

接着以相同的步骤,创建一个后缀为.h的头文件,命名和函数名相同

image-20240203163922744

在其中声明我们的函数

image-20240203164315426

最后在主函数头文件中include一下,就可以在main.c的函数体中使用了

image-20240203183731798

上一篇更回味

  • 算法

      斐波那契数列代码实现

      斐波那契数列斐波那契数列(Fibonacci sequence),又称黄金分割数列 ,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁...

    • 下一篇更精彩

    • 51单片机

        51单片机数码管

        数码管数码管在开发板的左上角位置,是一种简单廉价的显示器,由多个发光二极管封装在一起组成的“8”字型器件 数码管分为共阳极和共阴极类型 根据开发板原理图如下 数...

      • 评论区

        Related Issues not found

        Please contact @Ed1Ryan2 to initialize the comment

        avatar

        Ed-RYan

        想暂停时间
        @ 淼淼淼淼淼淼淼

        • 60k

          文字

        • 20

          文章

        • 5

          分类

        • 15

          标签