毕业设计(论文)-基于AT89S51单片机的超声波测距仪设计.doc

上传人:李主任 文档编号:3282779 上传时间:2019-08-07 格式:DOC 页数:25 大小:1.69MB
返回 下载 相关 举报
毕业设计(论文)-基于AT89S51单片机的超声波测距仪设计.doc_第1页
第1页 / 共25页
毕业设计(论文)-基于AT89S51单片机的超声波测距仪设计.doc_第2页
第2页 / 共25页
毕业设计(论文)-基于AT89S51单片机的超声波测距仪设计.doc_第3页
第3页 / 共25页
毕业设计(论文)-基于AT89S51单片机的超声波测距仪设计.doc_第4页
第4页 / 共25页
毕业设计(论文)-基于AT89S51单片机的超声波测距仪设计.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《毕业设计(论文)-基于AT89S51单片机的超声波测距仪设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于AT89S51单片机的超声波测距仪设计.doc(25页珍藏版)》请在三一文库上搜索。

1、四川师范大学成都学院本科毕业设计基于AT89S51单片机的超声波测距仪设计前言 随着工业,建筑业,农业建设的不断发展,一些在早期社会,曾被人类广泛应用的米尺不在满足人类的要求,于是出现了现在人类所应用的间接测量工具。在测量方面,尤其工业,据了解,我国一些工业领域曾经使用过接触式测量仪,但普遍存在着这样一些问题,比如触点的接触不良,抗粉尘的能力差,误动作,经常失灵,不可调整,容易被杂物缠绕而误报等缺点,工作不可靠,影响设备的正常使用。针对以上这些缺点。我们考虑研究一种非接触测量仪器。 随着电子技术的发展,非接触测量出现了微波雷达测距,激光测距及超声波测距等。前几种方法由于技术难度大,成本高,一般

2、仅用于军事工业,而超声波测距由于其科研技术难度相对较低,且成本低廉,适于民用推广。所以现在我们所见到一些测量仪基本上都是利用超声波来测距的。 超声波作为一种检测技术,采用的是非接触式测量,这个特点可使测量仪器不受被测介质的影响。这样就大大解决了在粉尘多情况下,给人类引起的身体接触伤害,腐蚀性质的被测物对测量仪器腐蚀,触点接触不良造成的误测情况。且对被测的元件无磨损,使测量仪器使用寿命加长,牢固耐用,而且还降低了能量消耗,节省人力和劳动的强度。从长远利益看,是多向节能型研究。 超声波测距与其它非接触式的检测方式方法相比,如电磁的或光学的方法它不受光线,被测对象颜色,电磁干扰等影响。超声波对于被测

3、物体处于黑暗,有灰尘,烟雾,电磁干扰,有毒等恶劣的环境有一定的适应能力。因此在液位测量,机械手控制,车辆自动导航,物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辩力,因而其准确度也较其它方法高,而且超声波传感器具有结构简单,体积小,信号处理可靠等特点。 超声波是一种指向性强,能量消耗慢的波。它在介质中传播的距离比较远。因而超声波经常被用于测量距离,可解决超长度的测量。超声波作为一种特殊的声波,同样具有声波传输的基本物理特性,反射、折射、干涉、衍射、散射等。与物理紧密联系,应用灵活。并且更适合与高温,高粉尘

4、,高湿度和高强电磁干扰等恶劣环境下工作。无论从可靠性还是从精度方面,超声波测距做得都比较好。利用超声波检测即时迅速,方便,计算简单,又易于做到实时控制,并且在测量精度方面能达到工业实用的要求。具有广泛的发展前景。另外,在控制方面,单片机其卓越的性能,要本设计中得到了很好的体现,尤其在检测,控制领域中,具有以下特点: 小巧灵活,成本低,易于产品化,它能方便地组装成各种智能测试,控制设备及各种智能仪器表。 可靠性好,适应范围广,单片机芯片本身是按工业测控环境要求设计的,能适应各种恶劣的环境,这是其它原件无法比拟的。 易扩展,很容易构成各种规模的应用系统,控制功能强,单片机的逻辑控制功能很强,指令系

