当前位置:首页 > 申请书大全 > 汽车倒车测距仪设计 汽车倒车测距仪的设计
 

汽车倒车测距仪设计 汽车倒车测距仪的设计

发布时间:2019-07-24 09:48:01 影响了:

汽车倒车测距仪的设计

大学本科生毕业设计(论文)

目 录

摘要 ························································································································· 2

Abstract ················································································································· 2

第一章 绪论 ····································································································· 3

1. 1 研究背景 ·································································································· 3

1. 2 发展概况和当前存在的问题 ·································································· 4

1. 2. 1 发展概况 ···························································································· 4

1. 2. 2 当前存在的问题 ················································································ 4

1. 3 本设计的主要内容和目的 ········································································ 5

第二章 系统方案相关理论 ········································································ 6

2. 1 汽车倒车超声波测距系统主要功能的概述 ·········································· 6

2. 2 汽车倒车超声波测距系统的原理 ·························································· 7

2. 3 超声波测距系统的主要技术指标 ·························································· 9

第三章 硬件设计及调试 ·········································································· 10

3. 1 系统装置的硬件组成 ············································································ 10

3. 1. 1 单片机控制系统 ·············································································· 10

3. 1. 2 超声波发射电路 ·············································································· 11

3. 1. 3 超声波接受电路 ·············································································· 11

3. 1. 4 LED液晶显示电路 ······································································· 13

3. 2 焊接 ······································································································ 14

3. 3 调试过程及方法 ·················································································· 14

第四章 软件设计及调试 ········································································· 16

4. 1 系统软件设计整体介绍 ······································································ 16

4. 2 系统的程序 ·························································································· 17

4. 3 软件调试简介 ······················································································ 24

第五章 总结 ······························································································· 25

致谢 ·················································································································· 26

参考文献 ········································································································ 27

- 1 -

大学本科生毕业设计(论文)

汽车倒车测距仪

摘要

随着科学技术的快速发展,超声波在传感器中的应用也越来越广。但就目前技术水平来说,人们可以具体利用的传感技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。而本文介绍的是一种可应用于倒车测距仪的超声波测距系统。本系统采用STC89C52单片机为核心,结合发射和接受模块以及液晶显示构成整个的测距系统,该系统能够在汽车以较低的速度进行倒车的过程中,识别出车后部的障碍物,并能够测量车与障碍物之间的距离,在车辆与障碍物发生碰撞前,发出声光报警,提醒司机刹车。倒车测距仪是用来探测车身和周围的障碍物并显示其距离,以帮助驾驶员安全倒车或停车的辅助电子设备,对驾驶员倒车的安全起到了很大作用。因此本系统的设计具有广泛的运用价值和意义。

关键词:传感技术 超声波测距 运用价值

Abstract With the rapid development of science and technology, in the application of ultrasonic sensors is more and more widely. But so far the technical level, the specific use range finder technology is limited, so, it is a vigorous development and infinite prospect areas of technology and industry. And this paper is a kind of can be applied to reverse the ranger ultrasonic ranging system. The system uses the STC89C52 microcontroller as the core, combining the launch and accept modules and liquid crystal display constitute the whole range finder system, This system can be identify obstacles at the back of the car and able to measure the distance between the car and the obstacles,and before the car run into obstacles,it can give out sound and light alarm signal, remind the driver pakes,when the car reversing with a low speed ,.Reverse rangefinder is an assist electronic equipment what can used to

detect the body and the surrounding obstacles and show the distance, to help the driver safety reversing or parking,It plays a large role when the drive reversing So the design of system has poad application value and meaning.

Keyword:sensor technology ultrasonic ranging use Value

第一章 绪论

- 2 -

大学本科生毕业设计(论文)

1. 1 研究背景

信息高度发达、生活快节奏的现代社会中,电子信息技术的应用随处可见,在生活中已投入使用的有:电视机、手机、电脑、先进的工业控制系统、通信雷达系统和卫星遥感系统,甚至是汽车倒车、无人侦查飞机等无一例外的不使用到电子信息技术。现代信息技术主要包括计算机技术、通信技术和传感器技术,其中,计算机相当于人的大脑,通信相当于人的神经,而传感器就相当于人的感官。由于传感器的重要性,各发达国家都将它视为现代高新技术发展的关键,我国在20世纪80年代以来也已将其列为国家高新技术发展的重点。21世纪是人类进入信息电子化的时代,作为现代信息技术的三大支柱之一的传感器技术必将有更大的发展空间。有专家认为,我国今后传感器方面的研究和开发应是:汽车传感器、环保传感器、工业过程控制传感器、医疗卫生和食品业检测传感器以及新型敏感材料等。

