陈华瑶 单片机课程设计_第1页
陈华瑶 单片机课程设计_第2页
陈华瑶 单片机课程设计_第3页
陈华瑶 单片机课程设计_第4页
陈华瑶 单片机课程设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、淮 海 工 学 院课程设计报告书 题 目: 基于单片机的 超声波测距系统 学 院: 电子工程 专 业: 自动化 姓 名: 陈华瑶 学 号: 511021221 课 程 设 计 报 告 书 专 用 纸1 绪论超声波是指频率大于20 kHz的在弹性介质中产生的机械震荡波。由于超声波频率较高,穿透力强,指向性强,传输过程中衰减少,能量消耗缓慢,在介质中传播的距离较远,遇到杂质或分界面时会产生反射波,因此常被用于非接触式测距。并且超声波对光线、色彩和电磁场不敏感,因此超声波测距对环境有较好的适应能力。广泛应用于汽车倒车、机器人避障、工业测井、水库液位测量、管道长度测量等需要自动进行非接触测距的场合。随

2、着科学技术的快速发展,超声波将在测距仪中的应用越来越广。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。本设计采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、中断程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了

3、各个功能模块。2 设计目的和要求(1)在学习微机原理、单片机原理及应用、计算机控制技术、控制理论与系统的基础上,掌握单片机控制系统的设计方法与步骤。(2)了解单片机控制系统构造的特点、组成和接口电路。(3)掌握单片机软硬件结合设计整个系统的原理。(4)根据系统总体框图,设计出系统的电气原理图,分析电气原理图。(5)根据整个系统所要完成的功能编写系统流程图及软件。(6)写出完整的系统设计说明书。3 总体方案设计3.1超声波测距原理超声波是利用反射的原理测量距离的,被测距离一端为超声波传感器,另一端必须有能反射超声波的物体。测量距离时,将超声波传感器对准反射物发射超声波,并开始计时,超声波在空气中

4、传播到达障碍物后被反射回来,传感器接收到反射脉冲后立即停止计时,然后根据超声波的传播速度和计时时间就能计算出两端的距离。测量距离D为 (2.1) 式中 c超声波的传播速度; 超声波发射到接收所需时间的一半,也就是单程传播时间。由上式可风,距离的测量精度主要取决于计时精度和传播速度两方面。需要考虑温度对超声波传播速度的影响,按(2.2)式对超声波传播速度加以修正,以减小误差。 (2.2)式中 c超声波的传播速度; T实际温度3.2设计思路测量距离方法有很多种,短距离可以用尺,远距离有激光测距等,超声波测距适用于高精度中长距离测量。因为超声波在标准空气中传播速度为331.45米/秒,由单片机负责计

5、时,单片机使用12.0M晶振,所以此系统测量精度理论上可以达到毫米级。 目前比较普遍的测距的原理:通过发射具有特征频率的超声波对被摄目标的探测,通过发射出特征频率的超声波和反射回接受到特征频率的超声波所用的时间,换算出距离,如超声波液位物位传感器,超声波探头,适合需要非接触测量场合,超声波测厚,超声波汽车测距告警装置等。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。

6、在精密的液位测量中需要达到毫米级的测量精度,但是目前国内的超声波测距专用集成电路都是只有厘米级的测量精度。通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用温度传感器进行声波传播速度的补偿后,我们设计的高精度超声波测距仪能达到毫米级的测量精度。目前超声波测距已得到广泛应用,国内一般使用专用集成电路根据超声波测距原理设计各种测距仪器,但是专用集成电路的成本较高、功能单一。而以单片机为核心的测距仪器可以实现预置、多端口检测、显示、报警等多种功能,并且成本低、精度高、操作简单、工作稳定、可靠。以8051为内核的单片机系列,其硬件结构具有功能部件齐全、功能强等特点。尤其值得一提的是,出8

