- 2
- 0
- 约9.71千字
- 约 16页
- 2017-05-31 发布于湖北
- 举报
Keil软件C语言模块化编程剖析
Keil模块化编程当你在一个项目小组做一个相对较复杂的工程时,意味着你不再独自单干。你需要和你的小组成员分工合作,一起完成项目,这就要求小组成员各自负责一部分工程。比如你可能只是负责通讯或者显示这一块。这个时候,你就应该将自己的这一块程序写成一个模块,单独调试,留出接口供其它模块调用。最后,小组成员都将自己负责的模块写完并调试无误后,由项目组长进行组合调试。像这些场合就要求程序必须模块化。模块化的好处是很多的,不仅仅是便于分工,它还有助于程序的调试,有利于程序结构的划分,还能增加程序的可读性和可移植性。初学者往往搞不懂如何模块化编程,其实它是简单易学,而且又是组织良好程序结构行之有效的方法之一.本文将先大概讲一下模块化的方法和注意事项,最后将以初学者使用最广的keil c编译器为例,给出模块化编程的详细步骤。模块化程序设计应该理解以下概述:(1) 模块即是一个.c 文件和一个.h 文件的结合,头文件(.h)中是对于该模块接口的声明;这一条概括了模块化的实现方法和实质:将一个功能模块的代码单独编写成一个.c文件,然后把该模块的接口函数放在.h文件中.举例:假如你用到液晶显示,那么你可能会写一个液晶驱动模块,以实现字符、汉字和图像的现实,命名为: led_device.c,该模块的.c文件大体可以写成:[cpp]view plaincopyprint?/*************************************************************************?*?液晶驱动模块?*?*?文?件:?lcd_device.c?*?编?写?人:?小瓶盖?*?描?述:液晶串行显示驱动模块,提供字符、汉字、和图像的实现接口?*?编写时间:?2009.07.03?*?版?本:1.2?*************************************************************************/??#include?…??…??//定义变量???unsigned?char?value;//全局变量??…??//定义函数??//这是本模块第一个函数,起到延时作用,只供本模块的函数调用,所以用到static关键字修饰??/********************延时子程序************************/??static?void?delay?(uint?us)?//delay?time??{}??//这是本模块的第二个函数,要在其他模块中调用??/*********************写字符程序**************************?**?功能:向LCD写入字符?**?参数:dat_comm?为1写入的是数据,为0写入的是指令?content?为写入的数字或指令?******************************************************/??void?wr_lcd?(uchar?dat_comm,uchar?content)??{}??……??……??/*****************************?END?Files***********************************/??/************************************************************************** 液晶驱动模块** 文 件: lcd_device.c* 编 写 人: 小瓶盖* 描 述:液晶串行显示驱动模块,提供字符、汉字、和图像的实现接口* 编写时间: 2009.07.03* 版 本:1.2*************************************************************************/#include ……//定义变量 unsigned char value;//全局变量…//定义函数//这是本模块第一个函数,起到延时作用,只供本模块的函数调用,所以用到static关键字修饰/********************延时子程序************************/static void delay (uint us) //delay time{}//这是本模块的第二个函数,要在其他模块中调用/*********************写字符程序**************************** 功能:向LCD写入字符** 参数:dat_comm 为1写入的是数据,为0写入的是指令content 为写入的数字或指令************************************
您可能关注的文档
- 第7课铁器牛耕引发的社会变革.ppt
- 第8.2汽车产品定价策略.pptx
- 第7部分-自主维护活动.ppt
- 第8章-土工聚合物.ppt
- 第8章-受压构件承载力计算.ppt
- 第8单元3.1共同关注的环境问题.ppt
- JOY7LS8型采煤机FACEBOSS人机界面简介.doc
- 第8章-材料中的相变.ppt
- K-质量控制大纲.doc
- 第7章金属材料.ppt
- 全过程工程管理造价咨询工程监理项目服务方案投标方案(技术部分).doc
- 招标代理服务投标技术服务方案(技术方案).doc
- AI大模型与AIGC技术在公安领域的应用解决方案(99页 PPT).pptx
- 工业4.0智能制造数字工厂规划方案.pptx
- 树立社会主义核心价值观.docx
- 三年(2023-2025)中考历史真题分类汇编(全国)专题21 科技文化与社会生活(解析版).docx
- 2025年中考道德与法治真题完全解读(吉林卷).pdf
- 2025年中考道德与法治真题完全解读(安徽卷).pdf
- 三年(2023-2025)中考历史真题分类汇编(全国)专题14 人民解放战争(解析版).pdf
- 三年(2023-2025)广东中考历史真题分类汇编:专题03 中国近代史(八年级上册)(解析版).docx
最近下载
- 胆囊结石伴急性胆囊炎护理查房.pptx VIP
- 阿法拉伐分油机中文说明Instruction book.pdf VIP
- 山东省青岛胶州市、黄岛区、平度区、李沧区2024-2025学年九年级化学第一学期期末学业水平测试试题.doc VIP
- 石灰石-石灰乳二段中和法处理矿山酸性废水.pdf VIP
- 商业航天-行业报告:商业航天方兴未艾,低轨卫星星座建设加速.pdf VIP
- 华帝家用供热水燃气快速热水器JSQ24-i12047-13 JSQ30-i12047-16 JSQ24-i12048-13 JSQ30-i12048-16说明书用户手册.pdf
- CECS 364-2014 建筑燃气安全应用技术导则.pdf VIP
- 胆囊结石伴胆囊炎病例讨论.pptx VIP
- 2023版《马原》统一课件:专题四 唯物史观.pptx VIP
- 四川长江担保集团有限公司及其子公司2025年第六批员工公开招聘的备考题库及参考答案详解一套.docx VIP
原创力文档

文档评论(0)