单片机模块化编程(一)初探 - 范文中心

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

08/31

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

本文引用地址:http://www.eepw.com.cn/article/269323.htm

俗话说,不会模块化编程的厨师不是好司机。那么如何进行单片机的模块化编程呢?且听我给大家慢慢说来。

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

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

在单片机程序里,程序比较小或者功能比较简单的时候,我们不需要采用模块化编程,但是,当程序功能复杂、涉及的资源较多的时候,模块化编程就能体现它的优越性了。如前面我们写过的DS18B20的驱动程序、独立按键扫描程序和12864程序,每一个程序都是只用一个源文件编写就能完成,但是,当您制作一个12864液晶日历的时候,需要用到DS18B20驱动程序、独立按键扫描程序和12864显示程序,如果把这三个程序全部集中在一个源文件里,将导致主体程序臃肿且杂乱,这样做并非不可取,只是降低了程序可读性、可维护性和代码的重用率。如果把这三个程序当做三个独立的模块放到你的主体工程进行模块化编程,效果就不一样了。

实际上,模块化编程就是模块合并的过程,就是建立每个模块的头文件和源文件并将其加入到主体程序的过程。主体程序调用模块的函数是通过包含模块的头文件来实现,模块的头文件和源文件是模块密不可分的两个部分,缺一不可。所以,模块化编程必须提供每个模块的头文件和源文件。

(二)模块化编程的好处

想当年,我还是一枚单片机清新小菜的时候,记得大学的时候参加一个电子设计大赛,用单片机做了个点阵+数码管显示环境信息和万年历的程序,调试了几个星期,所有程序加起来小1000行,瘦长且杂乱的一个程序,编程的规范性也很差,从上浏览下来都要好半天。出了错误去问老师,见我这乱七八糟的程序,老师看都懒得看。于是自己调试,出了一些简单的语法错误还好定位,其它一些错误,找半天才能找的到。那个时候被自己挖的大坑折腾的够呛,那段岁月也不堪回首,每每回想起来(我先去吐会儿血),仍然会觉得脑袋里一团乱麻。

生活就是这样,总是在你觉得“山穷水复疑无路”的时候让你“柳暗花明”“又一村”。一个偶然的机会,我接触到了模块化编程。于是开始了解,觉得这个是解决困扰我N久的问题的绝好机会。于是果断开始“模块化”。每天我都会写一些函数并调试,比如us级的延时函数,ms级的延时函数,I2C协议函数,串口通信函数,1602和12864液晶驱动函数,还有例如DS18B20等各种常用的传感器驱动函数等等。由于长期的积累,我收获了一大堆非常给力的函数,编程也渐渐变的规范起来,不再像以前那么难以阅读了。当然这都不是重点,重点是,我做单片机设计的速度和效率快了好几个数量级。

那么具体是怎么实现的呢,敬请关注《第一弹---单片机模块化编程(二)》且听我慢慢道来。

单片机相关文章:单片机教程

单片机相关文章:单片机视频教程

单片机相关文章:单片机工作原理


相关内容

  • 单片机实用技术
    单片机实用技术 作者:shenxq301 1 首先介绍经济使用的单片机AVR 使用学习板快速入门,尤其实用于在校学生和刚刚工作的工程技术人员. AVR mega16学习板 单价:240 元 该学习板可以从正规途径买到正版,当然也可从旧货市场 ...
  • 步进电机课程设计
    单片机综合设计实验 题目: 步进电动机综合控制 学 院 计算机科学与信息工程学院 专业年级 实验组员 指导教师 日 期 2013 级自动化三班 职称 2013--12-30 目录 摘要............................ ...
  • 智能报警越障小车
    目 录 摘要„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 关键词„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 Abstract „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ ...
  • 遥控赛车毕业论文完整版
    目 录 1 引 言 .................................................................... 2 1.1红外遥控技术背景 ........................... ...
  • 实用简易电子称
    电子信息实验室开放实验 实用简易电子称 班级: 学号: 姓名: 指导教师: 实验时间:2005年10月10日到 2005年12月25日 摘要:该设计以单片机89S52为核心控制部件,系统的硬件部分包括单片机的最 小系统板,ICL7109组成 ...
  • 自动化专业英语翻译
    B 计算机与网络基础 计算机系统的组成 在说明了什么是计算机之后,让我们在来看一下计算机的定义:计算机是一种能接收.存储和处理数据,并能产生输出结果的快速.精确的符号加工系统,这一系统是在存储指令程序控制下工作的.本文说明为什么计算机是一个 ...
  • 蓝宙电子智能创新实验室
    智能创新实验室建设方案 芜湖蓝宙电子科技有限公司 -飞思卡尔大学计划官方合作伙伴 版 本:Version 2.0 所 有 者:蓝宙电子 日 期:2014.03.12 目录 一. 二. 实验室介绍 . .................... ...
  • 智能红外遥控暖风机的设计
    毕 业 设 计 学生姓名: 学 号: 学 院: 信息学院 专 业: 通信工程 题 目: 智能红外遥控暖风机的设计 指导教师: 评阅教师: 2012 年 6 月 毕 业 设 计 中 文 摘 要 目 录 1 引言 . ............. ...
  • 智能捕鼠器
    摘 要 当今社会,人们的生活水平和生活方式都在不断的提高,智能化已经在我们 生活中得到了实施.随着科学技术的进步和人们生活条件的友好改善,各种智能设备在人们的生活中不断出现,使人们的生活越来越方便和舒适.其中以单片机为核心实现的智能捕鼠器因 ...
  • 基于单片机的电子密码锁及程序
    基于单片机的电子密码锁设计 摘要 随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤为突出,传统的机械锁由于构造简单,被撬事件屡见不鲜.电子密码锁保密性好,使用灵活性高,收到广大用户的青睐. 本设计是以单片机AT89C52作为 ...