5、统有各种控制功能所用的指令。 本文论述了采用单片机技术研制成功的用超声波测距仪的基本原理,测量计算方法简单,实现方案容易。采用软件控制,提高了测量精度和整机的可靠性。可在潮湿高温,多尘等恶劣环境下工作。并且灵敏度高,可靠性强。而且这个测距系统还可以经过简单的修改就能实现其它的检测要求。例如:超声波测距仪广泛被应用于汽车的倒车、建筑施工的工地以及一些工业现场的位置监控,也可用于液位、井深、联合收割机、管道长度等的实时测量场合。根据调查,目前国内一般使用专用集成电路设计超声波测距系统,但是专用集成电路的成本很高,并且没有数据显示,操作使用很不方便。因此本设计采用了以AT89S51单片机为核心低成本

6、,高精度,LED数字显示超声波测距系统的结果的硬件电路设计方法。整个设计对其它所用器件也进行了介绍和对比。综合了各器件的功能,耐用性,市场价位等多方面因素,选件谨慎、适用。硬件设计方面利用所学的知识和理论联系实际的方法,本着和大学课本密切联系的原则来完成设计任务。在文中还详细介绍了设计中应用到的主要芯片(AT89S51,CX20106A, TCT40-10)的性能和特点。软件设计方面采用MCS-51语言,通俗易懂。通过实际测试使用证明,该超声波测试系统工作稳定,测距精度高,性能良好,可广泛应用到实际中以方便观察测试结果。 1 系统设计1.1 设计原理和目的2、5本课题的研究,是为了利用超声波,

7、来测量比较有难度的距离,通过一系列原件(AT89S51, CX20106A ,TCT40-10,LED数码管)组成一个测量系统,来达到对困难距离的测量,得到一个精确度在0.01m以内的精确距离数据,从而实现对距离的测量。超声波是指频率大于20KHz的机械波。为了用超声波作为检测手段,就必须产生超生波和接收超声波,然而完成这种功能的装置就是超声波传感器,习惯上把它称为超声波探头或超声波换能器。超声波传感器包括发送器和接收器,但一个超声波传感器也可具有发送声波和接收声波的双重作用。超声波传感器是利用压电效应原理将电能和超声波相互转化,即在超声波发射时,将电能转换成超声波发射;而在收到回波的时候,则

8、将超声振动转换成电信号。测量距离的方法有很多种,短距离的测量可以用尺,远距离的测量可以用激光测距等,超声波测距则适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M频率的晶振,所以此系统的测量精度理论上可以达到毫米级。超声波测距的原理一般采用渡越时间法TOF(timeofflight)。利用超声波在空气中的传播速度为已知,测出超声波从发射到遇到障碍物后返回所经历的时间t,再乘以超声波的速度就得到声源与障碍物之间的距离的二倍(2s),在把得到的距离除以2就得到了发射仪与被测物体之间的距离。超声波发射器向某一方向发射超声波,同时在

9、发射的时刻开始计时,超声波在空气中传播,途中碰到障碍物就会立即返回来,超声波接收器收到反射波就会立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距离障碍物之间的距离(s),即:s=340t/2 。这就是所谓的时间差测距法。然而在实际环境中,空气温度是一个不可不考虑的因素之一,因为超声波在空气中的传输速度在很大的程度上是要受温度的影响,不同的温度超声波拥有不同的传输速度,因此一般都还需要一个温度补偿,来计算出当前空气温度下,超声波的传播速度,不同温度下超声波传输速度见表1.1-1。表1.1-1 不同温度下超声波传输速度温度-30-20-100102

