单片机模块化编程简析

目录

一.前言

二.模块化编程的编程思想

1.模块化设计

 2.分层思想

三.模块化编程设计步骤

1.  创建头文件

 2.防重复包含

3.代码封装

 4.  使用模块的.c文件

 四.总结


一.前言

       模块化编程是一种软件设计技术,它强调将程序的功能划分为独立、可互换的模块,每个模块都包含执行所需功能的一个方面所必需的一切。模块接口表达了该模块所提供和所需要的元素,而这些在接口中定义的元素可以被其他模块检测到。模块化编程与结构化程序设计和面向对象程序设计密切相关,它们的目标都是通过分解成较小的部分来促进大型软件程序和系统的构建。模块化编程的发展可以追溯到1960年代,而随着软件系统的不断发展,尤其是前端网站和应用的功能日益复杂,Javascript代码量的不断增加,模块化编程变得越来越重要。这种编程方式有助于按业务逻辑划分程序结构,并且便于团队分工协作。模块化编程作为现代编程的常用提高可重用性:由于模块是独立的,它们可以在不同的项目中重复使用,这大大提高了代码的重用性。在大型项目中,可以将项目分解为较小的模块,每个团队成员可以专注于一个或几个模块的开发,这降低了开发的复杂性,并提高了工作效率。模块化的设计使得程序更易于调试和维护。如果一个模块出现问题,可以单独对该模块进行调试和修复,而不需要检查整个程序。模块化的设计使得程序结构更加清晰,易于理解。同时,由于模块是独立的,它们可以更容易地在不同的系统或平台上移植和使用。

二.模块化编程的编程思想

1.模块化设计

       将程序划分为一系列独立的、可复用的模块。每个模块都执行特定的功能,并通过接口与其他模块进行通信。模块化设计可以提高代码的可重用性和可维护性,并使程序更加易于理解和测试 。

                                                                           

 2.分层思想

       将整个系统按照不同的功能或特性进行分层,每一层都只关注于某一特定的功能或目标,并且只与其他层次进行通信。这样可以使程序的结构更加清晰,提高可维护性和可扩展性。

三.模块化编程设计步骤

1.  创建头文件

       头文件是模块化编程中的重要组成部分。头文件通常包含模块的接口定义,包括函数原型、宏定义、类型定义等。通过头文件,其他模块可以了解和使用该模块的接口,而无需了解其内部实现细节。模块化编程的关键是每一个独立功能模块创建一个.c 文件(源文件)和一个对应的.h 文件(头文件),如delay.c和delay.h(如下图。

 
#include <intrins.h>

#include "delay.h"



void delay_Xms(unsigned int xms)

{

while(xms--)

{


unsigned char i, j;


_nop_();

i = 2;

j = 199;

do

{

while (--j);

} while (--i);

}


}
#define __DELAY_H__


void delay_Xms(unsigned int xms);


#endif

 2.防重复包含

       防重复包含是为了避免在编译时重复包含同一个头文件,导致编译错误或冗余。通常在编写头文件时,使用预处理器指令来防止重复包含。常用的方法是使用头文件保护符,即在头文件开头添加条件编译指令,判断该头文件是否已经定义过。如果已经定义过,则不再编译该头文件;否则,定义该头文件并开始编译。具体体现在

#ifndef __handware_H_

#define __handware_H_


// 头文件内容


#endif //

所表示的意思便是如果没有定义__handware_H__,则定义__handware_H__,并编译下面的代码部分,直到遇到#endif。这样,当重复引用时,由于__handware_H__已经被定义,所以下面的代码部分就不会被编译了,这样便可以避免重复定义。

3.代码封装

       模块化编程中的代码封装是将代码和数据封装在模块中的过程,使得模块具有清晰的接口和隐藏内部实现细节的能力。通过封装,可以提高代码的可重用性、可维护性和可扩展性。在模块化编程中,通常将代码和数据封装在函数和类中。函数是执行特定任务的代码块,可以通过函数原型声明其接口,包括输入参数、返回值和函数功能。类是具有相似属性和行为的对象的抽象,可以封装数据成员和成员函数,并定义对象之间的交互方式。

在文件中,我们包含了“Delay.h”与“Nixie.h”的头文件。

 4.  使用模块的.c文件

将所有模块的.c 文件添加到工程中来,这样,被包含了.h 中的函数、宏定义、全局变量就可以在调用模块的.c文件中自由调用了。经编译,生成目标代码.hex 文件。

 四.总结

       模块化编程是一种将程序分解为独立、可重用的模块的编程范式。每个模块执行特定的功能,并通过明确定义的接口与其他模块进行通信。这种编程方法有助于提高代码的可维护性、可重用性和可扩展性。在实际开发中,通过合理地设计模块和定义其接口,可以提高代码的可维护性、可重用性和可扩展性。同时,使用适当的模块化编程工具和技术,如头文件保护符、函数原型、类封装等,可以有效地实现模块化编程,并促进代码的重用和测试。

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值