随着汽车工业的发展,城市汽车数量是越来越多。近几年来,我国开始进入私家车时代,汽车的数量更是在逐年增加的。公路上、停车场、车库等越来越拥挤。汽车驾驶员越来越担心车的安全了,其中倒车就是一个典型问题。由于存在视觉盲区,无法看见车后的障碍物,司机在倒车时很容易刮伤汽车,甚至发生事故。为了减少因此带来的损失,需要有一种专门的辅助装置帮助司机安全倒车。目前用于辅助司机倒车的装置主要有:语音告警装置、后视系统以及倒车测距仪等。语音告警装置用于播放提示语以提醒车后的行人注意避让正在倒车的汽车。这种装置价格便宜,使用方便,但缺点就是只能对车后的行人起警告作用,对于车后的障碍物则起了作用,所以其应用范围很有限。后视系统是由视频捕捉装置和视频播放装置组成,通过后视系统司机可以直观地看到车后的障碍物,消除视觉盲区。由于这类装置的价位较高,目前还没有普遍推广使用。

本文设计分析的汽车倒车测距仪即是根据这一实际情况而应运而生的,性价比非常高。系统运用微计算机技术与超声波的测距技术、传感器技术等的交叉融合,进行优化设计,通过液晶显示障碍物与汽车的距离,并根据其距离远近实时发出报警等级。但其主流产品仅仅是独立的控制单元, 无法与汽车数字化信息平台接轨。

1. 2 发展概况和当前存在的问题

- 3 -

大学本科生毕业设计(论文)

1. 2. 1 发展概况

经济的发展和科学技术的进步,推动着交通运输业朝行驶高速化,车流密集化和驾驶非职业化的方向发展。同时,汽车的生产量和保有量都在急剧增加。但相应的公路管理,交通管理系统却相对比较落后,由此造成的事故频繁发生,在一些大城市尤为突出。智能交通系统ITS(Intelligent Transportation System)是当前国际各个国家共同关注的交通管理的前沿技术,它在充分发挥现有的交通基础设施潜能,提高工作效率,增强交通安全性,改善环境方面已取得卓越成效,很多国家都很重视相关项目的开发。中国也已开始进入相关技术的研究开发,倒车测距技术是ITS中的一项重要研究,它的成功与否与ITS有着相当紧密的关系。而汽车倒车测距技术主要是利用超声波方式:超声波是频率大于20 kHz 的声波, 具有方向性强、能量衰减缓慢、在介质中转播距离远等特点,用于测距计算方法简单, 常用于非接触式距离测量, 其传感器种类较多,由于超声波指向性强,在传输过程中能量损耗缓慢,反射能力强,经常被用于距离的测量。由于超声波测距的探测距离较短,主要用于倒车等近距离测距。

1. 2. 2 当前存在的问题

倒车测距仪运用超声波测距原理结合单片机或IC的智能技术作为一种汽车倒车安全辅助装置具有结构简单、智能判断不受可见光限制等特点应用到了轿车当中,但现有的倒车测距技术还仍然存在如下一些问题:

(1)最大有效探测距离的问题偏小,等到报警后再减速就很紧张,感到预警时间不充足;

(2)多数成品倒车测距仪的显示速度因为考虑到抗干扰等因素,显示更新的速度约0.2-0 4 s,算上从倒车测距仪发现目标到发出警报将需要1-2s,这时车已经行使了一段距离,这显然存在反应迟钝;

(3)多数倒车测距仪的超声波传感器2-3个,单个传感器的水平探测角度约60-70度,这样势必造成2-3个盲区,而增加传感器的个数不但增加成本,而且提高故障率;

(4)以往关于倒车测距仪的研究都采用的是部容易购买到的专用元件作为附加电路,使其难以推广。

- 4 -

1. 2. 1 发展概况