10、030速度m/s312318326332339342349关于温度补偿,由于超声波传播速度与环境温度有如公式1.1-1所示关系: (1.1-1)式中T为摄氏温度,C为在该温度下的超声波传播速度(单位为 m/s)。当温度知道的情况下,通过该式就可以知道该温度下超声波的传播速度了。用温度去校正超声波的传播速度,这就是温度补偿。关于温度传感器的选择,在传统的中、低温测温领域中采用的方法有热敏电阻,半导体温度传感器等。这些方法都有一定的缺陷,如线性差,电路复杂,实现数字化需要A/D转换等。这导致了在工程应用中的一系列问题,如造价高,互换性差,调试不方便等。在本设计中,采用了一种高性能,低价格,数字化的

11、温度传感器DS18B20来采集温度,该数字温度传感器为独特的1-Wire总线接口,仅占用MCU一只引脚,具有操作简单,温度测量快,精度高(提供912位温度读数),测量温度范围为55到125摄氏度,在10到85摄氏度范围内精度为0.5摄氏度等优点。可行性分析:根据式子在MCU中建一温度速度表(温度速度表精确到小数点后1位),由温度传感器输出的温度去查表,便找到了在该温度下的超声波传播速度C,再由L=Ct便可以得出被测量距离。a.设环境温度为T0=25摄氏度,此时超声波传播速度为: (1.1-2)测量5m的距离用时:(取) (1.1-3)b. 设数字温度传感器给出的温度为T=24.5摄氏度,得出超

12、声波传播速度为: (1.1-4)速度误差为: (1.1-5)测量5m产生的距离误差为: (1.1-6)c.设数字温度传感器给出的温度为T=25.5摄氏度,得出超声波传播速度为: (1.1-7)速度误差为: (1.1-8)测量5m产生的距离误差为: (1.1-9)由此可以看出,采用温度补偿法测量出的距离精度高,使用方便。本课题将使用AT89S51, CX20106A红外接收专用放大电路,TCT40-10超声波传感器和数字化的温度传感器DS18B20设计的超声波测距仪。建立一个超声波测距仪,主要工作有:完成硬件设计,即AT89S51与CX20106A红外接收专用放大电路,TCT40-10超声波传感

13、器和数字化的温度传感器DS18B20之间的硬件设计;软件设计,即AT89S51,CX2016A,TCT40-10,DS18B20的软件设计以及驱动设计。超声波作为测距,已经在很多领域起着非常重要的作用。利用超声波检测往往比较方便、迅速、计算简单、易于做到实时控制,在测量精度方面也能达到工业实用的要求,因此在移动机器人,汽车安全,海洋测量等上得到了广泛的应用。因此利用超声波测距,能在人们日常和科学研究中,测量到不容易被测量的距离,如液位测量、矿井深度、弯道长度等等,减少了测量成本和测量危险。1.2 设计思想及设计方案超声波发生器可以分为两类:一类是用机械方式产生超声波,一类是用电气方式产生超声波

14、。本课题属于近距离的测量,可以采用常用的压电式超声波换能器来实现。所以,本设计采用AT89S51单片机作为主要的主控制器,用动态扫描的方法实现LED数字显示,用单片机的定时器完成超声波的驱动信号。超声波测距器的系统框图如图1.2-1所示:单片机控制器超声波发送超声波接收LED显示扫描驱动图1.2-1 超声波测距系统框图本系统主要由超声波发射电路和超声波检测接收电路、单片机系统及显示电路三部分组成。采用AT89S51单片机来实现对红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过引脚经过反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平从高电平变为低

15、电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离,其系统的原理框图如图1.2-2所示。定时器控 制显示器调制器振荡器超生发射器计时器接受检测超生接收器图1.2-2 系统原理框图2 系统硬件设计 2.1 单片机AT89S51的基本设计1AT89S51是一个功耗低,性能高的CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,此器件采用ATMEL公司的高密度、非易失性存储技术制造而成,兼容标准的MCS-51指令系统和80C51引脚结构,芯片内

