80C51单片机智能小车设计分析_叶伟慧(2)
时间:2025-07-08
时间:2025-07-08
软件设计开发 Computer CD Software and Applications 2012年第7期 由电桥的输出端来供电,电机的开断、转带可以通过控制继电器的开闭来实现,从而对小车的前行与倒车进行控制。下图2为小车前行与倒车的控制电路图:
图2:小车前行与倒车的控制电路
4.调速。在设计过程中一共设计了三种调速系统方案,即串电阻调速系统、脉宽调速系统以及静止可控整流系统,经过综合比较后决定采用H型双极型可逆脉宽调速变换器实现小车的调速功能,并对小车的前行与后退进行控制。其工作过程上文已做阐述,此处不再赘述。
三、软件设计
对于微机控制系统而言,在设计过程中硬件系统只是其中一部分,软件系统的设计是另外举足轻重的一部分,它的主要内容就是如何根据每个生产对象的实际需要设计出应用程序。具体的程序代码此处不做赘述,主要叙述一下程序的安装与维护。软件设计完成后便能够生成可执行文件,在测试时点击可执行文件程序就能正常运行。当系统设计完成并安装好各个功能板卡驱动后,要及时进行系统备份,以便后续维护软件时更方便。此外,还要进行重置功能的设置,可以使系统的安全性得到保证,如果系统启动了重置功能,即可恢复到初始状态。
四、系统测试与性能评估
在设计制作完成后着重对数据的精度进行测试,包括计时精度以及测距精度和定准精度,对其结果进行分析做出如下性能评估:
(上接第187页)
它是GCC的核心数据结构。一颗TREE是一个指针的类型,同时指向不同的类型。通过查找符号表,确认了软件开发的可行性。
静态规则检查
编译器的静态规则检查,包括了:词法分析、语法分析、语义分析等。
1.分析词法:编译的过程的第一个阶段是词法的分析,从左到右一个字符一个字符的读入源程序是它的任务之一,将源程序的字符扫描以及分解构成,这样才可以识别出单词。单词有集体的含义,如;标识符,保留字,算符等等。
程序语言中的一系列的限定规则是静态语言,它是确定有哪些法的程序是合适的。词法分析可以是独立的一遍,将它分离考虑的原因有三方面,一是使编译程序结构简洁,有条理;二是大大提高编译的效率;三是增强编译程序的可移植性。
2.编译程序的核心部分就是语法的分析,在词法分析的基础之上,将单词分解成为各种的短语,例如:程序,语法等。
自顶向下分析以及自底向上分析的语法分析是最常用的方法,然而,确定分析,不确定分析是自顶向下的分析,自底向上的分析又包括了算符的优先分析以及LR分析。LR分析法能够根据符号串以及向右的顺序查看的,并且确定唯一的分析器,动作是移进的方式归纳的,能惟一的确定句柄。
3.审查源程序的定义有没有错误,并且生成的阶段所收集的信息即为语义分析。
4.生成的中间代码:进行上述工作后,又得变成了内部的一种表现的形式,也就是中间语言或者是中间的代码。这个系统的记号结构简单、含义明确,可以设计成很多样式。它也得遵循两个原则:它是容易生成的;容易将它翻译成目标代码。
这就是静态规则检查的部分,他是程序化的,有条理的,为软件开发的安全性提供了很好的保证,让C++语言的应用更加的完美与合理。
基于GCC的C++静态分析器的应用的总结与展望
C++语言的编程在如今这个时代,在航天的领域也得到了使用,而航天领域是一个对国家对人民尤为重要的领域,这就要求了在航天领域编写的软件具有极其高的安全性和可靠性。所以说,C++静态分析器在其中就起到了核心的作用,审查源代码,在其中发现不符合规则的一些代码,为软件的开发与实际应用把关,为程序员在逐步检查、修改代码的过程中提供一些方便与依据,使得软件具有很高的严密性,这就是在软件的可靠性和安全性上起到的作用。同时,它又是以开源工具GCC作为基础开发的代码审查软件,由于了GCC的广泛使用,以及GCC项目的成熟,保证工具的安全可行。
但是不可避免的,所有的分析工具都面临着一些问题,其一,这些规则的覆盖度是否能很好的发现程序中的所有错误;其二,存在着误报率,这就需要它被控制在一个合理的范围以内,保证工具的可靠性。虽然有一些不足,可是C++静态分析器仍然是一个很好的测试工具。
四、结束语
基于GCC的C++静态分析器的开发与应用是随着时代的发展,随着人们对C++语言编程的深刻理解,以及在对GCC这一开源编译器的充分认知的基础之上开发出来的。它对程序有一个全面的、细致的检测,审查出已经编写好的程序有哪些地方存在着漏洞,并及时让程序员进行修改。这也为程序员的编写与审查提供了质量、速度与效率的保证,这种基于GCC的C++静态分析器具有很广泛的市场前景。
参考文献:
[1]Stanley B Lippman,Josee Lajoie《C++primer第三版》 中国电力出版社
[2]张素琴,吕映芝.蒋维杜等《编译原理》(第2版)清华大学出版社
— 183 —