7、位CPU外,还具备一个很强的位处理器,它实际上是一个完整的位微计算机,即包含完整的位CPU,位RAM、ROM(EPROM),位寻址寄存器、I/O口和指令集。所以,8051是双CPU的单片机。位处理在开关决策、逻辑电路仿真、过程测控等方面极为有效;而8位处理则在数据采集和处理等方面具有明显长处。根据设计要求并综合各方面因素,可以采用AT89C51单片机作为主控制器,它控制发射触发脉冲的开始时间及脉宽,响应回波时刻并测量、计数发射至往返的时间差。利用软件产生超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波;超声波信号的接收采用锁相环LM567对放大后的信号进行频率监视和控制。

8、一旦探头接到回波,若接收到的信号频率等于振荡器的固有频率(此频率主要由RC值决定),则其输出引脚的电平将从“1”变为“0”(此时锁相环已进入锁定状态),这种电平变化可以作为单片机对接收探头的接收情况进行实时监控。可对测得数据优化处理,并采用温度补偿,使测量误差降到更低限度;AT89C51还控制显示电路,用动态扫描法实现LED数字显示。本系统由超声波发射、回波信号接收、温度测量、显示和报警、电源等硬件电路部分以及相应的软件部分构成。系统原理框图,如图3.2所示。图3.2超声波测距仪系统结构框图整个系统由单片机AT89C51控制,超声波传感器采用收发分体式,分别是一支超声波发射换能器TCT4016

9、T和一支超声波接收换能器TCT4016R。超声波信号通过超声波发射换能器发射至空气中,遇被测物反射后回波被超声波接收换能器接收。进行相关处理后,输入单片机的INT0脚产生中断,计算中间经历的时间,同时再根据具体的温度计算相应的声速,就可得出相应的距离用来显示,当然在一些场合也可根据需要,设置距离报警值。4 主要元件介绍4.1单片机AT89C51单片机即单片微型计算机SCMC(Single Chip MicroComputer)。它把构成一台计算机的主要功能部、器件,如CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)、中断系统、定时/

10、计数器等集中在一块芯CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)制功能,所以又称为微控制器MCU(Microcontroller Unit)。相对于普通微机,单片机的体积要小得多,一般嵌入到其他仪器设备里,实现自动检测与控制,因此也称为嵌入式微控制器EMCU(Embedded Microcontroller Unit)。本设计的MCU采用的是DIP(Dual In-line Package塑料双列直插式)封装的AT89C51高性能8位单片机。AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦

11、写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。 AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本

12、。其引脚图如图4.1。图4.1 AT89C51的引脚图AT89C51的引脚功能有: 主电源引脚GND第20脚,电路接地电平。VCC第40脚,正常运行和编程校验+5V电源。 时钟源XTAL1第19脚,一般外接晶振的一个引脚,它是片内反相放大器的输入端口。当直接采用外部信号时,此引脚应接地。XTAL2第18脚,接外部晶振的另一个引脚,它是片内反相放大器的输出端口。当采用外部振荡信号源泉时,此引脚为外部振荡信号的输入端口,与信号源相连接。 控制、选通或复用RST第9脚,RESET复位信号输入端口。当单片机正常工作时,由该引脚输入脉宽为2个以上机器周期的高电平复位信号到单片机。在VCC掉电期间,此引脚

13、(即VPD)可接通备用电源,以保持片内RAM信息不受破坏。第30脚,输出允许地址锁存信号。当单片机访问外部存储器时,ALE信号的负跳变将P0口上的低8位地址送入锁存器。在非访问外部存储器期间,ALE仍以1/6振荡频率固定不变地输出,因此它可对个输出或用于定时目的。要注意的是:每当访问外部存储器时将跳过一个ALE脉冲。为第二功能,当对片内程序存储器编程写入时,此引脚作为编程脉冲输入端。第29脚,访问外部程序存储器选能信,低电平有效。当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的 信号不出现。:外部访问允许。欲

