




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录1 引言12 设计方案的比较与选择22.1 设计要求22.2 基于方案的论证和选取23 硬件电路的设计43.1 超声波设计系统框图43.2 超声波发射和接收电路43.3 单片机外围电路83.4 报警电路93.5 温度补偿电路93.6 LED显示电路103.7 直流稳压电源电路114 系统软件设计124.1 超声波测距仪的算法设计124.2 超声波主程序流程图134.3 超声波40KHz产生程序154.4 发射和接收中断程序164.5 温度补偿程序175 结束语19参考文献20附录21致谢29摘 要超声波是一种频率高于20K赫兹的声波,具有指向性强,能量消耗慢,灵敏性高,传播距离远等一系列
2、优点。在近代传感器技术和自动控制技术相结合的测距仪器中,应用十分普遍。利用超声波检测往往较其他方法方便、迅速、计算简单、易于做到实时控制,还可以在精度方面达到工业适用的要求。本论文就介绍了一种采用脉冲回波的方法,在基于单片机AT89C52的基础上设计超声波测距系统。充分利用单片机的软、硬件资源,实现超声波的发射与接收双向控制。系统主要由超声波发射电路、超声波接收电路、温度补偿电路、报警电路和显示电路几部分组成。首先介绍了超声波测距原理,然后详细地分析了系统的软硬件设计。最后采用C51软件设计的方法,使硬件设计简单,提高了性价比。关键词:超声波;单片机AT89C52;测距AbstractUltr
3、asound is a frequency above 20KHz sound waves, with a strong point, the energy consumption of slow, high sensitivity, transmission distance and a series of advantages. In modern sensor technology and automatic control technology combined rangefinder device, the application is very common.The use of
4、ultrasonic testing is often convenient than other methods, rapid, easy to compute, easy to do real-time control, you can achieve the accuracy requirements of industrial application. This paper presents a pulse on the echo method, based on AT89C52 microcontroller-based design of ultrasonic ranging sy
5、stem. Full use of the microcontroller software and hardware resources to achieve bi-directional ultrasonic transmitter and receiver control.System mainly consists of an ultrasonic transmitter and ultrasonic receiver circuit, temperature compensation circuit, the alarm circuit and display circuit com
6、posed of several parts. First introduced the principle of ultrasonic distance measurement, and detailed analysis of the system's hardware and software design. Finally, the use of C51 software design methods, the hardware design is simple, increase the price.Key words: ultrasonic; microcontroller
7、 AT89C52; ranging1 引言随着现代工业技术的发展,超声波检测技术得到了越来越广泛的应用。超声波一般是指频率超过20KHZ的机械波,利用其指向性强,能量消耗缓慢,传播距离较远,遇到障碍物会发生反射等特性进行距离的测量。加之信息处理简单、成本低、速度快。应用领域广泛,超声技术是一门以物理、电子、机械、及材料学等为基础的通用技术之一。通过超声波传感器向任意一方向发射超声波,在发射时刻同时开始计时,利用声波在空气中的传播速度和时间的乘积,就可以计算得障碍物离我们的距离。本系统采用AT89C52为主控器件来完成测量过程的信号采集、控制、数据的处理等工作。测量结果通过一四位共体LED数码管
8、显示,整个测量过程中与被测物体没有直接接触。随着社会的发展,科技的进步。一些传统的测距方法在许多场合已无法满足人们的需求,例如在井深,液位,管道长度测量等场合,传统的测距方法根本无法完成测量的任务。还有在很多要求实时测距的情况下,传统的测距方法也很难完成测量的任务。于是,一种新的测距方法诞生了非接触测距。超声波可用于非接触测量,具有不受光、电磁波以及粉尘等外界因素的干扰的优点,是利用计算超声波在被测物体和超声波探头之间的传输来测量距离的,对被测目标物体无损害。而且超声波传播速度在相当大范围内与频率无关。超声波的这些独特优点越来越受到人们的重视1。2 设计方案的比较与选择2.1 设计要求(1)
9、了解超声波测距原理;(2) 设计超声波发生电路和超声波接收放大电路;(3) 可编程实现超声波测距,并以数字的形式显示测量距离。2.2 基于方案的论证和选取方案一: 基于单片机的超声波测距系统,是利用单片机编程产生频率为40kHz的方波,经过发射驱动电路放大,使超声波传感器发射端震荡,发射超声波。超声波波经反射物反射回来后,由传感器接收端接收,再经接收电路放大、整形,控制单片机中断口。其系统框图如图1所示。数字显示功能键发射驱动接收驱动单片机控制图1 基于单片机的超声波测距系统框图这种以单片机为核心的超声波测距系统通过单片机记录超声波发射的时间和收到反射波的时间。当收到超声波的反射波时,接收电路
10、输出端产生一个负跳变,在单片机的外部中断源输入口产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离,结果输出给LED显示2。利用单片机准确计时,测距精度高,而且单片机控制方便,计算简单。许多超声波测距系统都采用这种设计方法。方案二:这种测距系统采用CPLD(Complex Programmable Logic Device)器件,运用VHDL编写程序,使用MAX+plusII软件进行软硬件设计的仿真和调试,最终实现测距功能。CPLD器件内部的宏单元是其最基本的模块,能独立地编程为D触发器、T触发器、RS触发器或JK触发器工作方式或组合逻辑工作方式。它的这
11、种特性非常适用于本系统,可将本系统所需要的分频功能、计数功能、振荡器、七段码显示全部由MAX来实现,而只需在外部配上适当的超声波传感器、接收和发送电路,即可组成一个测量精度高、性能稳定、响应速度快且具有显示功能的超声波测距仪。本系统利用CPLD器件控制超声波的发射,并对超声波发射至接收的往返时间进行计数,将计算结果在LED上显示出来。配合使用MAX+plusII开发软件,可集设计输入、设计处理、设计校验和器件编程于一体,集成度高,开发周期短。其系统框图如图2所示。数码显示发射放大接收放大发射传感器接收传感器整形晶振启动复位显示模块分频脉冲复位计数图2 基于CPLD的超声波测距系统框图超声波发射
12、器向某一方向发射40kHz的超声波,在发射超声波的同时,MAX7128S内的计数器开始计数。超声波在空气中传播,途中碰到障碍物就会立即返回来。超声波接收器收到反射波后就将回波信号送到CPLD,CPLD立即停止计数。CPLD所计的时间就是超声波从传感器到被测物的往返时间。CPLD开始计数后,只要传感器收到回波,CPLD就立即停止计数,即只有最先返回的超声波才起作用,也就是说超声波测距仪总是测得离传感器最近的物体的距离3。综合考虑前两种方案,方案一可以双向测量,功耗低,模块简单,稳定性高,成本低的特点,方案二具有灵敏度高,但结构复杂,测量盲区较长的缺点。综合各自的优劣点我们选择方案一。3 硬件电路
13、的设计3.1 超声波设计系统框图本文所设计的超声波测距仪主要由AT89C52单片机、超声波发射电路、超声波接收放大电路、显示电路温度测量、显示和报警、电源等硬件电路部分以及相应的软件部分构成。首先由单片机驱动产生12MHz晶振,由超声波发射探头发送出去,在遇到障碍物反射回来时由超声波接收探头检测到信号,然后经过滤波、放大、整形之后送入单片机进行计算,把计算结果输出到LED液晶显示屏上。超声波发生器可以分为两大类:一类是用电气方式产生超声波;另一类为机械方式。产生超声波。电气方式包括压电型、电动型等;目前在近距离测量方面较为常用的是压电式超声波换能器。因为超声波在标准空气中的传播速度为344米/
14、秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。 根据要求并综合以上各方面因素,采用AT89C52单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,超声波测距仪的系统框图如下图3所示:超声波发射LED显示 单 片 机 系 统超声波接收温度补偿报警电路 障 碍 物电源电路外围电路图3 超声波测距仪系统设计框图3.2 超声波发射和接收电路超声波传感器分为两种,一类为电气方式产生超声波,一类为机械方式产生超声波,本课题由于是近距离测量,故可以采用压电式超声波换能器。(1) 发射电路主要由反向器74LS04和超声波换能器T
15、CT4016T能向外界发出40 kHz左右的方波脉冲信号,40 kHz左右的方波脉冲信号的产生通常有两种方法:采用硬件555振荡产生或者软件如单片机软件编程输出,本系统采用后者。编程由单片机P1.0端口输出40 kHz左右的方波脉冲信号,由于单片机端口输出功率不够,40 kHz方波脉冲信号分成两路,送给一个由74HC04组成的推挽式电路进行功率放大以便使发射距离足够远,满足测量距离要求,最后送给超声波发射换能器TCT4016T以声波形式发射到空气中。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻R1、R3一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的
16、阻尼效果,缩短其自由振荡的时间。如图4所示:图4 超声波发射电路 图5 74LS04内部非门等效电路(2) 由于超声波接收包括接收探头,信号放大以及波形变换电路三部分,超声波接收探头又要求必须与发送探头相同的型号,不然可能导致接收效果不好甚至不能接收。由于超声波接收探头的信号非常弱,所以必须用放大器先放大,放大后的正弦波不能被微处理器处理,所以还要经过波形变换。本次设计为了降低调试难度,减少成本,提供系统可靠性,所以我们采用了一种用在彩色电视机上面的一种红外接收检波芯片CX20106,由于红外遥控的中心频率在40KHz,所以可以用来做接收电路。TCT4016T发射的在空气中传播,遇到障碍物就会
17、返回,超声波接收部分是为了将反射波(回波)顺利接收到超声波接收换能器TCT4016R进行转换变成电信号,并对此电信号进行放大、滤波、整形等处理后,这里用索尼公司生产的集成芯片CX20106,得到一个负脉冲送给单片机的P3.2(INT0)引脚,以产生一个中断。图6 超声波接收电路(3) 集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率40kHZ与测距的超声波频率40kHZ较为接近,可以利用它制作超声波检测接收电路。适当更改电容C3的大小,可以改变接收电路的灵敏度和抗干扰能力4。CX20106A红外遥控接收器集成电路的特性: CX20
18、106A是日本索尼公司生产的彩电专用红外遥控接收器,采用单列8脚直插式,超小型封装,5V供电。图7 芯片CX20106A内部结构图CX20106A对接收探头受到的信号进行放大、滤波,其总放大增益80db。它的内部结构由具有受自动电平限制控制的前置放大器、限幅放大器、宽频带滤波器、检测器、积分滤波器与整形器等部分组成: 前置放大器:它是高增益的放大器,由于超声波在空气中直线传输时,传输距离越大,衰减越厉害,故为了不使放大器的输出信号过强而产生失真,集成块内部有自动电平限制电路,对前置放大器的增益进行自动限制。 限幅放大器:当信号太强时为了防止放大器过载,限制高电平振幅,同时也可消除寄生调幅干扰。
19、 宽频带滤波器:其频带范围为30Hz-60Hz,其中心频率可调。 检测器:将返回的超声波的包络解调出来。 积分滤波器与整形电路:检测器输出的信号经积分滤波器送到整形电路,输出较好的矩形波。表1 CX20106A的引脚注释表引脚功能1脚(红外线输入端)超声信号输入端,该脚的输入阻抗约为40k2脚(增益调解端)该脚与地之间连接RC串联网络,改变它们的数值能改变前置放大器的增益和频率特性。3脚(检测)该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低4脚(地)接地端。5脚(带通滤波)该脚与电源间接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。6脚(积分段)该脚与
20、地之间接一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短。7脚(信号输出端)遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接上一个上拉电阻到电源端,推荐阻值为22k8脚(电源)电源正极,4.55V3.3 单片机外围电路当使用单片机的内部时钟电路时,单片机的XATL1和XATL2用来接石英晶体和微调电容,晶体一般可以选择3M24M,电容选择30pF左右。我们选择晶振为12MHz,电容20pF。在系统上电的瞬间,RST与电源电压同电位,随着电容的电压逐渐上升,RST电位下降,于是在RST形成一个正脉冲。只要该脉冲足够宽就可以实现复位,即=RC20ms。一般取R1K,C
21、22uF。当人按下按钮S1时,使电容C20通过R21迅速放电,待S1弹起后,C再次充电,实现手动复位。R21一般取10K。我们通过P1.4来启动测量,程序中通过查询P1.4的电平来检测是否按键被按下,当按下按键时P1.4为低电平,单片机通过查询到低电平开始测量距离,当松开按键,P1.4即为高电平,在软件中通过软件延时来消除按键的机械抖动5。图8 单片机外围电路3.4 报警电路我们在用超声波测量距离时都是无接触测试,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1ms ,当测试距离太近靠近障碍物时,我们就用到报警电路发出声音以起到警告作用。采用一个蜂鸣器,由P3.7输出一
22、定频率的信号,在连接到蜂鸣器之前,经过一个三极管9 012的放大。报警部分的连线,如图9所示:图9 报警电路3.5 温度补偿电路由于超声波的声速与温度有关,如果温度变化不大,可认为声速基本不变。如果测距精度要求很高,则应通过温度补偿的方法加以校正。由于在实际环境中,空气温度是一个不可不考虑的干扰因素,在不同温度下超声波的传播速度是不一样的,因此还需要一个温度补偿。来计算出当前温度并换算成超声波的传播速度6。物理学告诉我们,超声波在空气中的传播速度为:CG=334+0.61*T,由此可见,超声波的速度和温度密切关系,即温度每增加1°C,超声波速度约增加0.61m/s,本次我们考虑温度补
23、偿,以使我们的设计更加精确,温度的采集通常使用DS18B20一线式数字温度传感器,电路非常简洁,具体电路图如下图所示。DS18B20是美国DALLS公司推出的DS1820的替代产品,具有9、10、11、12位的转换精度,未编程时默认的精度是12位,测量精度一般为0.5°C,软件处理后可以达到0.1°C,温度输出以16位符号扩展的二进制数形式提供,低位在先,以0.0625°C/LSB形式表达。其中高五位为扩展符号位。转换周期与转换精度有关。DSl8B20的电源可以由数据线自身供电而不需要接外部电源。每一DSl8B20在出厂时已经给定了唯一的序号,DSl8B20可以存
24、放在同一条单线总线上实现多点温度测量,实现数据的双向通信,测温范围从-55摄氏度+125摄氏度增量值为0.5度可在l s内把温度变换成数字量,因此采DS18B20实现温度补偿电路的设计。补偿电路如图11所示:不同温度下的超声波声速如图10所示:温度 T/OC-30-20-100102030100声速 /m.s-1313319325323338344349386图10 不同温度下的超声波声速表由于声音的速度在不同的温度下有所不同,采用它提高了系统的精度,采用了温度补偿功能。这里采用的主要元器件是是美国Dallas半导体公司生产的单总线数字温度传感器DS18B20,其具有精度高、智能化、体积小、线
25、路简单等特点。将DS18B20数据线与单片机的P1.1口相连,就可以实现温度测量。图11 温度补偿电路3.6 LED显示电路LED数码显示管有两种,一种是共阳极数码管,另一种是共阴极数码管,其内部是由八个阳极或阴极相连接的发光二极管组成,二者原理不同但功能相同。共阴极LED数码显示块的发光二极管阴极连接在一起,形成该模块的公共端(通常称为位选端),因此称为共阴极LED数码显示器,8个数码管的另一端通常称为段选端,当显示器的公共端接低电平,某个发光二极管的阳极接高电平时,该发光二极管被点亮;而共阳极LED数码显示管则形成共阳极LED数码显示块的公共端,该公共端必须接高电平,同理在共阳极LED数码
26、显示块中如某个发光二极管的阴极为低电平时,该发光二极管被点亮7。AT89C52是采用12MHZ晶振获得稳定的时钟频率。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减少测量中误差。单片机用P1.0端口输出超声波换能器所需的40KHz方波信号,利用外中断0口检测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,位码用PNP三极管9012驱动。单片机系统及显示电路如图12所示:图12 LED显示电路3.7 直流稳压电源电路电源电路采用普通可调电源供电,该电源不含稳压器,所以在设计中需要用稳压器进行稳压,我们选用LM7805来获得稳定的+5V直流电压,如下图:图13 稳
27、压电源电路4 系统软件设计超声波测距器的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。下面分别对超声波测距器的算法、主程序、超声波发生子程序和超声波接收中断程序逐一作介绍。4.1 超声波测距仪的算法设计超声波从超声传感器发出,在空气中传播,遇到被测物反射后,再传回超声传感器。整个过程,超声波会有很大的衰减。声学理论证明,衰减遵从指数衰减规律8。A=A(x)cos(wt+kt)=A0e-xcos(wt+kt) (1)其中A(x)为超声传感器接收的振幅;A0为超声传感器初始振幅;为传播角频率;为衰减系数;x为超声波传播距离;t为传播时间;k=2/为波数;为声波波长。由
28、此可以知道,超声波频率越高,其衰减越快,传播的距离也越短。但是,超声波频率越高,指向性越强,这一点有利于距离测量。考虑这两点,为达到更佳的效果,也是选取中心频率为40kHz的原因。超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为: d=s/2=(c×t)/2 (2)超声波测量原理图如图13所示:S发射接收 图13 超声波测距原理图在超声波发射器两端输入610个40kHz脉冲串,脉冲电信号经过超声波内部振子,振荡出机
29、械波,通过空气,介质传播到被测面,由被测面反射,由超声波接收器接收,在超声波接收器两端信号是毫伏级别的正弦波信号。传播的渡越时间即为超声波发射器发出的超声波时刻与经介质反射传播到接收器时刻差。如图13所示,测量发射点到被测物面到接收点距离2S,超声波的传播速度约为v=344m/s(20时)依据公式:S=1/2VT得距离s9。距离测量有一个最远测量距离限制,其原因就在于接收信号的幅值至少应该大于规定的阀值。这个阀值决定于对信噪比的要求。要求高些,可要求这一阀值大于噪声幅值的倍数高些,保证信噪比可以大于要求。但是无论要求怎样低,最小的接收信号幅值总得比噪声幅值大,否则就很难从噪声中分辨出所需的信号
30、来。所以,如果想增大可测的距离,总得从两个方面来解决,一方面就是尽量降低噪声,另一方面就是尽可能增大发射信号的幅值。4.2 超声波主程序流程图主程序首先是对系统环境初始化,设置定时器T0工作模式为16位计数器模式,置位总中断允许位EA并给显示端口P0和P2清0。然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1ms(这也就是超声波测距器会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号10。由于采用的是12MH z的晶振,计数器每计一个数就是1s,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回
31、所用的时间)按下式计算,即可得被测物体与测距器之间的距离,设计时取20时的声速为344m/s则有d=s/2=(c×t)/2=172T0/10 000 cm (3)其中T0为计数器T0的计数值。测出距离后结果将以十进制BCD码方式送往LED显示约0.5 s,然后再发超声波脉冲重复测量过程。图14为主要程序流程图:系统初始化开始等待反射超声波计算距离发送超声波脉冲显示结果0.5s报警提示图14 主程序流程图当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。软件分为两部分,主
32、程序和中断服务程序,主程序完成初始化工作、各路超声波发射与接收顺序的控制。 定时中断服务子程序完成超声波的轮流发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。定时中断与外部中断流程图分别如图15、16所示:定时中断入口NY停止发射定时器初始化返回发射超声波发射完否图15 定时中断服务子程序流图关外部中断外部中断入口读取时间值计算距离结果输出开外部中断返回图16 外部中断服务子程序流图4.3 超声波40KHz产生程序主要采用中断方式产生40KHZ的方波,程序如下: #include<reg51.h> sbit p1_0=P10; void main() TM
33、OD=0x02; TH0=243; TL0=243; EA=1; ET0=1; TR0=1; while(1); void time0_int() interrupt 1 p1_0=!p1_0; 4.4 发射和接收中断程序void send()/脉冲波发送uchar i; TH0=0; TL0=0;/清定时0 TR0=1;/开定时0ET0=1;for(i=0;i<10;i+)sg=sg;/超声波发送引脚_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(
34、); sg=1;delay(36);EX0=1; /开外部中断void rec() interrupt 0 using 2 Tout=0; /超时标志flag=1; /外部中断标志位TR0=0; /关定时器0ET0=0;EX0=0; time=256*TH0+TL0; void TimeOut(void) interrupt 1 using 2 Tout=1; flag=0; TR0=0; ET0=0;4.5 温度补偿程序uint Read_Temperature(void) /读取温度,返回整数值 uint c;reset(); /复位18b20芯片tu=0; /先置位温度正负标示为正if(
35、r) write(0xCC); / 跳过多传感器识别skio rom write(0xBE); /发读内部9字节内容指令 c=read(); /读两个字 reset(); /读完两个字节后复位 write(0xCC); / 跳过多传感器识别skio rom write(0x44); / 发启动温度变换指令 if(c>0x1000)c=c+1;tu=1; /若温度小于0,tu=1 c>>=4; /去掉低四位即为整数温度值,无需*0.0625 return c;elsereturn r; /返回0XFF表示未检测到18B20芯片int C_speed(void) /根据温度查算声
36、速值 uchar y; y=Read_Temperature(); /采温度 if(r) /若温度有变化则按温度值取声速T_C=y; /温度值变化后的温度值if(tu=0)speed=332+T_C*0.607; /温度为正则+声速else speed=332-T_C*0.607; /温度为负则-声速else speed=346.5;return speed;5 结束语在即将毕业之际,做一个系统的设计可以对自己三年的所学做一个总结,也是给自己以后工作增添一份信心。以上基于单片机的超声波的测距系统的设计包含了:电路分析、数字、模拟电路和单片机、传感器、C语言等方面的知识,另外还有选材购买、动手制
37、作等方面。所以具有很高的参考价值,同时,该设计的方案也是来源于生活中广泛的应用领域,有很强的应用价值。单片机的应用改变了传统的设计思路,以前构建一个系统需用用很多的数字模拟器件或者电路单元来构建,系统可靠性差、缺乏灵活性、维护不便、成本高、无法实现智能化等诸多缺点。单片机的应用解决了很多问题,现在只要写一个软件,通过单片机和一些简单的外接电路就可以实现具有很多功能的、而且具有智能化的系统,同时可方便升级维护。所以单片机的应用广泛,在日常生活和生产中占用重要位置。所以我们设计选择了单片机的系统其说明我们深深的意识到它的重要作用。设计中也“小试牛刀”的使用了我们传感器课程所学的超声波的知识;用到了
38、电路分析;模拟电子技术的知识;单片机程序设计使用了C语言来编写程序,感受到了C语言的魅力所在。可以说该设计的过程是对我们三年所学的一次总结。通过以上的设计过程,我们不但在知识上收获了,而且发现了自己的一些不足之处;同时,我们也对自己的动手能力有所锻炼,而且一次成功的经历给我增添了不少的信心。我们相信,毕业后,把这种学习的兴趣和努力的精神发挥到工作中一定能有所作为!参考文献1 时德刚,刘哗编著超声波测距的研究J计算机测量与控制,2002.9(10):31332 胡萍主编超声波测距仪的研制J计算机与现代化,2003.7(10):21233 樊昌元,丁义元编著高精度测距雷达研究Z仪器学报,2000.
39、10:284 吴斌方,刘民编著超声波测距传感器的研究J中国仪器仪表, 2007.8(10):77785 唐颖,程菊花,任条娟编著单片机原理与应用及C51程序设计M北京大学出版社,2010.76 苏伟,巩壁建超声波测距误差分析J传感器技术,2004.3(4):17207 刘瑞新,沈淑娟编著C语言程序设计基础M机械工业出社,2004.88 阎石主编数字电子技术基础M高等教育出版社,2008.69 康华光,陈大钦编著电子技术基础(模拟部分第四版)M高等教育出版社, 2002.310 康华光,邹寿彬编著电子技术基础(数字部分第四版)M高等教育出版社,2003.611 何希才主编传感器技术及应用M北京:
40、北京航空航天大学出版社,2005.4附录 (1) 原理图(2) PCB图(3) 仿真图(4) 主程序#include<reg52.h>#include<intrins.h>#define uchar unsigned charsbit send=P10; /发射sbit P32=P32; /接收sbit P11=P04; /led指示灯sbit P15=P05;sbit P16=P06;sbit P17=P07;sbit P25=P03; /4位led数码管sbit P26=P02;sbit P23=P01;sbit P24=P00;sbit P33=P20; /K1s
41、bit P36=P22; /K2sbit P37=P23; /K3sbit P1_0 = P10;/RS485收发控制引脚bit Flag_data_send = 0;/串行数据发送标志unsigned int U_flag=0;/INT0中断计数标志,串行发送时间标志unsigned int shangxian,xiaxian;unsigned int x,x1,h;long int s=1234,t;unsigned char cs,biaozhi,biaozhi1,jianzhi0,jianzhi1,nkey,v=34;unsigned char LEDMAP=0XEB,0X0a,0X6
42、7,0X6e,0X8E,0XEC,0XED,0X2A,0XEF,0XEE; /"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"unsigned char ledbuf4=0X67,0XEB,0X0a,0X0a;uchar flag=0;void Delay(uchar CNT) uchar i; while(CNT-!=0) for( i=0;i&l
43、t;12;i+);DateToLEDBuf(unsigned int s) ledbuf0=LEDMAPs/1000; /s(mm) x=s%1000; x1=(x%100)%10; ledbuf1=LEDMAPx/100; ledbuf2=LEDMAP(x%100)/10; ledbuf3=LEDMAPx1;void display() /显示子程序 unsigned char i; for(i=0;i<4;i+) switch(i) case 0: (P25=0)&&(P26=1)&&(P23=1)&&(P24=1);break; ca
44、se 1: (P25=1)&&(P26=0)&&(P23=1)&&(P24=1);break; case 2: (P25=1)&&(P26=1)&&(P23=0)&&(P24=1);break; case 3: (P25=1)&&(P26=1)&&(P23=1)&&(P24=0);break; P0=ledbufi; Delay(1); void delay12us() /延时12us子程序 _nop_(); _nop_(); _nop_(); _nop_(); _nop_();void InitUART(void)/串行通信初始化 P1_0 = 0; /初始化为接收模式 TMOD = 0x20;/定时器T0方式1 SCON = 0x50;/串行方式1 REN = 1;/允许接收 TH1 = 0xF3;/波特率2400 TL1 = TH1; PCON = 0x00;/无倍频 IP = 0x10;/串行中断优先级最高 ES=1;/串行中断使能 TR1 = 1;/启动定时器T1void Usart_Send(unsigned char DataToSend)/数据串行发送 SBUF = DataToSend; while(TI =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 稳固家庭忠诚义务履行书
- 《严重心律失常》课件
- 复用器械清洗流程标准化管理
- 《溶液的性质》课件
- 酒店安全培训体系与实施规范
- 《国际贸易专业术语》课件
- 天台抽蓄500千伏送出工程报告书
- 乐高幼儿课件教案
- 开发培训交流会
- 《李芳人物画B》课件
- 《感恩主题班会》课件
- 建筑电气课件教学课件
- 宫颈癌护理查房-5
- 住宅修缮项目冬季施工专项方案
- 中国高血压防治指南(2024年修订版)要点解读
- 2024年山东济宁初中学业水平考试地理试卷真题(含答案详解)
- 2024年计算机考试-ISTQB认证考试近5年真题附答案
- 设备、材料供应方案
- 环保督察课件教学课件
- 2024年五年级英语下册 Module 8 Unit 2 I made a kite教案 外研版(三起)
- DL∕T 1396-2014 水电建设项目文件收集与档案整 理规范
评论
0/150
提交评论