16、集成了通用8位中央处理器和ISP Flash存储单元,功能如此强大的微型计算机AT89S51可作为许多嵌入式控制应用系统提供高性价比的解决方案。由于本设计的各项功能都可以用ATMEL公司的8951单片机来实现,而且它的售价相当低廉,在电子市场的价格一个也就6元钱左右,因此选择它为本课题的主控制器,其外形图如图2.1-1所示。图2.1-1 AT89S51的外形图AT89S51具有以下几个特点: 4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),40个引脚,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断, 2个全双工串行通信口,2个

17、16位可编程定时计数器,看门狗(WDT)电路,片内时钟振荡器。除此之外,AT89S51设计和配置了振荡频率可以为0Hz并可通过软件设置省电模式。当处于空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,当处于掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。而且这种芯片还具有TQFP、PDIP和PLCC等三种封装形式,以适应于不同产品的需求。2.2 CX20106A红外接收放大模块的设计CX20106A是日本索尼公司生产的红外遥控信号接收集成电路,广泛应用于视频、音频、空调、风扇等各种遥控系统中作遥控信号接收电路。内部电路由前置放大器、自

18、动偏置电平控制电路(ABLC)、限幅放大器、带通滤波器、峰值检波器和波形整形电路组成。由于考虑到红外遥控常用的载波频率为38KHz与测距超声波频率40KHz较为接近,所依可利用它作为超声波检测电路,其逻辑框图如图2.2-1所示。前置放大电路限幅放大器带通滤波器检波器和比较器积分器斯密特触发器ABLC12345678 图2.2-1 CX20106A逻辑框图CX20106A的主要技术特点有以下几点: 低电压供电,其典型值为5V。 功耗低,Vcc=5V时,其典型功耗为9mW。 带通滤波器的中心频率可通过改变引脚5和电源之间的电阻进行调节,其调节的范围为3060kHz。由于没有使用电感,能够不受磁场的

19、感染,因此抗干扰能力强。 能与PIN光电二极管直接连接。 集电极开路输出,能直接驱动TTL或COMS电路。 8引脚单列直插式塑料封装。接下来再让我们来看看它的极限参数见表2.2-1,CX20106A引脚功能说明及其参考数据见表2.2-2。表2.2-1 CX20106A的极限参数参数名称符号参数值单位电源电压Vcc17V输入信号电压VIN5V允许功耗PD0.6W工作环境温度T1-20+75贮存温度T2-55+150表2.2-2 引脚功能说明及其参考数据引脚符号功能说明电压(V)1IN遥控信号输入端该脚和地之间联结着PIN光电二极管,该集成块1脚输入阻抗约为405k。2.12C1RC网络连接端该脚

20、与地之间接有RC串联网络,用来确定前置放大器频率特性和增益。电阻值大,容量值小,则增益低;反之则高。但电容不宜过大,否则瞬态响应速度会降低。2.63C2检波电容连接端该脚与地之间接有检波电容,电容量大为平均值检波,瞬态响应灵敏度低;电容量小,则为峰值检波,瞬态响应灵敏度高,但检波输出的脉宽变动大,容易造成遥控误动作。1.54GND接地端接地。05fo带通滤波器中心频率设置端该脚与电源间所接电阻器,是用来设置带通滤波器的中心频率fo,电阻值为200k时,中心频率fo=40kHz;电阻值为220k时,则中心频率fo=38kHz。1.46C3积分电容连接端该脚所接的积分电容,标准值为330pF,当其

21、容量值变大,则外部噪波干扰增强,遥控距离变短。17OUT遥控指令信号输出端该端口为集电极开路输出端。该脚和电源间连接一只约为22k电阻后,输出脉冲低电平的标准值约为0.2V4.68Vcc供电电源端5V0.3V工作电源电压输入端5最后再让我们再看看CX20106A集成块内电路方框图与它的典型应用电路,如图2.2-2所示。 图2.2-2 CX20106A集成块内电路方框图与其典型应用电路2.3 TCT40-10超声波传感器的设计3超声波的四个具体特性有:波长与辐射,反射,温度效应,衰减。波长与辐射:波的传播速度是用频率乘以波长来表示。电磁波的传播速度是3108m/s,而声波在空气中的传播速度很慢,

