80C51单片机智能小车设计分析_叶伟慧

更新时间:2023-05-13 03:22:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2012年第7期 Computer CD Software and Applications 软件开发设计

80C51单片机智能小车设计分析

叶伟慧

(广东海洋大学寸金学院,广东湛江 524094)

摘要:汽车行业的发展越来越迅速,而智能小车的相关研究也越来越多,实际生活中智能小车可以代替人类完成一些工作,因此有着得要的现实意义。本文在玩具电动车上加装光电检测器,对小车的运行状态进行实时测量,包括行驶的速度、所处的位置等,然后利用单片机处理测量所得的数据,最终根据实际的测量结果对小车进行智能控制。

关键词:80C51单片机;智能小车

中图分类号:TP242.6 文献标识码:A 文章编号:1007-9599 (2012) 07-0182-02

一、设计要求及系统原理 电压,当VT1与VT4处于同步导通或切断的状态,则驱动电路(一)设计要求 中的Ub1与Ub4相等;当VT2与VT3处于同步动作时,则驱动智能小车设计要求主要包括以下几项具体功能:要将行车电压Ub2、Ub3以及-Ub1则相等。 时间、里程数以及行车速度显示出来;可以自动寻迹、寻光并(二)80C51单片机及其外围电路 自动躲避障碍,还要能够程控实际的行驶速度,准确定位停车。80C51单片机共包括以下几个部分:微处理器、程序存储针对上述技术要求,在设计思路方面可以以玩具电动车为基器、数据存储器、定时器与计数器、串行口中、并行I/O口以础,以80C51单片机为核心,在玩具电动车上加装光电、红外及中断系统和特殊功能寄存器等,在单片机内有单一总线将这线、金属探测器以及超声波传感器等装置,从而实时测量电动些器件连接起来,与传统的结构模式相比,80C51基本结构最小车的速度、位置以及运行状态等数据,单片机接收到这些测大的不同之处就是采用特殊功能寄存器对各功能部件进行集量数据后对其进行处理,再根据所检测到的各类数据对电动小中控制;此外,由于80C51内部包括ROM/ERPOM,因此其所构车进行智能控制,最终实现智能化控制。 成的最小系统结构简单,且可靠性强。

(二)系统原理 (三)检测系统 本文所提出的智能小车设计方案,其智能控制由80C51检测系统的主要作用就是进行光电检测,通过各类传感器单片机来实现。最开始的时候小车的启动与复位是手动操作来测量小车的行车状态、位置以及避障等数据。 实现的,一旦小车在行驶经过规定的起始黑线时,由于车上设1.起始、终点、测障以及光线检测。与可见光传感器相比,置有超声传感器以及红外光电传感器,这些装置会对小车进行红外检测体现出可靠性强、反应速度快且定位精度高的优势,检测。80C51单片机会对小车进行控制,要求其记数、显示以因此采用红外光电码盘检测方案。本设计中检测路面起始点与及调速和避障;在行驶过程中,超声传感器的主任务是检测正终点就是通过反射式红外线光电传感器来实现的。终点是一条前方方向,而左右侧方向则由红外光电传感器来完成,正是两宽约两公分的黑线,在检测时为了满足起始时的记数以及到达类传感器的相互结合通过单片机的控制实现系统的自动避障终点时的停电需要,把一套传感器沿着黑线置于小车的底盘功能;采用双极式H型脉冲宽度调制技术提高小车在行驶过程上。要满足系统识别障碍的功能,最重要的就是传感器的选择,中的静态性能与动态性能,行驶时间与里程数采用动态共阴技可以利用超声波传感器来实现。本设计所采用的是T/R-40-12术实现。 小型超声波传感器,该检测元件可以准确地探测到前方的障碍

二、硬件设计 物,然后将超声波脉冲发送至探测目标,对其往返时间进行计(一)直流调速系统利用脉冲宽度调制调速 算,最后判定出实际的距离。光线跟踪功能是通过光敏三极管在本设计中,利用晶闸管的直流斩波器和整流电路作为直来实现的,该元件接收灯泡发出的光线,一旦其感受到光线的流调速系统,其中晶闸管处于开关状态,相位无法对其实行控照射,c-e间的阻值就会有所下降,检测电路输出高电平,制,一旦晶闸管处于触发导通的状态,电动机上就会受到电源LM393电压比较器以及74LS14施密特触发器对其进行整形后所加设的电压;如果晶闸管处于断开的状态,相应的直流电源再发送至单片机控制。 与电动机的连接也会断开,这时电动机就会经过二极管续流,2.行车方向的检测。本设计中采用了反射接收原理,系统其两端几乎没有电压。所谓的脉冲宽度调制简称为PWM,其是中配置了一对红外发射器和接收传感器。其中用于检测行车方Pulse Width Modulation的缩写,其只是对晶闸管的导通时向的电路共包括一个红外发光二极管、一外红外光敏三极管及间有所改变,并不会改变脉冲周期,所以其直流调速是通过改其上拉电阻,此套装置贴近地面装设在小车的底盘前沿,在小变脉冲宽度来实现的。 车行进过程中,红外发光二极管会向物体发射出相应强度的红

此外,单片机对继电器的闭合加以控制,也可以实现脉宽外线,当红外光敏三极管接收到其所反射回来的红外线后导调速,不过其会受到驱动能力的限制。本设计中应用可逆脉冲通,发射出一个电平跳变信号。小车处于正常行驶状态,发射宽度调制变换器,可以顺利地实现小车左转、右转的功能要求。管将红外光同步发射至地面,此时白纸会将光线反射出来,接可逆脉冲宽度调制变换器结构式的类型包括T型、H型多种,收管接收到光线后就会产生电平信号并输出;当智能小车行驶本文采用由4个三极电力晶体管与4个续流二极管组成的桥式到黑线的位置时,黑线就会将发射端的光线完全吸收,则反射电路,即双极式H型变换器,这是一种比较常用的变换器,其光线就不能被接收端接收到,这时传感器就会向80C51单片机电路原理图如下图1所示: 发送低电平信号,由其进行处理。80C51单片机内所包含的程

序均是预先设计好的,当其接收到信号后会做出执行何种程序的判断,从而实现对小车行驶状态的控制。假如需要小车前进,驱动轮直流电机就会正转进入减速区,此时80C51单片机就会控制进行脉冲宽度变频调速,脉冲调宽波形的占空比会被系统软件所改变,最终调速成功

3.前行与倒车的控制。在本系统中影响小车前行与倒车控制电路的主要因素即为桥式电路和继电器。电桥上设置常开、常闭两组开关,其中电桥一端连接在电源上,另外一端连接在

一个三极管上,假如导通三极管,就可以实现电桥的接机,此

图1:双极式H型可逆脉冲宽度调制变换器的电路原理图 时电机电枢中就会有电流经过;假如未导通电极管,则电桥就由上图1可以看出,共有两组4个电力晶体管的基极驱动处于浮空的状态,相应的也没有电流经过电机电枢。转向电机

— 182 —

软件设计开发 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 —

本文来源:https://www.bwwdw.com/article/s1pe.html

Top