基于AT89S51单片机的智能超声波避障小车.doc

基于AT89S51单片机的智能超声波避障小车.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE \* MERGEFORMAT2 word完美格式 精心整理 学习帮手 自动寻物小车 目录 摘要3 一、总体方案概述3 二、总体电路原理图3 三、各模块功能介绍4 (一)、超声波测距模块4 (二)、数码管显示模块4 (三)、直流电机控制模块6 (四)、语音提示模块7 (五)、速度自控模块8 (六)、信号提示模块8 (七)、单片机控制模块8 四、系统软件设计9 五、元件清单10 六、应用前景10 六、参考文献11 摘要:现今发达的交通在给人们带来便捷的同时也带来了许多的交通事故。发生交通事故的因素有很多。当然,如果我们的汽车能够更加智能,就是说事先能预测并显示前面障碍物离车的距离,当障碍物距离很近时汽车会自动采取一些措施避开障碍物,这样就能够在很大程度上避免这些事故的发生。在本论文中,我们将会看到能够实现这一功能的智能小车。 关键字:超声波、测量、避障、单片机、语音 一、总体方案概述 本小车使用一台AT89S51单片机作为主控芯片,它通过超声波测距来获取小车距离障碍物的距离,并且用数码管实时的显示出来,在小车与障碍物的距离小于安全距离(用软件设定)时,小车会发出“在距您车前方x(数码显示的实时距离)米的地方有一障碍物,请您注意避让”的语音提示,并且拐弯,以避开障碍物,同时会点亮相应侧边的发光二极管作为提示信号。在避开障碍物后,小车会沿直线前进。 图1:智能小车简要原理框架图本系统设计的简易智能小车分为几个模块:单片机控制系统、超声波路面检测系统、前进、转弯控制电机以及方向指示灯系统。它们之间的相互关系如下图1所示。 图1:智能小车简要原理框架图 二、总体电路原理图 三、各模块功能介绍 (一)、超声波测距模块 图1:超声波模块时序图首先利用单片机输出一个40kHz的触发信号,把触发信号通过TRIG管脚输入到超声波测距模块,再由超声波测距模块的发射器向某一方向发射超声波,在发射时刻的同时单片机通过软件开始计时,超声波在空气中传播,途中碰到障碍物返回,超声波测距模块的接收器收到反射波后通过产生一个回应信号并通过ECHO脚反馈给单片机,此时单片机就立即停止计时。时序图如图1所示。 图1:超声波模块时序图 (二)、数码管显示模块 1、数码管显示原理 数码管有一位、双位、四位等几种。而不管将几位数码管连在一起,数码管和显示原理都是一样的,都是靠点亮内部的发光二极管来发光。数码管的内部电路结构如下页图所示:从(a)可看出,一位数码管的引脚数是10个,显示一个8字需要7个小段,另外还有一个小数点,所以其内部一共有8个小的发光二极管,最后还有一个公共端,生产商为了封装统一,单位数码管都封装10个引脚。而它们的公共端又分为共阳极和共阴极。上页图的(b)和(c)分别为共阳极和共阴极数码管的原理图。 本小车的数码管采用的是4位共阳极数码管。所谓“共阳”就是指其内部的8个发光二极管的阳极全部接在一起,而它们的阴极是独立的,通常在设计电路时一般把阳极接VCC,当我们给数码管的任一个阴极加低电平时,对应的那个发光二极管就点亮了。 图2:数码管内部原理图当使用多位一体数码管时,它们内部的公共端是独立的,而负责显示什么数字的段线全部都是连在一起的,独立的公共端可以控制多位数码管中哪一位点亮。通常我们把公共端叫做“位选线”,连在一起的段线叫做“段选线”。 图2:数码管内部原理图 2、显示部分C源程序的编写: 由于在本电子钟中4位数码管的段选线是直接接在单片机的P0口的,所以我们首先应该计算出显示各个数字所对应的P0口输出的二进制编码。例如如果要显示一个“0”,对照上面的(a)图,我们需要点亮数码管中的a、b、c、d、e、f,而g和dp不点亮,故a、b、c、d、e、f、g、dp对应的二进制编码就为再对照数码管段选线与单片机连接的顺序就可得要赋给单片机P0口的值应转换为十六进制就是a0。同理可以得到其它数字对应的十六进制编码: uchar code table[10]={0xa0,0xbe,0x62,0x2a,0x3c,0x29,0x21,0xba,0x20,0x28}; uchar code table_dot[10]={0x80,0x9e,0x42,0x0a,0x1c,0x09,0x01,0x9a,0x00,0x08}; //带小数点的数字段码表 图3:指示灯与数码管显示电路3、数码管实时显示距离 图3:指示灯与数码管显示电路 用单片机控制四位共阳7段数码管来动态显示出测量距离。在总体电路图中是通过单片机的P1 I/O口来控制数码管的段选,通过P3.0到P3.3四个I/O口来控制四位数码管的位显示,具体的显示是通过单片机的软件来控制数码管的数据显示,把单片

文档评论(0)

文档分享 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档