22、约为344m/s (20时)。在这种比较低的传播速度下,波长很短,这就意味着可以获得较高的距离和方向分辨率。正是由于这种较高的分辨率特性,才使我们有可能在进行测量时获得很高的精确度。超声波设备的外表面尺寸易于获得精确的辐射。反射:要探测某个物体是否存在,超声波就能够在该物体上得到反射。由于金属、木材、混凝土、玻璃、橡胶和纸等可以反射近乎100的超声波,因此我们可以很容易地发现这些物体。由于布、棉花、绒毛等可以吸收超声波,因此很难利用超声波探测到它们。同时,由于不规则反射,通常可能很难探测到表面振动幅度很大的物体。温度效应:声波传播的速度“c”可以用下列公式表示。式中,t=温度 ()也就是说,声

23、音传播速度随周围温度的变化而有所不同。因此,要精确的测量与某个物体之间的距离时,始终检查周围温度是十分必要的。衰减:传播到空气中的超声波强度随距离的变化成比例地减弱,这是因为衍射现象所导致的在球形表面上的扩散损失,也是因为介质吸收能量产生的吸收损失。超声波的频率越高,衰减率就越高,波的传播距离也就越短。TCT40-10是一款常用的超声波发射接收器件,由一块发射端T和一块接收端R共同组成,其外观图如图2.3-1所示,超声波的转换结构图如图2.3-2所示。图2.3-1 TCT40-10外观图电级压电晶片共振板图2.3-2 超声波转换结构图压电超声波转换器的功能是利用压电晶体的谐振工作。其内部结构如

24、图2.3-2所示,它具有两个压电晶片和一个共振板。当外加脉冲信号在它的两极,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动从而产生超声波,这时它就是一超声波发生器;如果没加电压,当共振板接受到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接受转换器。超声波发射转换器与接受转换器的结构略有不同。超声波发射电路原理图如图2.3-3所示:图2.3-3 超声波发射电路原理图超声波接收电路采用的是集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控器常用的载波频率38KHz与测距超声波频率40KHz

25、比较接近,可以用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。若适当改变C4的大小,就可改变接受电路的灵敏度和抗干扰能力。超声波接收电路原理图如图2.3-4所示:图2.3-4 超声波接收原理图而整个超声波测距的原理,就是如图2.3-5所示:超声波测距仪TR障碍物图2.3-5 超声波测距原理图2.4 DS18B20温度传感器的设计DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20的主要特性有以下几点:l 温度转换及输

26、出。l 单总线数据通信。l 12位分辨率,精度可达0.5。l 12位分辨率时的最大工作周期为750ms。l 可选择寄生工作方式。l 检测温度范围为-55+125。l EPROM,限温报警功能。l 在DS18B20中的每个器件上都有独一无二的序列号。l 实际应用中不需要外部任何元器件即可实现测温。DS18B20的外观图,如图2.4-1所示: 图2.4-1 DS18B20外观图 再来看看它的引脚图,如上图2.4-2所示:图2.4-2 DS18B20引脚图DS18B20有多种封装形式,本课题使用的是常见的3长针脚的封装形式。其引脚功能如表2.4-1所示:表2.4-1 DS18B20引脚说明引脚名称功

27、能1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。由于DS18B20采用的是1Wire总线协议方式,就是在一根数据线上实现数据的双向传输,而对于AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问,DS18B20 与AT89S51连接图如图2.4-3所示。图2.4-3 AT89S51与DS18B20连接图2.5 LED数码管显示电路的设计AT89S51采用的是12MHz高精度的晶振,以获得比较稳

