刘涛涛 毕业论文
更新时间:2024-06-09 11:01:01 阅读量: 综合文库 文档下载
- 刘国中推荐度:
- 相关推荐
2013届 分 类 号:TP242 单位代码:10452
毕业论文(设计)
超声波测距在机器人避障中的应用
姓 名
刘涛涛 学 号 200909140401 年 级 2009 专 业
电气工程及其自动化 系 (院)
汽车学院
指导教师 王红梅
年 月 日
临沂大学2013届本科毕业设计说明书
摘 要
移动机器人在工作的时候不可避免地受到障碍物的干扰,障碍物会严重影响机器人的工作效率,碰撞时更会使机器人损坏,所以实现机器人的自动避障非常重要。本论文提出了基于超声波传感器测距的移动机器人的模糊避障系统,采用单片机AT89C51为核心,用超声波测距的方法检测障碍物,通过单片机对信号的处理,驱动电机的转向,左右前进与后退,从而达到自动避障的功能。
通过实践得出模糊避障控制机理和策略易于接受和理解,便于应用开发,模糊避障算法对环境有很大的适应性,机器人能在不同的环境条件下实现了避障。
关键词: AT89C51单片机、移动机器人、超声波传感器
I
临沂大学2013届本科毕业设计说明书
Abstract
Mobile robot to work when I inevitably subject to interference from obstructions, obstructions will seriously affect the efficiency of the robot, collision damage and even make robots, robot automatic obstacle avoidance is very important. This paper presents a fuzzy obstacle avoidance system based on ultrasonic sensors ranging mobile robot using AT89C51 microcontroller as the core, the obstacle detection method using ultrasonic ranging, single-chip signal processing, drive motor steering, left and right, forward and backward , so as to achieve the automatic obstacle avoidance function.
Through practice on fuzzy obstacle avoidance control mechanism and strategy is easy to accept and understand, easy application development, fuzzy obstacle avoidance algorithm has great adaptability to the environment, the robot obstacle avoidance in different environmental conditions .
Keywords: AT89C51 microcontroller;bile robot;Ultrasonic sensors
II
临沂大学2013届本科毕业设计说明书
目 录
绪 论 ..................................................................... 1 1课题设计目的及意义 .................................................... 1 1.1设计的目的 ......................................................... 1 1.2设计的意义 ......................................................... 1 2超声波测距仪的设计思路 ................................................ 1 2.1超声波测距原理 ..................................................... 1 3课题设计的任务和要求 .................................................. 2 第一章 超声波测距系统硬件设计 ............................................. 2 1 系统设计 .............................................................. 2 2 51系列单片机的功能特点 ............................................... 3 3系统硬件结构的设计 .................................................... 3 3.1 单片机显示电路原理 ................................................ 4 3.2 超声波发射电路 .................................................... 4 3.3 超声波检测接收电路 ................................................ 4 3.4超声波测距系统的总电路 ............................................. 5 第二章 超声波测距系统的软件设计 ........................................... 5 1 超声波测距仪的算法设计 ................................................ 5 2主程序流程图 .......................................................... 6 3超声波发生子程序和超声波接收中断程序 .................................. 7 4 系统的软硬件的调试 .................................................... 7 第三章 超声波测距系统在智能机器人中的应用 ................................. 7 1 避障系统设计思想 ...................................................... 8 2 硬件设计 .............................................................. 8 3 软件设计 .............................................................. 9 总结 ..................................................................... 12 致谢 ..................................................................... 13 参 考 文 献 .............................................................. 14 附 录 .................................................................... 15
III
临沂大学2013届本科毕业设计说明书
绪 论
1课题设计目的及意义
1.1设计的目的
随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。 1.2设计的意义
随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现开挖已经建设好的建筑设施来改造排水系统的显得非常重要。而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声波测距仪的研制。因此,设计好的超声波测距仪就显得非常重要了。这就是我设计超声波测距仪的意义。
2超声波测距仪的设计思路
2.1超声波测距原理
发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。
表1-1 超声波波速与温度的关系表
1
临沂大学2013届本科毕业设计说明书
温度(℃) 声速(m/s) -30 313 -20 319 -10 325 0 331 10 337 20 344 30 349 100 386 3课题设计的任务和要求
设计一超声波测距仪,任务: (1).了解超声波测距原理。
(2).根据超声波测距原理,设计超声波测距器的硬件结构电路。 设计一超声波测距器,要求:
(1).设计出超声波测距器的软件结构电路。
(2).对设计的电路进行分析能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离。 (3).以数字的形式显示测量距离。
第一章 超声波测距系统硬件设计 1 系统设计
利用超声波检测距离,设计比较方便,计算处理也较简单,其测量精度也能达到使用要求。超声波发生器可以分为两大类:一类是用机械方式产生超声波,一类是用电气方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本设计采用 AT89C51 单片机作为控制器,用动态扫描法实现 LED 数字显示,超声波驱动信号用单片机的定时器。
单片机发出 40kHz 的信号经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为 t,再由软件进行判别、计算,得出距离数并送 LED 显示。如图 1 所示。
超声波接超声波发单片机 控制器 LED显示 扫描驱动
图1 超声波测距器系统方案
超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。本设计采用反射波方式。测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。
2
临沂大学2013届本科毕业设计说明书
2 51系列单片机的功能特点
51系列单片机以其高性能、高速度、体积小、价格低廉、可重复编程和方便功能扩展等优点,在市场上得到广泛的应用。因此此次设计采用51系列单片机,由于AT89C51在51系列单片机里有典型的代表性,所以本文选择AT89C51型号。
5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时/计数器TO和T1,4个8 b的I/O端I:IP0,P1,P2,只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息P3,一个全双功串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除保存的仪器和系统中更为有用。该系列单片引脚与封装如图2-1所示。
51系列单片机封装图
5l系列单片机提供以下功能:4 kB存储器;256 BRAM;32条I/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。
空闲方式:CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。 掉电方式:保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。
5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。
3系统硬件结构的设计
硬件电路主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用 AT89C51 来实现对 CX20106A 红外接收芯片和 TCT40-10 系列超声波转换模块的控制。单片机通过 P1.0 引脚经反相器来控制超声波的发送,然后单片机不
3
临沂大学2013届本科毕业设计说明书
停的检测 INT0 引脚,当 INT0 引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物 3.1 单片机显示电路原理
单片机采用AT89C51 或其兼容系列。为了获得较稳定的时钟频率,系统采用12MHz 高精度的晶振,以减小系统测量误差。单片机用P1.0 端口输出40KHz 方波信号,为超声波转化器所用,利用外中断0 口检测超声波接受电路输出的返回信号。显示电路采用简单实用的共阳LED 数码管,段码用单片机P0 口加限流电阻直接驱动,位码用PNP 三极管9012 驱动。 3.2 超声波发射电路
超声波发射电路原理图如图2-2所示。发射电路主要由反向器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。
图2-2 超声波发射电路原理图
压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。 3.3 超声波检测接收电路
4
临沂大学2013届本科毕业设计说明书
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路(如图2-3)。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。
图2-3 超声波检测接收电路
3.4超声波测距系统的总电路
本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用AT89C51,经济易用,且片内有4K的ROM,便于编程。电路原理图如图附录1。
第二章 超声波测距系统的软件设计
超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。
1 超声波测距仪的算法设计
超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。这样只要计算出从发出超
5
临沂大学2013届本科毕业设计说明书
声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为:d=s/2=(c×t)/2其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。 在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。其部分源程序如附录2。
2主程序流程图
软件分为两部分,主程序和中断服务程序,如图3-1(a)(b) (c) 所示。主程序完成初始化工作、各路超声波发射和接收顺序的控制。
定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。
返回 返回
外部中断子程序 有回波吗 三方向均发射完否? 单片机初始化 定时中断子程序 定时器初始化 关外部中断 开始 定时中断入口 外部中断入口 发射超声波 读取时间值 计算距离 结果输出 停止发射 开外部中断 (a)主程序流程图 (b)定时中断服务子程序 (c)外部中断服务子程序
超声波测距系统的软件设计 主程序首先是对系统环境初始化,设置定时器T0工作模式为16位定时计数器模式。置位总中断允许位EA并给显示端口P0和P1清0。然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1 ms(这也就是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用的是12 MHz的晶 振,计数器每计一个数就是1μs,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)
6
临沂大学2013届本科毕业设计说明书
按式(2)计算,即可得被测物体与测距仪之间的距离,设计时取20℃时的声速为344 m/s则有: d=(c×t)/2=172TO/10000cm (2) 其中,T0为计数器T0的计算值。 测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。为了有利于程序结构化和容易计算出距离,主程序采用C语言编写。
3超声波发生子程序和超声波接收中断程序
超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。超声波发生子程序较简单,但要求程序运行准确,所以采用汇编语言编程。
超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。 前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。部分源程序如附录3。
4 系统的软硬件的调试
超声波测距仪的制作和调试都比较简单,其中超声波发射和接收采用Φ15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C0的大小,以获得合适的接收灵敏度和抗干扰能力。 硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为0.07~5.5m,测距仪最大误差不超过1cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。软件的调试程序见附录4
第三章 超声波测距系统在智能机器人中的应用
在智能机器人的研制开发中, 很重要的一部分就是机器人要能实现避障功能, 即通过传感器的作用, 探测机器人行进道路上是否碰到障碍。若碰到了障碍, 机器人应该自动转向, 躲避障碍。
1 避障系统设计思想
7
临沂大学2013届本科毕业设计说明书
移动机器人感知环境的手段是不完备的,传感器给出的数据是不完全、不连续、不可靠的,因此移动机器人的安全避障成为当今机器人研究领域的一个焦点问题和难点问题。安全避障具体的实现方法有很多种,超声避障实现方便,技术成熟,成本低,成为移动机器人常用的避障方法,但超声避障存在一些缺点,如存在探测盲区等,特别是当超声传感器和障碍形成一定角度时会产生幻影导致机器人得到错误的信息,从而发生碰撞。本文采用多个传感器的模糊避障算法来克服超声传感器的幻影干扰,实现机器人的安全避障。
2 硬件设计
移动机器人硬件系统主要由电源模块、车速检测模块、直流电机驱动模块、路径模糊避障模块、显示模块、单片机模块等组成。
路径模糊避障模块将采集到的路面障碍物与车体位置的信息、转速测量模块测得的车速信息通过各自的接口送到单片机。单片机则根据这些信息,通过相应的软件算法对舵机与直流驱动电机进行控制,进而完成对小车方向与速度的控制,电源模块则向各个模块提供所需的电压与电流,并要保证系统稳定安全的运行。
障碍物的信息包括超声波传感器中心到障碍物的最短距离和障碍物相对于车体的方位。移动机器人运行过程中,实时采集每个方向上超声波传感器中心到障碍物的边界距离,进行比较划分找到其中最短的距离及方位作为车体到障碍物的最短距离和方位。避障算法如下:移动机器人以某一速度前进,如果某一传感器检测到的距离符合R1~ R9某个规则,那么机器人就根据程序选择绕开障碍物或继续前进。避障软件实现的步骤包括主程序、测距程序、显示程序、电机转向控制,如图14所示为避障步骤图。
开始 系统初始化 测距子程序 电机转向控制 子程序
图14 避障程序流程图
8
临沂大学2013届本科毕业设计说明书
3 软件设计
单片机编程产生超声波,在系统发射超声波的同时利用定时器的计数功能开始计时,接收到回波后,接收电路输出端产生的负跳变在单片机的外部中断源输入口产生一个中断请求信号,响应外部中断请求,执行外部中断服务子程序,停止计时,读取时间差,计算距离,然后通过软件译码,将数据输出P0、P1和P2口显示。
程序流程图如图15,(a)为主程序流程图,(b)为定时中断子程序流程图,(c)为外部中断子程序流程图。
初始化 定时中断入口 外部中断入口 定时中断子程序 定时器初始化 读取时间值 发射超声波 有回波否? 发射完否? 外部中断子程序 停止发射 等待 计算距离 保存结果 清中断 清中断 返回 返回
图15 程序流程图
根据避障规则,移动机器人以某一速度前进,如果某一传感器检测到的距离小于某个值,这个值是预定义可编程的临界距离,那么机器人以某一角度偏转,从而绕开障碍物继续前进。机器人在行驶过程中如果遇到障碍物,它的超声波测距系统马上计算出机器人与障碍物的距离d,若d 9 临沂大学2013届本科毕业设计说明书 开始 初始化 左是否 有障碍? 右是否 有障碍? 距离d 图16 避障程序流程图 10 临沂大学2013届本科毕业设计说明书 总结 本课题介绍了一种基于单片机的超声波测距系统的原理和设计。给出了硬件和软件的设计方案。 超声波传感器是本系统的核心器件,本论文详细地介绍了超声波传感器的原理、结构、检测方式以及它的一些特性。只有深入地了解超声波传感器的工作原理,才能更好的设计测距电路。单片机是本系统的控制部分,采用Atmel 公司生产的AT89C51 芯片。通过对单片机产生的信号进行放大,以驱动传感器工作。接收电路采用的是CX20106A,通过接收电路对接收到的信号进行放大和整形,最终再输出负脉冲给单片机响应中断程序。本系统的LED 显示部分采用的是动态扫描方式,并用单片机软件译码。单片机内部采用C 语言编程,信号的产生、时间差的读取、距离的计算以及显示输出的译码都由单片机编程完成。 本文实现了利用超声波测距信息来实现移动机器人的顺利避障行走,是因为超声波测距仪信息处理简单、速度快,但它也具有一定的局限性,主要表现在探测波束角过大、方向性差、只能获得目标的距离信息,而不能准确地提供目标的边界信息等,故需要对数据的融合算法进行进一步的研究,以消除它的缺陷。 11 临沂大学2013届本科毕业设计说明书 致谢 首先感谢我的导师王红梅老师,在老师的耐心指导和帮助下,我才能顺利完成毕业设计。从整片论文完成的过程中,从其中学会了很多专业方面的知识。 过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这几个个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。 也感谢在毕业设计中帮助过我的所有同学和师兄师姐们,感谢你们对我的支持。 由于自身水平有限,设计中难免存在很多不足之处,敬请各位老师批评指正。 12 临沂大学2013届本科毕业设计说明书 参 考 文 献 【1】 刘凤然,田红芳,王侃.基于单片机的移动机器人自动避障控制系统.中国仪器仪 表,2001,3:27-29 【2】 蔡美琴.MCS-51系列单片机系统及其应用.北京:高等教育出版社,1999.4 【3】 徐国华,谭敏.移动机器人的发展现状及其趋势.机器人技术与应用,2001.3 【4】 刘玉琴,刘敬文.超声波测距仪在移动机器人避障中的应用,2006.6 【5】 刘晔,王峰,韦兆碧,等.超声波测距仪的研究.计算机测量与控制,2002.10 【6】 栗桂凤,周东辉,王光昕.基于超声波传感器的机器人坏境探测系统.传感器技术, 2005.2 【7】 孟庆春,齐勇,张淑君等.智能机器人及其发展.中国海洋大学学报,2004,34(5): 831-838 【8】 罗本成等.机器人多路超声波坏境探测器的研制.中国科学院研究生院学报, 2002,19(2):172-176 【9】 李茂山.超声波测距原理及其实践技术.实用测试技术,1994.1 【10】曾德怀,谢存禧等.行走机器人的超声波测距系统的研究.机械科学与技术,2004, 23(5):613-616. 【11】王云涛,鲍青衫等.超声波测距系统在移动智能机器人中的应用.哈尔滨工业大学 学报。1998,2,30(1):20-23 【12】张迎新等.单片机初级教程(单片机初级基础).北京航空航天大学 【13】华成英等.模拟电子技术基本教程.清华大学出版社 【14】庄晓东,孟庆春,殷波等.动态坏境中基于模糊概念的机器人路径搜索方法.机器 人,2001,23(5):397-399 【15】张汝波,周宁,顾国昌等.基于强化学习的智能机器人碰壁方法研究.机器人, 1999,21(3):204-209 【16】隋卫平.高精度实时超声波测距技术研究.国防科技大学硕士论文.2003. 【17】沙爱军.基于单片机的超声波测距系统的研究与设计.北京:电子科技,2009(11) 【18】基于AT89C51超声波测距控制系统设计.李录锋: 中国矿业大学,徐州 221116 13 临沂大学2013届本科毕业设计说明书 附 录 附录1 超声波测距电路原理图 超声波测距电路原理图 附录2 RECEIVE0:PUSH PSW PUSH ACC 14 临沂大学2013届本科毕业设计说明书 CLR EX0 ;关外部中断0 MOV R7, TH0 ;读取时间值 MOV R6, TL0 CLR C MOV A, R6 SUBB A, #0BBH;计算时间差 MOV 31H, A ;存储结果 MOV A, R7 SUBB A, #3CH MOV 30H, A SETB EX0 ;开外部中断0 POP ACC POP PSW RETI 附录3 receive1:push psw push acc clr ex1 ;关外部中断1 jnb p1.1, right ;P1.1引脚为0,转至右测距电路中断服务程序 jnb p1.2, left ;P1.2引脚为0,转至左测距电路中断服务程序 return:SETB EX1;开外部中断1 pop acc pop psw reti right ;右测距电路中断服务程序入口 ajmp return left;左测距电路中断服务程序入口 Ajmp return 附录4 #include 15 临沂大学2013届本科毕业设计说明书 #define csbout P3_5 //超声波发送 #define csbint P3_7 //超声波接收 #define csbc=0.034 #define bg P3_3 unsigned char csbds,opto,digit,buffer[3],xm1,xm2,xm0,key,jpjs;//显示标识 unsignedcharconvert[10]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9段码unsigned int s,t,i, xx,j,sj1,sj2,sj3,mqs,sx1; bit cl; void csbcj(); void delay(j); //void scanLED(); //void timeToBuffer(); //void keyscan(); void k1cl(); void k2cl(); void k3cl(); void k4cl(); void offmsd(); void main() //{ EA=1; // TMOD=0x11; // ET0=1; // ET1=1; // TH0=0x00; TL0=0x00; TH1=0x9E; TL1=0x57; csbds=0; csbint=1; csbout=1; cl=0; ōpto=0xff; 延时函数 显示函数 显示转换函数 主函数 开中断 设定时器0为计数,设定时器1定时 定时器0中断允许 定时器1中断允许 16 临沂大学2013届本科毕业设计说明书 jpjs=0; sj1=45; sj2=200; sj3=400; k4cl(); TR1=1; while(1) { keyscan(); if(jpjs<1) { csbcj(); if(s>sj3) { buffer[2]=0x76; buffer[1]=0x76; buffer[0]=0x76; } else if(s buffer[2]=0x40; buffer[1]=0x40; buffer[0]=0x40; } else timeToBuffer(); } else timeToBuffer(); // offmsd(); scanLED(); // if(s 将值转换成LED段码显示函数 17 临沂大学2013届本科毕业设计说明书 } void scanLED() //显示功能模块 { digit=0x04; for( i=0; i<3; i++) //3位数显示 { P3=~digit&opto; //依次显示各位数 P1=~buffer; //显示数据送P1口 delay(20); //延时处理 P1=0xff; //P1口置高电平(关闭) if((P3&0x10)==0) //判断3位是否显示完 key=0; digit>>=1; //循环右移1位 } } void timeToBuffer() //转换段码功能模块 { xm0=s/100; xm1=(s-100*xm0)/10; xm2=s-100*xm0-10*xm1; buffer[2]=convert[xm2]; buffer[1]=convert[xm1]; buffer[0]=convert[xm0]; } void delay(i) { while(--i); } void timer1int (void) interrupt 3 using 2 { TH1=0x9E; TL1=0x57; 18 临沂大学2013届本科毕业设计说明书 csbds++; if(csbds>=40) { csbds=0; cl=1; } } void csbcj() { if(cl==1) { TR1=0; TH0=0x00; TL0=0x00; i=10; while(i--) { csbout=!csbout; } TR0=1; i=mqs; // while(i--) } } i=0; while(csbint) { i++; if(i>=2450) // csbint=0; } TR0=0; TH1=0x9E; TL1=0x57; 盲区上限值 19 临沂大学2013届本科毕业设计说明书 t=TH0; t=t*256+TL0; s=t*csbc/2; TR1=1; cl=0; } } void keyscan() //健盘处理函数 { xx=0; if(k1!=1) // { delay(400); // if(k1!=1) // { while(!k1) { delay(30); xx++; } if(xx>2000) { jpjs++; if(jpjs>4) jpjs=0; } xx=0; switch(jpjs) { case 1: k1cl();break; case 2: k2cl();break; case 3: k3cl();break; case 4: k4cl();break; } } } } 判断开关是否按下 延时去抖动 判断开关是否按下20 临沂大学2013届本科毕业设计说明书 void k1cl() { sj1=sj1+5; if(sj1>100) sj1=30; s=sj1; } void k2cl() { sj2=sj2+5; if(sj2>500) sj2=40; s=sj2; } void k3cl() { sj3=sj3+10; if(sj3>500) sj3=100; s=sj3; } void k4cl() { sx1=sj1-1; sx1=sx1/csbc; mqs=sx1/4.5; } void offmsd() { if (buffer[0] == 0x3f) buffer[0] = 0x00; } 年 21 日月
正在阅读:
刘涛涛 毕业论文06-09
团队激励格言02-06
难忘的美育节作文600字06-30
未来的公共汽车作文400字07-04
快速通过骨科考试的骨科知识记忆口诀07-09
浮躁的社会背景下企业到底该如何留人09-03
2010香港特别行政区农村信用社招考最新考试试题库04-28
法学毕业论文12-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 涛涛
- 毕业论文
- 义务教育均衡发展材料
- 2015-2016高中地理 第二章 第三节 课时2 东北地区农业
- 2014云南施甸县事业单位考试报名系统
- 半喂入式联合收割机双层振动筛清选系统毕业设计说明书
- 安川伺服参数设定说明
- 农药残留准则试题答案
- 电平的概念
- 当前国际经济问题第八版
- XX公司广域网组网技术建议书 - 图文
- 教师指令性言语行为国内外研究文献综述
- 中传音乐学硕士就业怎么样
- 苏教版小学四年级数学上册单元测试试题全册精品 - 图文
- R语言常用计量分析包
- 双导体运动切割磁感线习题
- 国际结算课程实习内容
- 托福阅读长难句解析附带译文汇总
- 全球产品如何诠释全球本土化的内涵--以肯德基为例
- 近三年全国中考数学试题分类汇编汇编 - 二次函数
- 必修三第二单元测试题
- 七年级语文第一学期期末现代文阅读训练2篇(含答案)