14、使CPU公访问外部程序存储器(地址0000H-FFFFH),端必须保持低电平(接地)。需注意的是:如果加密位LBI被编程,复位时内部会锁存端状态。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。多功能I/O端口P0口第3239脚,8位漏极开路双向I/O端口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问数据存储器或程序存储器时,这组口线分时转换地址和数据总线复用,在访问期间激活内部上拉电阻。P1口第18脚,具有内部上拉电路的8位准双向I/O端口。在对片内程序存储器(EPROM

15、型)进行程序编程和校验时,用做低8位地址总线。P2口第2128脚,具有内部上拉电路的8位准双向I/O端口。当单片机访问存储器时,用做高8位地址总线;在对片内程序存储器(EPROM型)进行程序编程和校验时,亦用做高8位地址总线。P3口第1017脚,具有内部上拉电路的8位准双向I/O端口。它还提供特殊的第二变异功能。它的每一位均可独立定义为第一功能的I/O口或第二变异功能。第二变异功能的具体含义如表4.2。表4.2 P3口的第二变异功能端口引脚第二功能P3.0RXD (串行输入口)P3.1TXD (串行输出口)P3.2 (外中断0)P3.3 (外中断1)P3.4T0 (定时/计数器0)P3.5T1

16、 (定时/计数器1)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通)4.2超声波传感器T40、R40超声波传感器主要材料有压电晶体(电致伸缩)及镍铁铝合金(磁致伸缩)两类。电致伸缩的材料有锆钛酸铅(PZT)等。压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成接收器和发送器。超声波传感器由两个压电晶片和一个共振板组成,当压电晶片的两极加上频率等于其固有谐振频率的脉冲信号时,压电晶片产生共振,并带动共振板产生振动,同时带动压电晶片也一起振动,将机械能转换为电能,称为超声波接收器。超声波传感器

17、利用压电效应进行电能和超声波机械能的相互转换,也称为超声波换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志,但外观基本一致。有的超声波传感器既作发送,也能作接收。这里仅介绍小型超声波传感器,其结构如图1所示,发送与接收略有差别,它适用于在空气中传播,工作频率一般为23-25KHZ及40-45KHZ。这类传感器适用于测距、遥控、防盗等用途。该种有T/R-40-16,T/R-40-12等(其中T表示发送,R表示接收,40表示频率为40KHZ,16及12表示其外径尺寸,以毫米计)。本设计采用的就是发送超声波传感器T40及接收超声波传感器R40。4.3温度传感器DS18B

18、20由于声音的速度在不同的温度下有所不同,为提高系统的精度,采用了温度补偿功能。这里采用的主要元器件是是美国Dallas半导体公司生产的单总线数字温度传感器DS18B20,其具有精度高、智能化、体积小、线路简单等特点。DS18B20是采用专门设计的不锈钢外壳,仅有0.2mm的壁厚,具有很小的蓄热量,采用导热性高的密封胶,保证了温度传感器的高灵敏性,极小的温度延迟。DS18B20支持“一线总线”接口(1-Wire),测量温度范围为 -55°C+125°C,在-10+85°C范围内,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大

19、提高了系统的抗干扰性。 DS18B20数字化温度传感器的主要性能如下:1 适用电压为3V5V;2 912位分辨率可调,对应的可编程温度分别为0.5、0.25、0.125、0.0625;3 TO-92、SOIC及CSP封装可选;4 测温范围:-55125;5 精度:-1085范围内±0.5;6 无需外部元件,独特的一线接口,电源和信号复合在一起;7 每个芯片唯一编码,支持联网寻址,零功耗等待。将DS18B20数据线与单片机的P1.1口相连,就可以实现温度测量,如图4.4所示。 图4.4 PR-35温度测量电路5硬件电路设计5.1超声波发射电路超声波发射电路原理图如图5.1所示。发射电路

20、主要由反相器74LS04和超声波发射换能器T40构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上位电阻R1、R2一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。图5.1超声波发射电路5.2超声波接受电路超声波接收电路由超声波传感器、两级放大电路和锁相环电路组成。超声波传感器接收到的反射波信号非常微弱,两级放大电路用

