周彦明 齐保谦 覃溪
摘要: 模块化的实质是把复杂的系统经过认真分解成若干个完整成熟可以认知的小部件,从完成每个小部件也就是模块入手,最终搭建成一个完整的系统体系的过程,本文重点介绍了什么是单片机C语言的模块化编程技术,模块化编程的优点,如何进行模块化编程技术,最后结合一个实例完整讲述了单片机模块化编程技术。对从事单片机开发方面工作的相关人员进行单片机编程有一定的指导意义。
关键词:模块化编程技术 设计性实验 单片机
中图分类号:TP312.1 文献标识码:A 文章编号:1007-9416(2016)08-0003-01
随着科学技术的进步和电子技术的发展,单片机越来越近地走入我们的实现生活中,掌握单片机技术是现代电子技术人才的迫切要求,在大学对电学类学生除了开设单片机技术的理论课程外,同时还在课程结束后进行几周的单片机集中实训,目的是使学生能更好的理解和灵活运用好单片机技术,如何有效地进行单片机实训对教师提出了更高的要求,教师不仅需要扎实的理论功底,同时要有丰富的工程实践经验,其中教师和学生必须掌握的单片机工程实践的精髓---模块化编程,在实训过程中起着至关重要的作用,在实训过程中灵活运用它对提高学生应用单片机的能力,实施真实工程项目管理,为将来走上技术工作岗位打下基础、能更好地为社会服务有着非常积极的意义。
1 模块化编程技术
所谓模块编程,是主流市场上常用的编程方法,就是将单片机系统程序按功能区分成若干的功能模块,这些模块是事先定制好的可用模块,我们仅仅在主程序中把这些模块串联组装起来编写主程序就可以完成程序的大部分开发任务,大大节省了编程时间同时避免了大量的编程错误。缩短了开发进程。
以微软的面象对象编程技术为例,在windows出现以前,用Turbo_C编一个有关图形界面的程序要花很大的精力和时间,画面的修改和调整也很不方便,过段时间对程序的解读也成问题,然而有了windows的编程技术后,如Visual Basic编程,编辑一个精美的任务操作界面是一件轻松愉快的事,这得益于软件的模块化作用,把复杂的对象设定做了包装,用户仅用修改一些参数就可以获得各种各样的控件进行界面设计。这种模块化的编程方法人们从手工编写代码中解脱出来,减少了繁重的重复性劳动,并使差错率降至最低。使编程更有效率,质量更好,使计算机从科研院校普及走进千家万户。
从计算机编程的发展可以看出采用模块化编程技术的学习方法可以把复杂的问题变为简单问题,可以多人协同工作,编写出高质量的程序,它具有以下四个方面的特点:
(1)高效性:以单片机模块块编程为例,调用一些在一个项目实施前已经建立好了很多的模块,如显示模块LCD1602,温度测量模块DS18B20,键处理模块KEY,延时模块DELAY,就方便调用这些模块构成一个温度控制系统的复杂应用,编程效率非常高。
(2)可靠性:单片机的各功能模块都严格定义了参数的输入输出,模块是经过反复论证可行的。因此功能模块的可靠性得到了保证,仅用正确地调用模块函数即可。降低了编程难度,提高了程序准确度和质量。
(3)灵活性:由于进行了模块化,系统的搭建有了多方面的选择,模块可以自由组合,如在做单片机的显示系统,可以用1602数字液晶,可以用静态数码管,也可以用动态数码管,可以用12864汉显液晶,也可以用诺基亚5110汉显液晶,等等。只要准备有足够的模块且不断更新模块,单片机系统就会越来越灵活,并能很好的跟上技术的进步和时代的步伐。
(4)开放性:模块是一个累积的过程,每一个独立的模块都可以编程,因此,模块积累得越多,的编程经验就越丰富,网上有丰富的单片机代码资源,稍加修改变成模块化程序,可以不断丰富自已的模块化程序库。
2 模块化编程举例
以下通过一个简单的四位数码管电子钟项目为例介绍模块化编程的具体应用。
如图1所示为电子时钟的仿真图,它由四位数码管作显示,89C2501作为控制芯片,通过三个按键操作调整时分等几部分组成。
图2为编程界面。
可以看出,程序由主程序(main)、时钟模块(time)和按键控制模块(key)三个部分组成,主程序完成定时器0和1的初始化函数调用及数码管位显示位置的分配,调用按键程序。时钟模块的任务是进行定时器0和定时器1的初始化任务及数码管的动态扫描显示。按键控制模块的任务是实现时间的调整。整个程序条理清楚,各个模块分工协作,程序完整、可读性强、易于修改。时钟模块和按键模块独立成体系放置于单独文件夹中,便于别的单片机程序引用。
3 结语
模块化编程技术是单片机最好的编程技术,它使程序结构清晰合理,便于多人协同合作进行程序任务的编写,同时模块化工作进行得越多,我们的编程技术领域越广泛、越成熟,因此,单片机的模块化编程技术是值得广泛推广和应用的。