经济的发展和科学技术的进步,推动着交通运输业朝行驶高速化,车流密集化和驾驶非职业化的方向发展。同时,汽车的生产量和保有量都在急剧增加。但相应的公路管理,交通管理系统却相对比较落后,由此造成的事故频繁发生,在一些大城市尤为突出。智能交通系统ITS(Intelligent Transportation System)是当前国际各个国家共同关注的交通管理的前沿技术,它在充分发挥现有的交通基础设施潜能,提高工作效率,增强交通安全性,改善环境方面已取得卓越成效,很多国家都很重视相关项目的开发。中国也已开始进入相关技术的研究开发,倒车测距技术是ITS中的一项重要研究,它的成功与否与ITS有着相当紧密的关系。而汽车倒车测距技术主要是利用超声波方式:超声波是频率大于20 kHz 的声波, 具有方向性强、能量衰减缓慢、在介质中转播距离远等特点,用于测距计算方法简单, 常用于非接触式距离测量, 其传感器种类较多,由于超声波指向性强,在传输过程中能量损耗缓慢,反射能力强,经常被用于距离的测量。由于超声波测距的探测距离较短,主要用于倒车等近距离测距。

1. 2. 2 当前存在的问题

倒车测距仪运用超声波测距原理结合单片机或IC的智能技术作为一种汽车

倒车安全辅助装置具有结构简单、智能判断不受可见光限制等特点应用到了轿车当中,但现有的倒车测距技术还仍然存在如下一些问题:

(1)最大有效探测距离的问题偏小,等到报警后再减速就很紧张,感到预

警时间不充足;

(2)多数成品倒车测距仪的显示速度因为考虑到抗干扰等因素,显示更新

的速度约0.2-0 4 s,算上从倒车测距仪发现目标到发出警报将需要1-2s,这时车已经行使了一段距离,这显然存在反应迟钝;

(3)多数倒车测距仪的超声波传感器2-3个,单个传感器的水平探测角度约60-70度,这样势必造成2-3个盲区,而增加传感器的个数不但增加成本,而且提高故障率;

(4)以往关于倒车测距仪的研究都采用的是部容易购买到的专用元件作为附加电路,使其难以推广。

1. 3 本设计的主要内容和目的

课题的主要研究内容就是根据超声波测距的原理,选择一块集成度高的IC来完成超声波脉冲测距的倒车测距仪。使它能够在汽车以较低的速度进行倒车的过程中,识别出车后部的障碍物,测量车与障碍物之间的距离并显示出来,在发生碰撞前,对驾驶员发出报警。

本设计可望成为驾驶员特别是货车以及公共汽车驾驶员的好帮手,可有效的减少和避免那些视野不良的大型汽车的如集装箱车、食品车、载货车、垃圾车、公共汽车等倒车交通事故,另外还特别适用于夜间辅助倒车、倒车入库以及进入停车场停车到位,本设计性能优良,对提高我国汽车工业实际水平,具有较大的意义。

第二章 系统相关理论

2. 1 汽车倒车测距系统主要功能的概述

本汽车倒车测距系统应用的是超声波测距系统。在物理世界中,人类能感应到的波谱是声波,即波源所激起的纵波的频率在20Hz到20KHz之间,就能引起人的听觉,在这一频率范围内的振动被称为声振动。而频率低于20Hz的机械波叫做次声波。超声波是频率大于20 kHz 的波段, 具有方向性强、能量衰减缓慢、在介质中转播距离远等特点,用于测距计算方法简单, 常用于非接触式距离测量, 其传感器种类较多。汽车上常用的是压电式超声波传感器工作频率40 kHz 且收发一体、结构紧凑。一般超身波发生器内部结构有两个压电晶片和一个共振板。当它的两级外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。超声波测距的基本原理其实很简单,同声纳回声定位法的原理是基本相同的,说得高级一些就是多普勒效应,说得简单就是回声效应,当我们在山谷里,朝对面得山坡喊叫一句话,一段很短时间后你会听到从山谷里也传来相同的一句话。超声波测距也是基于这种回音效应,发生器不断发射出40Hz超声波,其总宽度为发射超声波与接收超声波的时间间隔,被测物距越远,脉冲宽度越大,输出脉冲个数与被测距离成正比。该超声波测距系统的主要功能包括:实时显示当前测量距离;具有近距离和远距离两种测量模式;能够实时报警功能;具有开机系统自检功能。

2. 2 汽车倒车超声波测距系统的原理

超声波测距的方法有很多种,如相位检测法,声波幅值检测法和往返时间检测法等。相位检测法虽然精度高,但检测范围有限,声波幅值检测法容易受反射波的映像。本系统采用超声波往返时间检测法,其原理是:检测从超声波发生器发出的超声波,经气体介质的传播到接收器的时间即往返时间。往返时间与气体介质中的声速相乘再除以2就是检测的距离。即有:

L=V*T/2

此外,准确的测量目标还要能够精确的计算出超声波传播的时间,显然能够确定的时间的单位越小越好,本系统采用的单片机的定时器0来计算时间,单片机采用12M 的晶振,那么本系统可精确到1US 的最小时间单位,计算所测量的距离可精确到0.0001M,显然这已经能够完全地满足我们的设计要求。

超声波测距系统的总电路的组成部分有:单片机控制电路,超声波发射电路,超声波接受电路,液晶显示电路以及报警电路等共同组成。单片机控制电路负责发生40K的方波信号,经一反向器器后分别送到MAX232的两TTL电平输入端,然后产生+/-9V的方波信号驱动超声波换能器。再由超声波接受回来,此时,就可利用单片机定时出发射和接收的时间差。那么单片机就可计算出实际的距离,并将其显示出来。具体的硬件原理框图如下:

利用单片机的定时器/计数器可以较方便地实现该测距原理,设单片机的T0端为起始发射同步定时器(确定起点t0),单片机的T1端为回波测量定时器(确定起点t1),单片机的P1.0(称F端)输出窄脉冲串,各端工作波形如下图所示。测量出t1和t0,就可以算出障碍物和超声探头之间的距离。

2. 3 超声波测距系统的主要技术指标

测量距离:0.20m-10.00m

测量距离精度:1cm

实时功率:0.05W

系统发射功率:1mW(max)

工作电流:80mA(min)、90mA(max)

输入电源电压:DC5V

第三章 硬件设计及调试

3. 1 系统装置的硬件组成

3. 1. 1 单片机控制系统

单片机控制系统以单片机STC89C52为核心,STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。STC89C52单片机具有应用简单,操作简便,价格便宜等许多优点,因此我们选用这一型号的单片机作为控制器。单片机的晶振频率为12M,这样有利于我们更准确地计算超声波的往返时间,是后面距离精确计算的基础。

图1所示为本设计的单片机最小系统图。

图 1

3. 1. 2 超声波发射电路

超声波发射电路采用基于MAX232的方波发射电路,电路的前级用74LS04非门输出正反相的40KHz方波信号驱动MAX232后实现从TTL电平到RS232电平的DC-DC转换,输出+/-9V的电压方波,驱动超声波换能器,电路图如下图2所示。由于发射到换能器的电压高,波形完整,因此可以达到很高的发射功率与效率,可以测量到比较远的距离,同时用这个电路发射方波,电路工作稳定,电路功耗很小,也适合单电源供电。所以我们采用这个方案作为发射电路。

图2

3. 1. 3 超声波接受电路

超声波接收电路采用集成接收芯片对超声波回波信号进行放大与整形,在这里我们采用SONY公司生产的红外接收专用芯片CX20106A(电路如图3所示),由于它的接收频率在40KHz左右,而且它的外部电路简单易于实现,同时减少了生产调试的麻烦,因此我们采用这个接收方案。

图3

CX20106A内部集成了前置放大与限幅放大,总增益可达80dB,带通滤波电路,峰值检波,噪声抑制电路,自动增益控制电路和波形整形电路。可以通过调整外部的电容C2调整它的接收灵敏度,调整外部电阻R6可以的调整它的接收中心频率与增益,它工作稳定,灵敏度高,功耗小,接收回波能力强,所以我们采用这个方案作为接收电路。CX20106A的引脚注释:

l脚:超声波信号输入端,该脚的输入阻抗约为40kΩ。

2脚:该脚与GND之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻R或减小C,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但C的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R=4.7Ω,C=3.3μF。

3脚:该脚与GND之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3μF。

4脚:接地端。

5脚:该脚与电源端VCC接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。例如,取R=200kΩ时,fn≈42kHz,若取R=220kΩ,则中心频率f0≈38kHz。

6脚: 该脚与GND之间接入一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短。

7脚:遥控命令输出端,它是集电极开路的输出方式,因此该引脚必须接上一个上拉电阻到电源端,该电阻推荐阻值为22kΩ,没有接收信号时该端输出为高电平,有信号时则会下降。

8脚: 电源正极,4.5V~5V。

3. 1. 4 LED液晶显示电路

