版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建师范大学2010级毕业设计摘要超声波是频率高于20KHZ的声波具有指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在液位、井深、管道长度的测量、移动机器人定位和避障等领域得到了广泛的应用。基于此,本次设计尝试使用AT89S52与HC-SR04模块来实现超声波的测量,结合外围电路模块实现距离显示及报警构成超声波测距系统。本次超声波测距系统由单片机计时及控制电路、超声波发射接收模块、测量距离显示电路、报警电路等部分组成。详细介绍了超声波测距模块及AT89S52单片机的测距原理。以HC-SR04超声波测距模块为核心实现超声波的发射与接收。显示电路采用数码管以及三极管显示控制,报警电路由蜂鸣器与三极管组成。整体电路结构简单,成本低廉,工作稳定,测量精度也达到实际应用要求。关键词:AT89C52,超声波,HC-SR04,测距AbstractUltrasoundissoundwaveswithfrequencyhigherthan20KHz,ithasstrongdirectivityandconsumesenergyslowly,atthesametimeitspreadsfartherinthesamemedium.Thereforeultrasoundisoftenusedfordistancemeasurement,suchastherangefinderandlevelmeasurementandsooncanbeachievedbyit.Useofultrasonicdetectiontendstobequickly,convenientandsimplecalculation,easytodoreal-timecontrol.Inthemeasurementprecisionitcanreachindustrypracticalrequirement.Soinliquidlevel,welldepth,pipelengthmeasurement,mobilerobotlocalizationandobstacleavoidance,etcawiderangeofapplications.Thisultrasonicrangingsystemconsistsofthesingle-chipmicrocomputertimerandcontrolcircuit,ultrasoundtransmittingandreceivingmodules,thedistancedisplaycircuit,alarmcircuitsandothercomponents.DetailedintroducestheultrasonicrangingmoduleandAT89S52MCUrangefinderprinciple.HC-SR04isthecoreoftheultrasonictransmitterandreceiver.Theresultdisplayswithdigitaltubeandcontrolledbytransistor.Andthealarmcircuitiscomposedbybuzzerandtransistor.Thewholecircuitissimplestructure,lowcost,stableworkandthemeasurementaccuracyreachedtheapplicationrequirements.Keywords:AT89C51,Ultrasonicwave,HC-SR04,Measuredistance第1章绪论1.1课题研究的背景随着科学技术的快速发展,超声波将在传感器中的应用越来越广。但就目前技术水平来说,人们可以具体利用的传感技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波传感器作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题。毋庸置疑,未来的超声波传感器将与自动化智能化接轨,与其他的传感器集成和融合,形成多传感器。随着传感器的技术进步,传感器将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。1.2课题研究的意义在现实生活中,在某些特殊的场合,传统的测量距离的方法往往会存在一些没办法克服的因素,像是在液面上做距离测量,用传统的方法,电极法首先采用差位的分布电极,再通过给脉冲或电来进行检测液面,由于电极需要长期浸泡于水中或其它液体中的原因,所以极易容易被腐蚀或是电解,从而导致降低灵敏性。但是如果使用超声波来测量距离的话,刚好可以很有效地解决这一问题。目前市面上常见的超声波测距系统不仅价格昂贵,体积过大而且精度也不高等种种因素,使得在一些中小规模的应用领域中难以得到广泛的应用。为解决这一系列难题,本文设计了一款基于AT89C51单片机的低成本、高精度、微型化的超声波测距仪。1.3论文结构论文首先对课题的背景和意义进行阐述,并概述了论文结构。第2章先就超声波测距的原理进行介绍。第3章针对本文采用的设计方案进行了可行性的论证,并得出了系统结构框图。第4章介绍了设计中需要用到的主要器件,从整体硬件设计出发,对各部分电路进行了详细说明。第5章第6章第2章超声波测距原理2.1超声波简介我们知道,当物体振动的时候便会产生声音。科学家们系统的把每秒钟振动的次数称之位声音地频率,单位称为赫兹(HZ)。人类的耳朵可以听到声波的频率仅在20到20000HZ。如果声波的振动频率超过了20000HZ还是低于20HZ时候,人们便没办法听不见了。所以,通常超过20000HZ的声波我们将之称作“超声波”。通常用于医学诊断的超声波的主要频率为1~5兆赫。超声波的优点是具有良好的方向性,它穿透的能力也非常强,可以很容易的获得比较集中的声能,水中的传播距离也比较远等特点。用途比较广泛主要用于测量距离、测量速度、医学方面,军事方面,工业方面,和农业方面的作用。理论研究表明,在振幅相同的条件下,一个物体振动的能量与振动频率成正比,超声波在介质中传播时,由于在介质的质点振动频率相对于高,因此能量也是相对的大。如果冬天在北方的时候,如果往水罐中注入超声波的话,罐中的水会由于剧烈震动碎成大量的小雾滴,再把破碎的雾滴用风扇往室内吹的话,便使室内的空气湿度瞬间增加。这个原理便是超声波加湿器。对于气管炎疾病或咽喉炎疾病等等,药品很难血流到打患病的部位。使用加湿器的原理,可以有效的雾化药液,让病人吸入,能够疗效。人体内的结石可以使用超声波较大能量经过剧烈的受迫振动而破碎。2.2超声波测距原理超声波是利用反射的原理测量距离的,被测距离一端为超声波传感器,另一端必须有能反射超声波的物体。测量距离时,超声波传感器将对准反射物并且发射超声波,便立即计时,超声波由于在空气的传播过程中碰到障碍物所将会被反射回来,同时传感器的接收端将收到反射回来的脉冲后便会马上计时,便可以依据超声波在传播中的速度和时间计算出两端的相距距离。测量中的距离D为(2.1)式中c——超声波的传播速度;——超声波发射到接收所需时间的一半,也就是单程传播时间。由上式可知,主要由计时的精度和传播的速度这两方面来决定距离的测量精度。计时的精度主要是由单片机的定时器起决定的作用,定时时间是指机器周期和计数次数两个的乘积,可以选用12MHz的晶振,这样可以使机器周期在精确的1µs,便不会使累积误差产生,使得定时间可达到1µs。对于超声波的传播速度c来说是会改变的,传播速度受到空气的密度、气体的分子成分和温度的影响,关系式为(2.2)式中γ——气体定压热容与定容热容的比值,空气为1.40。R——气体普适常数,为8.314kg/mol。T——气体势力学温度,与摄氏温度的关系是T=273K+t。M——气体相对分子质量,空气为28.8×10-3kg/mol。c0——0℃时的声波速度,为331.4m由上式可见,温度是超声波在空气中传播时影响最大的,由表达式可计算出波速与温度之间的关系,如表2.1所示。如果温度值越高,传播的速度将越快,并且温度不同的话,传播的速度的差异也很大,像在0℃时的传播速度为332m/s,但是30℃时的传播速度为350m/s,相差18m/s。因此,需要测量的精度较高的时候,进行温度补偿是最有效的措施。对测量精度要求不高时,可认为超声波在空气中的传播速度为表2.1超声波传播速度与温度关系表项目数值温度-30-20-100102030405060100声速/(m•s)313319325332338344350356361367388福建师范大学2010级毕业设计PAGE8第3章方案论证3.1设计思路有许多种测量距离的方法,如果是短距离的话可以用尺,远距离可以使用激光测距等,高精度中长距离的测量则可以使用超声波测距。由于超声波在标准的空气中传播时,速度是为331.45米/秒,由单片机负责计时,单片机是使用12.0M目前比较普遍的测量距离原理:通过发射具有特征频率的超声波对被摄目标的探测,通过发射出特征频率的超声波和反射回接受到特征频率的超声波所用的时间,换算出距离,如超声波液位物位传感器,超声波探头,适合需要非接触测量场合,超声波测厚,超声波汽车测距告警装置等。由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。由于超声波易于定向发射、定向方向性好、强度容易控制、和被测物体不用直接的接触的优点,被当认为是液体高度测量的最佳手段方法。在目前我国的超声波测距的专用集成电路中都是只有到达厘米级别的测量精度,但是在精密的液体测量中往往都需要毫安级别的测量精度。通过进行检测超声波测距误差的产生原因,从而提高所测量时间差以到微秒级别,同时用温度传感器处理声波传播速度的补偿过后,我们设计出的高精度超声波测距仪可达到毫米级的测量精度了。目前超声波测距已得到广泛应用,国内一般使用专用集成电路根据超声波测距原理设计各种测距仪器,但是专用集成电路的成本花费较高并且功能较为单一。但是以单片机为主要核心的测距仪器可完成预置、多个端口进行检测、显示和报警等多种功能,并且成本低、精度高、操作简单、工作稳定、可靠。以8051为内核的单片机系列,其硬件结构具有功能部件齐全、功能强等特点。尤其值得一提的是,出8位CPU外,还具备一个很强的位处理器,它实际上是一个完整的位微计算机,即包含完整的位CPU,位RAM、ROM(EPROM),位寻址寄存器、I/O口和指令集。所以,8051是双CPU的单片机。位处理在开关决策、逻辑电路仿真、过程测控等方面极为有效;而8位处理则在数据采集和处理等方面具有明显长处。根据设计要求并综合各方面因素,可以采用AT89C51单片机作为主控制器,它控制发射触发脉冲的开始时间及脉宽,响应回波时刻并测量、计数发射至往返的时间差。利用软件产生超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波;超声波信号的接收采用锁相环LM567对放大后的信号进行频率监视和控制。一旦探头接到回波,若接收到的信号频率等于振荡器的固有频率(此频率主要由RC值决定),则其输出引脚的电平将从“1”变为“0”(此时锁相环已进入锁定状态),这种电平变化可以作为单片机对接收探头的接收情况进行实时监控。可对测得数据优化处理,并采用温度补偿,使测量误差降到更低限度;AT89C51还控制显示电路,用动态扫描法实现LCD-1602显示。3.2系统结构设计超声波测距仪系统结构如图3.1所示。它主要由单片机、超声波发射及接收电路、超声波传感器、温度传感器、键盘、LCD显示电路及语音播报电路组成。系统主要功能包括:超声波的发射、接收,并根据计时时间计算测量距离;检测空气温度用于距离计算的补偿;LCD显示器显示距离、温度;键盘接收用户命令并处理;当系统运行不正常时,用电平式开关与上电复位电路复位。单片机超声波HY-SR05温度传感器DS18B20按键ISD1420语音LCD1602显示报警、闪灯、鸣叫图3.1超声波测距仪系统结构框图第4章主要元件介绍4.1单片机AT89C52单片机即单片微型计算机SCMC(SingleChipMicroComputer)。它把构成一台计算机的主要功能部、器件,如CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)、中断系统、定时/计数器等集中在一块芯CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)制功能,所以又称为微控制器MCU(MicrocontrollerUnit)。相对于普通微机,单片机的体积要小得多,一般嵌入到其他仪器设备里,实现自动检测与控制,因此也称为嵌入式微控制器EMCU(EmbeddedMicrocontrollerUnit)。T89S52是一种低功耗高性能COS8位微控制器具有8K在系统可编程Fash存储器。使用tel公司高密度非易失性存储器技术制造,与工业8051产品指令和引脚完全兼容片上Fash允许程序存储器在系统可编程亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Fas使得T89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。T89S52具有以下标准功能:8k字节Fs256字节,32位I/O口线,看门狗定时器,2个数据指,三个16位定时器/计数器一个6向量2级中断结构全双工串行口,片内晶振及时钟电路。另外,T89S52可降至0Hz静态逻辑操作支持2种软件可选择节电模式空闲模式下PU停止工作允许RA定时器/计数器串口中断继续工作。掉电保护方式下,AM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89C52即能按照正常的方法进行编程,也可在线进行编程。它是把通用的Flash存储器和微处理器结合在一起的,特别是可反复擦写的Flash存储器可有效地降低开发成本。其引脚图如右图所示1)主电源引脚VSS——第20脚,电路接地电平。VCC——第40脚,正常运行和编程校验+5V电源。2)时钟源XTAL1——第19脚,一般外接晶振的一个引脚,它是片内反相放大器的输入端口。当直接采用外部信号时,此引脚应接地。XTAL1——第18脚,接外部晶振的另一个引脚,它是片内反相放大器的输出端口。当采用外部振荡信号源泉时,此引脚为外部振荡信号的输入端口,与信号源相连接。3)控制、选通或复用RST/VPD——第9脚,RESET复位信号输入端口。当单片机正常工作时,由该引脚输入脉宽为2个以上机器周期的高电平复位信号到单片机。在VCC掉电期间,此引脚(即VPD)可接通备用电源,以保持片内RAM信息不受破坏。——第30脚,输出允许地址锁存信号。当单片机进行访问其外部存储器的同时,则ALE信号地负跳变会把P0口上的低8位地址传送到锁存器。并且在非访问外部存储器的期间,ALE仍以1/6振荡频率是固定不变地输出,因此它可对个输出或用于定时目的。需要注意的问题是:每次访问外部存储器的时候会跃过一个ALE脉冲。为第二功能,当对片内程序存储器编程写入时,此引脚作为编程脉冲输入端。——第29脚,访问外部程序存储器选能信,低电平有效。当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。在此期间,当进行访问外部的数据存储器时,这两次有效的信号不出现。:外部访问允许。如果使CPU访问其外部程序存储器(地址0000H-FFFFH),则端将必须为低电平(接地)。需注意的是:要是加密位LBI被编程,进行复位的时候内部将会锁存端的状态。当Flash存储器进行编程时,其引脚需加+12V地编程允许的电源VPP,当然这必须是该器件是使用12V编程电压VPP。4)多功能I/O端口P0口——第32~39脚,是8位的漏极开路双向I/O端口。当作输出口使用的时候,每一位能够吸收电流地方式来驱动8个TTL逻辑门电路,如端口写“1”P1口——第1~8脚,具有内部的上拉电路的8位准双向I/O端口。在对片内程序存储器(EPROM型)进行程序编程和校验时,用做低8位地址总线。P2口——第21~28脚,具有内部的上拉电路的8位准双向I/O端口。当单片机访问存储器时,用做高8位地址总线;在对片内程序存储器(EPROM型)进行程序编程和校验时,亦用做高8位地址总线。P3口——第10~17脚,具有内部上拉电路的8位准双向I/O端口。它还提供特殊的第二变异功能。它的每一位均可独立定义为第一功能的I/O口或第二变异功能。第二变异功能的具体含义如表4-1:表4-1P3口的第二变异功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)4.2超声波测距模块HY-SR05HY-SR05超声波测距模块可提供2cm-450cm的非接触式距离感测功能,测距精度可达高到3mm4.2.1基本工作原理:(1)采用I0口TRIG触发测距,给至少10us的高电平信号;(2)模块自动发送8个40KHZ的方波,自动检测是否有信号返回;(3)有信号返回,通过I0口ECHO输出一个高电平,高电平持续的时间就是超声波发射返回的时间。测试距离=(高电平时间*声速(340M/S))/2;引脚定义:如图:4-1所示接线图:4-1所示VCC供5V电源GND为地线TRIG触发控制,信号输入ECHO回响信号输出OUT开关量输出(当报警模块使用)4.2.2电气参数HC-SR04模块参数如下表4-2所示。表4-2模块参数电气参数HC-SR04超声波模块工作电压DC5V工作电流15mA工作频率40khz最远射程4m最近射程2cm测量角度15°输入触发信号10us的TTL脉冲输入回响信号输出TTL电平信号,与射程成比例规格尺寸45*20*15cm4.2.3、超声波时序图超声波时序图如图4-2所示图4-2超声波时序图以上时序图表明只需要提供一个10us以上脉冲信号,该模块内部将发出8个40khz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与测量的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离:距离=高电平时间*声速(340m/s)/2。为防止发射信号对回响信号的影响,测量周期一般要60ms以上。4.2.4、超声波应用电路图超声波应用电路图如图4-3所示图4-34.3温度传感器DS18B20温度传感器的主要组成是热敏元件。热敏元件的品种比较多,市场上可见的有铜热电阻、铂热电阻、双金属片、半导体热敏电阻和热电偶等。其中以半导体热敏电阻作探测元件地温度传感器的应用较为广泛,这主要是因在元件所允许的工作条件范围之内,半导体的热敏电阻器将拥有精度较高、体积小巧、敏度较高的特点,而且制造工艺非常简单、价格也比较便宜。半导体热敏电阻按温度特性热敏电阻可分为正温度系数热敏电阻(电阻随温度上升而增加)和负温度系数热敏电阻(电阻随温度上升而下降)。本设计采用的是美国Dallas半导体公司的不锈钢封装的DS18B20数字温度传感器。DS18B20是采用专门设计的不锈钢外壳,仅有0.2mm的壁厚,具有很小的蓄热量,采用导热性高的密封胶,保证了温度传感器的高灵敏性,极小的温度延迟。DS18B20支持“一线总线”接口(1-Wire),测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±DS18B20采用3脚PR-35封装(图4-4):DS18B20数字化温度传感器的主要性能如下:适用电压为3V~5V;9~12位分辨率可调,对应的可编程温度分别为0.5℃、0.25℃、0.125℃TO-92、SOIC及CSP封装可选;测温范围:-55℃~125精度:-10℃~85℃范围内±无需外部元件,独特的一线接口,电源和信号复合在一起;每个芯片唯一编码,支持联网寻址,零功耗等待。图4-44.3.1温度传感器应用电路图如图4-5所示如图4-5所示4.4LCD1602液晶4.4.1LCD1602主要技术参数:表4-31602液晶主要参数显示容量:16X2个字符(STN型)模块最佳工作电压:5.0V工作电压:4.8~5.2V字符尺寸:4.95X7.95(WXH)mm工作电流:2.0mA(5.0V)工作温度:0~+50背光源颜色:黄绿存储温度:-20~+70背光源电流:<150mA4.4.2LCD1602引脚功能表4-41602液晶引脚说明引脚符号功能说明引脚符号功能说明1VCC一般接地9DB2底4位三态、双向数据总线2位2VDD接电源(+5V)10DB3底4位三态、双向数据总线3位3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高11DB4底4位三态、双向数据总线4位4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。12DB5底4位三态、双向数据总线5位5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。13DB6底4位三态、双向数据总线6位6EE(或EN)端为使能(enable)端,下降沿使能。14DB7高4位三态、双向数据总线7位(最高位)(也是busyflag)7DB0底4位三态、双向数据总线0位(最低位)15BLA背光电源正极8DB1底4位三态、双向数据总线位16BLK背光电源负极4.4.3LCD1602应用电路图LCD1602应用电路图如图4-6所示图4-64.5蜂鸣器及其原理4.5.1.蜂鸣器的介绍①蜂鸣器的作用:蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。②蜂鸣器的分类:蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。③蜂鸣器的电路图形符号:蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。4.5.2.蜂鸣器的结构原理①压电式蜂鸣器:压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。②电磁式蜂鸣器:电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。所需驱动电压为5V,具体参数如表4-4所示。表4-4蜂鸣器参数型号HYT-1205是否有源是驱动方式电磁式尺寸12*9.5mm材质PPOROHS种类蜂鸣器(片)4.5.3.蜂鸣器应用电路图图4-74.6ISD1420语音芯片的介绍ISD1420为美国ISD公司出品的优质单片语音录放电路,由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。录音内容存入永久存储单元,提供零功率信息存储,这个独一无二的方法是借助于美国ISD公司的专利--直接模拟存储技术(DASTTM)实现的。利用它,语音和音频信号被直接存储,以其原本的模拟形式进入EEPROM存储器。直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现。不仅语音质量优胜,而且断电语音保护。4.6.1、特点:◎使用方便的单片录放系统,外部元件最少◎重现优质原声,没有常见的背景噪音◎放音可由边沿或电平触发◎无耗电信息存储,省掉备用电池◎信息可保存100年,可反复录放10万次◎无需专用编程或开发系统◎较强的分段选址能力可处理多达160段信息◎具有自动节电模式◎录或放后立即进入维持状态,仅需0.5μA电流◎单一5伏电源供电4.6.2电特性:◎工作电压:5V◎静态电流:典型值0.5μA,最大值2μA◎工作电流:典型值15mA,最大值30mA(16欧姆)4.6.3电路外形图引出端功能说明:各管脚功能如表图4-8、4-9所示:图4-9ISD1110/ISD1420语音电路ISD10/ISD1420系列置了若了干操作模式,可用最少的外围器件实现最多的功能。操作模式也由地址端控制当A7和A6为1时它地址端置高就选择某(或某几个模式因为操作模式和直接寻址互相排斥操作模式可由微控制器也可由硬件实现使用操作模式有两点注意:(1)所有作最初都是从0地址即存储空间的起始端开始。后续操作根据所选用的模式可从其它的地址开始此外A4模式中当电路由录转为放时地址计数器复位为0而由放转为录则不复位(2)控制信号(/PLYL、/PLYE或/REC)变低,同时A6和A7为高时,执行操作模式。这种操作模式一直有效除非控制信号再次由高变低芯片重新锁存当前的地址/模式端电平然后执行相应操作。应用电路如图4-10所示应用电路如图4-10第5章系统软件设计5.1软件基本结构整个系统的功能较多,包括控制系统的初始化、数码管LED显示、按键扫描、控制等子程序。其中的某些主程序的实时性要求较高,而其他的子函数对实时性要求较低,所以,软件系统根据实时性要求采用分层结构进行设计。5.1.1主程序主程序包括整个系统的的控制流程,是系统软件的中轴。主程序里面根据各功能标志位来判断该调用哪一个子程序来处理当前的操作,有条不紊地运行各功能函数。主程序流程图如图5-1所示。图5-1主程序流程图第6章.结论6.1论文总结一、主要工作及结论:1、熟悉AT89S52芯片的功能及工作特性,掌握其接口扩展方法。2、通过对数据采集的分析,了解了各种传感器、放大器,对信号的转换、传输有了更深的认识。3、对键盘和显示器进行选型比较,得出各种型号优劣比。二、在设计中存在的问题:1、本设计的系统设计还不够优化,仍有待改善。2、对各种实用芯片性能了解不够,选择上仍有欠缺。这些都是我以后要继续研究的内容。3、电子电路的设计中对可以存在的影响因素考虑不够全面,比如在对过电压情况的处理中未作防范措施。6.2致谢经过这段时间的努力,终于按照指导老师要求的毕业设计进度要求如期完成了基于AT89S52自动洗车控制器系统的硬件设计和软件编写任务。在做毕业设计的过程中,虽然碰到了不少的困难,但是在老师的指导以及同学的帮助还有自己的努力下,终于完成了这个设计,感谢我的指导老师和帮助我的同学,让我最终取得了一定成果。参考文献[1]胡萍.超声波测距仪的研制[J].计算机与现代化,2003,7(10):21~23.[2]路锦正,王建勤.超声波测距仪的设计[J].传感器技术,2002,21(8):29~31.[4]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004:27~46 .[5]张波,王朋亮.基于STC89C51单片机超声波测距系统的设计.机床与液压,2010[6]时德刚,刘哗.超声波测距的研究[J].计算机测量与控制,2002,9(10):31~33.[7]卜英勇,王纪婵,赵海鸣等.基于单片机的高精度超声波测距系统.仪表技术与[8]赵广涛.基于超声波传感器的测距系统设计[J].微计算机信息.2006.22(1).129~130.[9]李丽霞.单片机在超声波测距中的应用[J].电子技术,2002(6):7~9.[11]朱爱红.基于AT89C2052的超声波测距系统[J].信息技术与信息化.2006.22~48.[12]肖景和.数字集成电路应用精粹[M].北京:人民邮电出版社,2003.[13]康华光.电子技术基础[M].数字部分.高等教育出版社,1998[14]刘凤然.基于单片机的超声波测距系统,传感器世界,2001.5:29~32.[15]康华光.电子技术基础[M].模拟部分.高等教育出版社,1998[16]戴日章.基于超声波测距的汽车倒车报警器设计[J].自动化与仪器仪表,2006(3)附录A:实物作品附录B:原理图附录C:PCB图附录D:程序#include<reg52.h>//包括一个52标准内核的头文件#include<intrins.h>#defineucharunsignedchar//定义一下方便使用#defineuintunsignedint#defineulongunsignedlong#defineSYS_TIME10//01233456789 十百厘米距离UcharcodeVoice_table[]={0x04,0x08,0x0C,0x10,0x14,0x18,0x1C,0X20,0X24,0X28,0X2C,0X30,0x38,0x40,0x60}; #defineVoice_datP2sbitPLAYEN=P3^7;sbitPlay_Over=P3^6;//***********************************************sbitTrig=P3^5;//产生脉冲引脚sbitEcho=P3^2;//回波引脚sbitBEEP=P1^3;sbitLED=P3^4;sbitKEY_PLAY=P1^5;sbitKEY_ADD=P1^6;sbitKEY_MIN=P1^7;ulongdistance_dat=0;//测距接收ulongC_distance=0;ucharoutcomeH,outcomeL;//自定义寄存器ucharsys_timer=0;ulongcount_time=0;floatcc;uintC;bitsucceed_flag;//测量成功标志ucharbeep_dis=60;/***************************************************函数名称:延时子函数函数功能:按键消抖***************************************************/voiddelayms(uintxms){uinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);} #include"DS18B20.H"#include"1602.C"voidkeyscan(){if(!KEY_ADD){delayms(8);if(!KEY_ADD){if(beep_dis<500)beep_dis++;while(!KEY_ADD); }elseif(!KEY_MIN){delayms(8);if(!KEY_MIN){if(beep_dis>0)beep_dis--;while(!KEY_MIN);}}}voidplay(){if(!KEY_PLAY){delayms(8);if(!KEY_PLAY){Voice_dat=Voice_table[13]; //距离PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);if(C_distance>99){Voice_dat=Voice_table[C_distance%1000/100];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);Voice_dat=Voice_table[11]; //百PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); if(C_distance%100/10>0{Voice_dat=Voice_table[C_distance%100/10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);Voice_dat=Voice_table[10]; //十PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);if(C_distance%10>0) {Voice_dat=Voice_table[C_distance%10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); } }Else{if(C_distance%10>0){Voice_dat=Voice_table[0]; //零PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); Voice_dat=Voice_table[C_distance%10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); }}}elseif(C_distance>9){Voice_dat=Voice_table[C_distance%100/10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);Voice_dat=Voice_table[10]; //十PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);if(C_distance%10>0) {Voice_dat=Voice_table[C_distance%10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); } }else{Voice_dat=Voice_table[C_distance%10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); }Voice_dat=Voice_table[12]; //厘米PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); }}}voidplay(){if(!KEY_PLAY){delayms(8);if(!KEY_PLAY){Voice_dat=Voice_table[13]; //距离PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);if(C_distance>99){Voice_dat=Voice_table[C_distance%1000/100];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);Voice_dat=Voice_table[11]; //百PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); if(C_distance%100/10>0){Voice_dat=Voice_table[C_distance%100/10];//'几' PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); Voice_dat=Voice_table[10]; //十PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);if(C_distance%10>0) {Voice_dat=Voice_table[C_distance%10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); } }Else{if(C_distance%10>0){Voice_dat=Voice_table[0]; //零PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); Voice_dat=Voice_table[C_distance%10];//'几' PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); }}}elseif(C_distance>9){Voice_dat=Voice_table[C_distance%100/10];//'几' PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);Voice_dat=Voice_table[10]; //十PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);if(C_distance%10>0) {Voice_dat=Voice_table[C_distance%10];//'几' PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); } }Else{Voice_dat=Voice_table[C_distance%10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); }Voice_dat=Voice_table[12]; //厘米PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); }}}voidplay(){if(!KEY_PLAY){delayms(8);if(!KEY_PLAY){Voice_dat=Voice_table[13]; //距离PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);if(C_distance>99){Voice_dat=Voice_table[C_distance%1000/100];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);Voice_dat=Voice_table[11]; //百PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); if(C_distance%100/10>0){Voice_dat=Voice_table[C_distance%100/10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);Voice_dat=Voice_table[10]; //十PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);if(C_distance%10>0) {Voice_dat=Voice_table[C_distance%10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); } }else{if(C_distance%10>0){Voice_dat=Voice_table[0]; //零PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); Voice_dat=Voice_table[C_distance%10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); }}}elseif(C_distance>9){ Voice_dat=Voice_table[C_distance%100/10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);Voice_dat=Voice_table[10]; //十PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over);if(C_distance%10>0) {Voice_dat=Voice_table[C_distance%10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); } }else{Voice_dat=Voice_table[C_distance%10];//'几'PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); }Voice_dat=Voice_table[12]; //厘米PLAYEN=0;delayms(10);PLAYEN=1;while(Play_Over);while(!Play_Over); }}}#defineucharunsignedchar#defineuintunsignedintsbitDS18B20_DQ=P1^4;uchardispbuf[5]={0,0,0,0,0};uchardataDS18B20_Temp_data[2]={0x00,0x00}; //储存温度值得数组ucharcodeDS18B20_TEM_Deccode[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, //温度小数位查表数组 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};uintDS18B20_Change_Time=0; //不同温度传感器采集温度的切换时间bitDS18B20_Presence;//18b20复位成功标示位=0成功=1失败voidDelay_6us(ucharxus) //6*xus+11us的延时时间(经仿真得到的){while(xus--);}voidDS18B20_RESET() //复位{DS18B20_DQ=1;Delay_6us(2);DS18B20_DQ=0;Delay_6us(80); //至少480us的低电平信号DS18B20_DQ=1; //拉高等待接收18b20的存在脉冲信号Delay_6us(10);DS18B20_Presence=DS18B20_DQ;Delay_6us(40);DS18B20_DQ=1; //拉高使总线在空闲状态}voidWrite_DS18B20_OneChar(uchardat) //写一个字节{uchara=0;for(a=8;a>0;a--){ DS18B20_DQ=0;DS18B20_DQ=dat&0x01;Delay_6us(5);DS18B20_DQ=1;dat>>=1;}}ucharRead_DS18B20_OneChar() //读一个字节{uchardat=0;uchara=0;for(a=8;a>0;a--){DS18B20_DQ=0;dat>>=1;DS18B20_DQ=1;if(DS18B20_DQ){dat|=0x80;Delay_6us(4);}returndat;}voidRead_18B20_Temperature(){DS18B20_RESET(); //复位18B20if(!DS18B20_Presence) //复位成功{Write_DS18B20_OneChar(0XCC); //跳过读序列号Write_DS18B20_OneChar(0X44); //启动温度转换Delay_6us(82); //等待温度转换时间500us左右DS18B20_RESET(); //复位18B20 Write_DS18B20_OneChar(0XCC); //跳过读序列号Write_DS18B20_OneChar(0XBE);DS18B20_Temp_data[0]=Read_DS18B20_OneChar();//TemperatureLSBDS18B20_Temp_data[1]=Read_DS18B20_OneChar();//TemperatureMSB }dispbuf[4]=((DS18B20_Temp_data[1]&0x0f)<<4)|((DS18B20_Temp_data[0]&0xf0)>>4); //取出温度值得整数位dispbuf[3]=dispbuf[4]/100;dispbuf[2]=dispbuf[4]%100/10;dispbuf[1]=dispbuf[4]%10;cc=331.45+0.61*dispbuf[4];//C=331.45+0.61φ(米/秒)φ为测出的温度。C=(uint)cc;}基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度旅游旺季临时导游劳务合同范本4篇
- 2025年度个人果园绿色种植与农产品溯源服务合同4篇
- 2025年度木工产品包装设计与印刷合同3篇
- 二零二五年度室内木门翻新与维修服务合同范本4篇
- 2025版煤炭行业人力资源培训与合作合同4篇
- 2025年度美发行业技师技能认证与培训合同4篇
- 二零二五年度木饰面原材料质量控制与认证合同3篇
- 2025年临时企业灵活劳务外包协议
- 2025年家族遗产继承公约规划协议
- 2025年合同追偿协议
- 医学脂质的构成功能及分析专题课件
- 高技能人才培养的策略创新与实践路径
- 2024年湖北省知名中小学教联体联盟中考语文一模试卷
- 2024年湖北省中考数学试卷(含答案)
- 油烟机清洗安全合同协议书
- 2024年云南省中考数学试题(原卷版)
- 污水土地处理系统中双酚A和雌激素的去除及微生物研究
- 气胸病人的护理幻灯片
- 《地下建筑结构》第二版(朱合华)中文(2)课件
- JB T 7946.1-2017铸造铝合金金相
- 包装过程质量控制
评论
0/150
提交评论