28、定的时钟频率,减小测量误差。单片机用P1.0端口输出超声波转化器所需要的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。显示电路采用的是既简单又实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管驱动。单片机系统及显示电路如图2.5-1所示:图2.5-1 单片机及其显示原理图2.6 整体系统原理图如图2.6-1所示图2.6-1 整体原理图3 系统软件设计3.1 软件设计分析4、6超声波测距的软件设计主要是由主程序,超声波发射子程序,超声波接受中断程序及显示子程序组成。主程序首先对系统环境进行初始化,设置定时器T0工作模式为16位的定时计数器模式,把总中断

29、允许位EA置位,并给显示端口P0和P2清0。然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直接波触发,必需延迟0.1ms(这就是测距器会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用频率为12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算就可测得被测物体与测距仪之间的距离: (3.1-1) (3.1-2)这样就可以计算出测距仪与障碍物之间的距离。测出距离后得结果将以十进制BCD码方式显示LED,然后再发超声波脉冲重复测量过程,求多次测量的平均值(误差最

30、小化)。3.2 主程序框图超声波测距系统程序设计思路如图3.2-1所示:开始系统初始化发送超声波脉冲等待发射超声波显示结果0.5s计算距离图3.2-1 超声波测距主程序框图3.3 超声波系统子程序设计超声波发生子程序的作用是通过P1.0端口发送2个左右的超声波信号频率约为40KHz的方波,脉冲宽度为12us左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断服务程序。进入该中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值为1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中

31、断将外中断0关闭,并将测距成功标志字赋值为2以表示此次测距不成功。整个软件系统如图3.3-1,图3.3-2,图3.3-3所示:开始单片机初始化定时中断子程序有回波吗YN定时中断入口定时器初始化发射超声波发射完了吗停止发射返回YN外部中断入口关闭外部中断读取时间值计算距离结果输出开启外部中断返回外部中断子程序图3.3-1 主程序流程图 图3.3-2 定时中断服务子程序 图3.3-3外部中断服务子程序4 系统调试超声波测距仪的制作和调试,其中超声波发射和接收采用的是15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装的时候需保持两个换能器中心

32、轴线相平行并且相距48cm,其余元件没有特殊要求。如果能将超声波接收电路用金属壳屏蔽起来,那么可提高抗干扰能力。根据测量范围的要求不同,可适当调整与接收换能器并接的滤波电容的大小,从而获得合适的接收灵敏度和抗干扰能力。硬件电路制作完成并调试好之后,便可以将程序编译好并下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,此测距仪能测的距离范围为0.27m5m,测距仪的最大误差不超过1cm。系统调试完成之后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。5 结束语本课

33、题到这里就基本结束了,对于本人制作的超声波测距仪,必定还有很多的不足之处,一定要从实验查出纰漏,进一步完善。本课题采用的AT89S51等器件都是电子市场上非常容易找到的,而且价格低廉,功能齐全,能满足设计需要,达到理想的效果。关于现代测量技术,超声波测距已经是一种非常成熟的技术,而且它的成本低,适合于大多数需要比较精确的数据的地方,例如井深,液位,汽车倒车雷达等地方。它已经为我们的工业生产,资源探索,日常生活的一门重要测量距离解决手段,为我们带来了方便。随着科学技术的进一步发展,超声波测距的精度一定能更进一步精确,从未能解决更多不易解决的问题。超声波测距一定是将来一种最重要的短距离测量方法,一

34、定能在我们的更多领域起到不可或缺的作用。设计过程中所遇到的困难一个接一个,超声波怎么发送怎么接收,采用什么芯片,收到回波后怎么样计算。 问题一:发不出去,超声波发的40KHZ(通过程序调整占空比,发送)。 问题二:不知是否接到,65MS中断一次,发送40KHZ脉冲,然后查看电平变化。 问题三:收到了怎么计算,(其中T0为计数器T0的计数值)。经过同学的帮助,图书馆查找资料,网上寻求帮助等方法终于解决了这些问题,经过这次的制作使我体会到在学习单片机中制作作品的好处,也对单片机的学习有了更深刻体会,这是一次全新的学习经历,让我受益匪浅。要完成一个项目知识是必不可少的,怎么样去查阅资料,收集与课设要

35、用的有关的知识就显得极为重要。其次,要完成一件工作,还得专心致志才行,细心耐心,这次的项目花费了不少的时间,不论理解原理还是焊接都是如此。第三,在焊接时出现了不少的问题有时候一时半会结局不掉,所以遇到困难要冷静,要多想解决办法,多尝试。附录1:源程序主程序:void main() uchar i;Delay(1000);TMOD=0X90;TL1=0X00;TH1=0X00;TR1=1;for(i=10;i0;i-) trslate=!trslate; /*发送*/ nop(); nop();nop();nop();nop();do /*等待*/while(tt1=1);TR1=0;EA=0;

36、flag1=TH1;flag2=TL1;js(); /*计算距离*/while(1)for(i=100;i0;i-)display(); /*反复显示*/超声波发射程序:#include #include #define nop() _nop_()main()while(1)P1=!P1; /*25us去反一次,符合40khz的要求*/ nop(); nop(); nop(); nop(); nop();从发送到接收时间的计算程序:#includesbit tt1=P33;uchar flag1,flag2;main()TMOD=0X90; /*设T1为方式1定时,GATE=1*/TL1=0X

37、00;TH1=0X00;TR1=1; /*启动定时设置*/dowhile(tt1=0);/*等待P33升高,如升高,则T1对时钟12 分频计时,*/dowhile(tt1=1); /*对高电平宽度进行计数。*/TR1=0;flag1=TH1;flag2=TL1; /*flag1,flag2中存的就是记的脉冲数*/ 计算距离子程序:#include#include #define nop() _nop_()#define uchar unsigned char #define uint unsigned intmain()uchar a,b,c,d,flag1,flag2; uint num,s

38、;a=flag1/0x10;b=flag1%0x10; /*将flag1中的数分成高低存在a,b中*/c=flag2/0x10;d=flag2%0x10; /*将flag2中的数分成高低存在在c,d中*/num=a*4096+b*256+c*16+d;s=34*num/100/2; /*s就是距离*/数据显示在数码管程序:#include /*P1.6 ,P1.5送数码管亮的地址 */#define uchar unsigned char #define uint unsigned int Delay(uint x)uint a,b;for(a=x;a0;a-) for(b=200;b0;b-

39、);display()uchar a,b,c,d; /*将数S的各位分开,分别显示*/a=s/1000;b=s%1000/100;c=s%1000%100/10;d=s%1000%100%10;P1=0X3f&(0xf0+a); /*将第一位显示在第一位上*/Delay(5);P1=0X2f&(0xf0+b); /*将第二位显示在第二位上*/Delay(5);P1=0X1f&(0xf0+c);/*将第三位显示在第三位上*/Delay(5);P1=0X0f&(0xf0+d);/*将第四位显示在最后一位上*/Delay(5);附录2:PCB图发射电路图接收电路图显示电路图参考文献:1 楼苗然、李光飞:单片机课程设计指导,北京航空航天大学出版社,2007.1,P40-P612 丁元杰:单片机原理及应用,北京机械工业出版社,2000.8,P106-P1573 严天峰:单片机应用系统设计与仿真测试,北京航空航天大学出版社,2005.9,P65-P1014 沈红卫:基于单片机的智能系统设计与实现,电子工业出版社,2005.1,P39-P895 马 静:单片机原理与应用实践教学指导书,中国计量出版社,2008.5,P15-P836 张洪润:单片机应用设计200例(上册),北京航空航天大学出版社,2006.7,P59-P98 25

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1