LCD液晶显示电路采用LCD1602液晶显示模块,它可以显示2行*16个字符,因此可相当于32 个LED 数码管,而且比数码管显示的信息还多。采用单+5V 电源供电,外围电路配置简单,价格便宜,具有很高的性价比。完全可以满足我们的设计要求。它独有的蓝色背光电路可以在环境光线较弱的条件下应用,显示清晰,颜色靓丽,价格便宜的特点,是很好的显示设备。同时,还能够根据情况来调节显示的亮度。由于本系统可以不用显示汉字,介于设计成本上的需要,我们采用了这个显示方案。电路如图4所示。

图 4

3. 2 焊接

焊接就是利用电烙铁等工具在预先制作好的印制电路板或万用板上,将电路原器件连接在一起的过程。为了提高效率,对大规模的电子产品的生产过程中,一般采用自动化流水线波峰焊接技术;而对于小规模的小型电子电路或产品的生产,则多数采用手工焊接。我采用的就是手工焊接,其质量的好坏取决于四个方面的条件:焊接工具,焊料,焊剂和焊接技术。

焊接时,首先进行排版,器件的摆放尽量做到科学,美观,并且方便。为了好区分,我将单片机控制电路和液晶显示电路放在一块板子上,将发射电路和接受电路放在一块板子上。将各个器件的位置定好后,就可以进行焊接了。我先焊的是单片机控制部分和液晶显示部分,然后再是发射电路和接受电路,最后用导线将发射电路和接受电路分别连接到各自需对应的单片机的管脚。

焊接步骤:把焊接烙铁推向引脚;将少量的焊锡放在烙铁尖上,可以使热度从烙铁传到金属铂上,焊锡从电烙铁对面送到焊件上,在另一面焊锡,元件和烙铁的热度就可以熔化焊锡;焊完后切断多余的引脚。

良好的焊接应具备以下特点:可靠的电气连接;足够的机械强度;光洁整齐的外观,即金属表面焊锡适量,外表具有金属光泽,没有拉尖、裂纹现象,表面平滑有半弓下凹。

3. 3 调试过程及方法

实验焊接完毕后根据设计线路图进行调试,以便检测其实际的性能。调试过程经过以下三个过程:

不通电检查电路安装:认真检查接线是否正确,如多线,少线或错线,尤其是电源线不能接错或接反。使用外用表,按照设计电路接线图检查安装电路,在安装好的电路中按电路图一一对照检查连线,看单片机控制电路,发射和接受电路还有液晶显示电路的连线是否都正确,并且在检查中要对已经检查过的连线做标记。

直观检查电源:地线,信号线,元器件接线端之间有无短路,联线处有无接触不良,有极性元器件引线短有无接错,反接等,集成块是否插对。

通电观察:把经过准确测量的电源电压加入电路,但暂不接入信号源信号。电源接通后,首先观察有无异常现象,包括有无冒烟,异常气味。触摸元件是否发烫,电源是否短路等。

硬件电路的电气特性检查无误后,可利用仿真器进行仿真,仿真通过则可由编程器向单片机内烧录程序,检查运行情况。但由于仿真器和编程器价格昂贵,在本系统调试过程中我采用了在线编程ISP下载程序进行调试。

ISP-In System Programming,在系统编程,通过单片机的专用串行编程接口或并口对单片机内部的FLASH存储器进行编程,ISP的实现一般需要很少的外部电路辅助实现。ISP为单片机的实验和开发带来了很大的方便和灵活性。

第四章 软件设计及调试

4. 1 系统软件设计整体介绍

本系统的软件设计采用了目前比较流行的编程语言-C语言,由于C语言是面对使用者的高级语言,它通俗易懂,书写方便,给我们的编程设计带有很大的方便,我们的编程速度与效率与得到了很大的提高。尤其是在数据运算处理方面,C语言显示出了巨大的优越性。

程序首先要初始化要用到的寄存器,内存单元,设置中断触发方式,并初始18B20和1602液晶模块,然后控制P3.1口输出12US的高电平,再输出13US的低电平,循环15次便可发射15个频率为40K的方波信号,此后单片机马上启动定时器计时,过一段时间的延时后,CPU

据,并将计算结果显示出来。以下图5是程序设计的流程图。

图5

4. 2 系统的程序

#include

#define uchar unsigned char

#define uint unsigned int

sbit d8=P2^7;

sbit d1=P2^0;

sbit d2=P2^2;

sbit d3=P2^4;

sbit fang=P3^1;

sbit ds=P1^4; //define ds18b20

sbit lcden=P1^0;

