文档介绍:该【《C语言设计规范》 】是由【相惜】上传分享,文档一共【19】页,该文档可以免费在线阅读,需要了解更多关于【《C语言设计规范》 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。单片机程序设计标准内部培训精选ppt培训内容:单片机程序设计标准培训目的:让员工培养好的编程****惯,了解、掌握编程标准;统一部门编程风格,保证程序编写质量,提高程序的可移植性和维护性精选ppt单片机程序设计标准一、程序质量的评估程序的优劣可以从两个方面进行评估,定量指标和定性指标。〔1〕定量指标包括:1)程序代码执行效率;2)程序占用资源多少。2024/3/20精选ppt单片机程序设计标准〔2〕定性指标包括:1)可调试性,即是否方便排除程序语法错误;2)可测试性,即是否方便验证程序功能的正确性;3)可维护性,即是否方便程序的修改和升级;4)可移植性;5)可读性。2024/3/20精选ppt二、程序架构应用层、界面层和底层驱动层1)底层驱动层主要包含直接和硬件相关的驱动程序,如数码管显示、按键、峰鸣器、继电器和电机控制等。底层的各个模块间要保持各自的独立性,不产生直接的数据交互,底层也不直接访问应用层,如果有需要,都要通过界面层进行数据交互2)界面层主要提供数据交互,为应用层和底层驱动之间以及底层驱动层各模块之间提供数据的交互。3)应用层主要完成具体功能的实现,它要通过界面层控制底层驱动层各模块来完成所需功能,而不能越过界面层直接访问底层驱动层。、设计根本原那么1)尽量减少各个子程序功能模块间的耦合度〔耦合度是指一个程序的执行对另一个程序的影响力〕,保证各自的独立性。一般情况下,建议子程序模块功能的划分要尽可能细化,功能尽量单一,减少子程序模块间的数据交互。2)在满足功能需求的情况下,可适当牺牲代码的执行速度,以保证程序的透明度。3)主要子程序模块间的交互,要通过特定的界面跟应用层进行沟通,可使用FIFO〔Firstin,Firstout〕或是Buffer两种方式。每种子程序模块都可以有自己的FIFO。例如:就按键来说,一般有Keybuffer、KeyFIFO或直接进入APFIFO三种设计方式2024/3/20精选ppt4)每个子程序模块只能有唯一一个程序入口地址在程序的首部,只能有唯一一个程序出口地址在程序的尾部。5)上电复位时要对所有的RAM空间进行初始化〔建议用户存放器清零,系统存放器进行必要设定〕,不要使用未经初始化的变量。RAM未经过完整的初始化,容易导致程序执行的不确定性,这一不良现象往往在批量生产中有所表达。(这点是工程师经常犯错的地方,须特别注意)6)系统中如果需要等待一些未知的应答信号,如通信或等待输入信号时,必须进行超时或异常处理,以防止程序进入“死等〞状态。2024/3/20精选ppt7)通过对系统数据结构的划分与组织的改进,以及对程序算法的优化来提高空间效率。这种方式是解决软件空间效率的根本方法。8)保证循环体内的工作量最小化。应仔细考虑循环体内的语句是否可以放在循环体之外,使循环体内工作量最小,从而提高程序的执行效率。9)在多重循环中,应将最忙的循环放在最内层。2024/3/20精选ppt10)中断处理程序应尽量短。有效的作法为:在中断中进行标记,在主程序中进行处理。但一些实时性要求较高的程序例外。此外,进入中断时应该保存涉及到的变量和存放器。11)看门狗的正确使用。看门狗主要用于微控制器死机时的时间溢出复位,需要程序适时去除。正确的处理方式为:整个系统程序中尽量保证只有一处清看门狗位置,而且应处在主循环的主干位置。切记不可在定时中断中清狗,因为微控制器有时只是在主循环中死掉。2024/3/20精选ppt四、排版风格1、程序采用缩进风格编写,缩进为1个Tab键,1个Tab键定义为8个空格位。2、程序中的标号要从第一列开始书写。以“.〞开头的预编译命令也要从第一列开始书写,其他预编译命令采用缩进风格编写。3、定义变量或常量时,变量名或常量名与命令符之间使用2个Tab键〔相当于16个空格位〕分开,命令符与后面的操作数用1个Tab键〔相当于8个空格位〕分开。4、程序语句后面假设有注释,所有的注释要遵守上下对齐的原那么。2024/3/20精选ppt