您的位置 首页 方案

单片机模块化编程(一)初探

哈喽艾威玩,还记得上课时给大家讲到的单片机模块化编程的思想么?有些同学没有练习,有些同学一定也都忘却了。在这里我重新整理一下,作为我们进阶学习的第一弹内容给大家热热身咯~ 俗话说,不会

  哈喽艾威玩,还记住上课时给咱们讲到的单片机模块化编程的思维么?有些同学没有操练,有些同学必定也都忘却了。在这里我重新整理一下,作为咱们进阶学习的第一弹内容给咱们热热身咯~

 

  俗话说,不会模块化编程的厨师不是好司机。那么怎样进行单片机的模块化编程呢?且听我给咱们渐渐说来。

  (一)What is单片机的模块化编程?

  模块化编程是指将一个巨大的程序划分为若干个功用独立的模块,对各个模块进行独立开发,然后再将这些模块一致兼并为一个完好的程序。举个栗子,咱们都玩过七巧板,咱们都知道,七巧板巧在七块板子随意组合,可以组成很多种形状。我让咱们拼出一个小房子,咱们能很容易的做到,下次我又让咱们用这些拼出来一个小钟楼,咱们仍是可以毫无鸭梨的完结任务。七块板仍是这七块板,只不过进行了不同的排序算了,但却收到了两种不同的产品。这便是模块化编程的优势,只需我“七块板”到手,任你魔高一尺,我则道高一丈。

  在单片机程序里,程序比较小或许功用比较简略的时分,咱们不需求选用模块化编程,可是,当程序功用凌乱、触及的资源较多的时分,模块化编程就能表现它的优越性了。如前面咱们写过的DS18B20的驱动程序、独立按键扫描程序和12864程序,每一个程序都是只用一个源文件编写就能完结,可是,当您制造一个12864液晶日历的时分,需求用到DS18B20驱动程序、独立按键扫描程序和12864显现程序,如果把这三个程序悉数会集在一个源文件里,将导致主体程序臃肿且凌乱,这样做并非不可取,仅仅降低了程序可读性、可维护性和代码的重用率。如果把这三个程序作为三个独立的模块放到你的主体工程进行模块化编程,作用就不相同了。

  实际上,模块化编程便是模块兼并的进程,便是树立每个模块的头文件和源文件并将其加入到主体程序的进程。主体程序调用模块的函数是经过包括模块的头文件来完成,模块的头文件和源文件是模块密不可分的两个部分,缺一不可。所以,模块化编程有必要供给每个模块的头文件和源文件。

  (二)模块化编程的优点

  想当年,我仍是一枚单片机新鲜小菜的时分,记住大学的时分参与一个电子规划大赛,用单片机做了个点阵+数码管显现环境信息和万年历的程序,调试了几个星期,一切程序加起来小1000行,瘦长且凌乱的一个程序,编程的标准性也很差,从上阅读下来都要好半响。出了过错去问教师,见我这杂乱无章的程序,教师看都懒得看。所以自己调试,出了一些简略的语法过错还好定位,其它一些过错,找半响才干找的到。那个时分被自己挖的大坑折腾的够呛,那段年月也不堪回首,常常回想起来(我先去吐会儿血),仍然会觉得脑袋里一团乱麻。

 

  日子便是这样,总是在你觉得“山穷水复疑无路”的时分让你“山穷水尽”“又一村”。一个偶尔的时机,我触摸到了模块化编程。所以开端了解,觉得这个是处理困扰我N久的问题的绝好时机。所以决断开端“模块化”。每天我都会写一些函数并调试,比方us级的延时函数,ms级的延时函数,I2C协议函数,串口通讯函数,1602和12864液晶驱动函数,还有例如DS18B20等各种常用的传感器驱动函数等等。因为长时间的堆集,我收成了一大堆十分给力的函数,编程也渐突变的标准起来,不再像曾经那么难以阅读了。当然这都不是要点,要点是,我做单片机规划的速度和功率快了好几个数量级。

  那么详细是怎样完成的呢,敬请重视《第一弹—单片机模块化编程(二)》且听我渐渐道来。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/117049.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部