sbit lcdrs=P1^2;

uchar table[]="TMP:";

uchar table1[]="distance:";

uchar table2[]="0123456789.`CM";

double TT;

float S6;

uint temp,temp1,time,V,S;

uint S5[3],temp2[3];

uchar A1,A2,A3,S1,S2,S3,S4,timeh,timel,flag; /************延时**********/

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

/*********初始化DS18B20********/ void dsreset()

{

uint i;

ds=0;

i=103;

while(i>0) i--;

ds=1;

i=4;

while(i>0) i--;

}

/**********read a bit******/

bit tmpreadbit()

{

uint i;

bit dat;

ds=0;

i++;

ds=1;

i++;i++;

dat=ds;

i=8;

while(i>0) i--;

return(dat);

}

/*********read a byte********/ uchar tmpread()

{

uchar i,j,dat;

dat=0;

for(i=1;i

{

j=tmpreadbit();

dat=(j>1); }

return(dat);

}

/********** write a byte *********/ void tmpwritebyte(uchar dat) {

uint i;

uchar j;

bit testb;

for(j=1;j

{

testb=dat&0x01; dat=dat>>1;

if(testb)

{

ds=0;

i++;i++; ds=1;

i=8;

while(i>0) i--; }

else

{

ds=0;

i=8;

while(i>0) i--; ds=1;

i++; i++; }

}

}

/*******get tmp******/

uint gettmp()

{

float tt;

uchar a,b;

dsreset();

delay(1);

tmpwritebyte(0xcc);

tmpwritebyte(0xbe);

a=tmpread();

b=tmpread();

temp=b;

temp

temp=temp|a;

tt=temp*0.0625;

temp=tt*10+0.5;

return temp;

}

/********** fen li******/

void display1(uint temp)

{

A1=temp/100;

A2=(temp%100)/10;

A3=temp%10;

}

void display2(uint S)

{

S1=S/1000;

S2=S%1000/100;

S3=S%100/10;

S4=S%10;

}

/**************write a data***********/ void write_data(uchar date)

{

lcdrs=1; //rs =1

P0=date;

delay(5);

lcden=1; //EN 一个高脉冲写入 delay(5);

lcden=0;

}

/**************write a command*******/

void write_com(uchar com) //液晶写指令 {

lcdrs=0; //RS =0

P0=com; //送指令

delay(5);

lcden=1; //EN 一个高脉冲写入 delay(5);

lcden=0;

}

/*********init lcd***********/

void init() //初始化液晶

{

uchar i;

lcden=0;i++;i++;

write_com(0x38);

i++; i--;

write_com(0x0e); //光标不闪烁指令 i++;i--;

write_com(0x06);

i++;i--;

write_com(0x01); //清除所有指令 i++;i--;

}

void xianshi()

{

uchar a;

init();

write_com(0x80+3);

delay(5);

for(a=0;a

{

write_data(table[a]);

delay(5);

}

write_com(0x80+11);

delay(5);

for(a=11;a

{

write_data(table2[a]);

delay(5);

}

write_com(0x80+9);

delay(5);

write_data(table2[10]);

delay(5);

write_com(0xc0);

delay(5);

for(a=0;a

{

write_data(table1[a]);

delay(5);

}

write_com(0xc0+11);

delay(5);

write_data(table2[10]);

delay(5);

write_com(0xc0+14);

delay(5);

write_data("M");

delay(5);

}

void xianshi1()

{

write_com(0x80+7);

delay(5);

write_data(table2[A1]);

delay(5);

write_data(table2[A2]);

delay(5);

write_com(0x80+10);

delay(5);

write_data(table2[A3]);

delay(5);

if(S1>0)

{

write_com(0xc0+9);

delay(5);

write_data(table2[S1]); delay(5);

write_data(table2[S2]); delay(5);

write_com(0xc0+12); delay(5);

write_data(table2[S3]); delay(5);

write_data(table2[S4]); delay(5);

}

else

{

write_com(0xc0+10); delay(5);

write_data(table2[S2]); delay(5);

write_com(0xc0+12); delay(5);

write_data(table2[S3]); delay(5);

write_data(table2[S4]); delay(5);

}

}

void send()

{

uchar i,j,k;

EX1=0;

TH0=0;

TL0=0x01;

for(i=15;i>0;i--)

{

fang=1;

j=5; while(j>0) j--;

fang=0;

j=4; while(j>0) j--;

}

TR0=1; //启动定时器0

j=250; while(j>0) j--;

IE1=0;

EX1=1; //开外部中断1

for(k=2;k>0;k--)

for(i=255;i>0;i--)

for(j=255;j>0;j--);

}

void baojing()

{

if(S6>=1.0)

{

d1=1;

d2=0;

}

if(S6=0.5)

{

d1=1;

d2=1;

}

if(S6

{

d2=1; //等待中断回波

d1=0;

}

}

void exter1(void) interrupt 2

{

EX1=0;

TR0=0;

timeh=TH0;

timel=TL0;

TH0=0;

TL0=0x01;

d8=0;

flag=1;

}

void main()

{

uchar i;

EA=1;//开总中断

TMOD=0x01;//设置T0为工作方式1 TH0=0;

TL0=0x01; // 赋初值

EX1=0; //开外部中断1

IT1=1; //设置为下降沿触发中断 IE1=0;

xianshi();

while(1)

{

for(i=0;i

ss:

send();

if(flag==0)

goto ss;

EX1=0;

flag=0;

time=timeh*256;

time=time+timel;

TT=(time*(0.0001));

大学本科生毕业设计(论文)

4. 3 软件调试简介

在单片机软件设计调试中一般会用到编程器和仿真器,前者用于烧录程序,后者用于仿真程序,但两者价格都在几百元以上,比较昂贵。根据实际情况在系统软件调试中采用了ISP下载程序调试,改正程序后直接烧录进单片机看运行结果,不正确继续修改再烧录程序。这种调试方法虽然比较麻烦,对单片机影响也比较打大,但对于学生来说是个实惠又科学的方法了

在调试过程中,首先发现用手挡在前面的时候,液晶显示器的数字极度不稳定。后来发现,发射与接受探头需要测量一些平稳的平面,且小于15度的角度进行测量。经测验后,数字稳定了很多。

之后是串口通信。首先是用了串口助手,然后先拿别人的串口代码来用,发现根本无法显示。经同学提醒后得知,串口通信发送数据需要用到波特率发生器,而T0与T1定时器都已经被使用,后得知C52多了一个定时器2 T2,于是经过搜书与上网,自己给定时器2进行初始化配置,T2与T1、T2的初始化配置都不同。当RCLG与TCLK置位后,T2就作为波特率发生器使用。然后需要设置寄存器RCAP2H和RCAP2L,数值分别与相应的TH2和TL2相同。而且,TF2需要软件手动清零。在一系列地修改(比如全局变量与局部变量的冲突,波特率的修改,发送方式的修改,以及延时的增加等)后,终于发送成功。

第五章 总结

经过一段时间的不断的设计制作,我终于完成了这项毕业设计。总体上讲,这一系统测量结果在一定的误差范围内较为准确,测试数据较稳定。

当然,我这次的设计也存在很多的不足之处,比如我的这个设计在运动中测试的结果不够准确,测量数据变化很大,而且反应时间较长。我认为这是本系统中最大的不足之处,同时也是我在设计制作之初欠缺考虑的地方。为此,我查阅相关的资料,了解到相关的一些信息。据了解,目前高性能的倒车测距仪用源探头,接收的回波信号在探头内部放大整形后输出,发射信号也在探头内部耦合驱动传感器,其抗干扰性更强,探头的互换性、一致性也更高。同时采用多个探头以保证测试结果的质量。

总之,虽然我这次汽车倒车测距系统的制作存在一些不足,但总体上还是取得令人满意的结果!为此,我会再接再励,在毕业设计制作过程中不断吸收各方面的知识、提高自己的实践能力,让我再一次感觉到了辛苦忙碌之后收获的喜悦,同时也引起了我对电子制作的更加广泛的兴趣和热情!

致谢

参考文献

• 胡汉才.单片机原理及其接口技术.北京:清华大学出版社,2006

• 清源计算机工作室 Protel 99 SE原理图与PCB及仿真 北京:机械工业出版社,2004

• 窦振中编著,单片机应用系统设计。江苏:扬州大学物理科学与技术学院 2004 • 窦振中 基于单片机的嵌入式系统工程设计 北京:中国电力出版社,2008 • 马忠梅等编著,单片机的C语言应用程序设计 北京:航空航天大学出版社 2008

• 胡瑞等编著,基于超声波传感器的测距报警系统设计 沈阳:沈阳理工大学信息科学与工程学院 2009

• 李科杰 现代传感技术 2005

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3