21、于对传感器接收到的信号进行放大。锁相环电路接收到频率符合要求的信号后向单片机发出中断请求。锁相环LM567内部压控振荡器的中心频率为,锁定带宽与C3有关。由于发送的超声波频率为40kHz,帮调整相关元件使锁相环的中心频率为40kHz,只响应该频率的信号,避免了其他频率信号的干扰。当超声波传感器接收到超声波信号后,送入两级放大器放大,放大后的信号进入锁相环检波,如果频率为40kHz,则从8脚发出低电平中断请求信号送单片机P3.3端,单片机检测到低电平后停止定时器的工作。超声波接收电路如图5.2所示。图5.2超声波接收电路5.3显示电路显示电路如图5.3,四位LED组成动态扫描电路,由AT89C5

22、1的P0口输出。动态扫描时,由P2口控制LED的当前显示位。当距离测量结束并调用显示程序,就会显示距离大小,显示两位小数。当按下按键k2时,将会显示温度值,延时5s后恢复显示距离值。图5.3显示电路6 软件设计6.1主程序流程我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。因为本设计对时间要求精度较高的部分全部由单片机内部的定时器完成,而虽然温度传感器的读写对时间精度要求也高,但经详细计算所得出的C程序已

23、被广泛应用,故直接借用已有程序也能作到对温度的准确读取,所心本设计全部使用C语言编程,这样能使设计中所用到的公式能方便快捷的体现和实现,又缩短了论文的篇幅。软件采用模块化设计方法,由主程序、超声波发生子程序、超声波接收中断子程序、温度测量子程序、距离计算子程序、显示子程序、键盘扫描处理程序等模块组成。图6.1为主程序流程图。系统上电后,首先系统初始化,不断扫描按键k1,若按键k1按下,则开始测量空气温度,然后将P1.0置位,使定时器T0开始定时,控制超声波传感器发出超声波,同时使定时器T1开始定时。CPU循环检测P3.3引脚,当P3.3为低电平时接收到回波,立即使T1停止工作,保存定时器的计数

24、值。然后根据温度和传输时间计算距离,温度补偿措施使测量精度有了明显提高,计算出距离后调用距离显示子程序,LED显示距离。最后检测按键k2,若k2闭合,则调用温度显示子程序,LED显示温度(温度并非测量距离时用于补偿的温度,而是当前温度)5s后恢复显示本次测量距离;若按键k2没有闭合,则显示器恒定显示最新一次的测量结果;若要进行下一次测量,则先要按下k3重新开始,再按下按键k1才执行新一次测量。由于不需输入数据,键盘只设置了3个按键,用于开始测量距离并显示温度功能设置等。NYNYNYYN开始系统初始化显示测量距离测温,根据温度和时间计算距离显示温度5s发射超声波,T1计时K2闭合?T1停止定时,

25、保存定时值N接收到反射波?K1闭合?K3闭合?图6.1 主程序流程6.2子程序设计6.2.1超声波发送子程序及超声波接收中断子程序超声波发生子程序的作用是通过P1.0端口发送左右超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12s左右,同时把计数器T1打开进行计时,定时器T1工作在方式0。超声波测距仪主程序利用外中断1检测返回超声波信号,一旦接收到返回超声波信号(即 引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T1停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T1溢出中断将外中断1关闭,并将测距成功标志字赋值0表示此次测距不成功

26、。T0中断服务程序如下:sbit send=P10;void timer0(void)interrupt 1 send=!send; TH0=0x1f; TL0=0xf4;超声波接收(外部中断1)程序:void int1(void)interrupt 2 if(TH1!=0x00&&TH0!=0x00) b=1; TR1=0; TR0=0; t=TH1*256+TL1; t=t/1000000; TH0=0x1f; TL0=0xf4; TH1=0x00; TL1=0x00;else b=0; TR1=0; TR0=0; TH0=0x1f; TL0=0xf4; TH1=0x00; TL1=0x00; 6.2.2 距离计算子程序当前温度和超声波往返时间均测量出来后,用C语言根据公式计算距离来编程是比较简单的算法。其实现程序算法如下:#include<math.h>void distance(void)double radical,dist,t;radical=sqrt(1+(temnum+273)/273);dist=165.7*t*radical;return(dist);7 原理图绘制本系统的特点是利用单片机控制超声波的发射和对超声波自发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论