




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京理工大学毕业设计(论文)倒车雷达系统设计1 绪论1.1 课题研究的背景 随着人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现开挖已经建设好的建筑设施来改造排水系统的现象。城市污水给人们带来了困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声波测距仪的研制。随着科学技术的快速发展,超声波将在传感器中的应用越来越广。但就目前技术水平来说,人们可以具体利用的传感技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波传感器作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题。毋庸置疑,未来的超声波传感器将与自动化智能化接轨,与其他的传感器集成和融合,形成多传感器。随着传感器的技术进步,传感器将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。1.2 课题研究的意义在现实生活中,一些传统的距离测量方式在某些特殊场合存在不可克服的缺陷,例如,液面测量就是一个距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲检测液面,电极长期浸泡在水中或其它液体中,极易被腐蚀、电解,从而失去灵敏性。而利用超声波测量距离可以很好地解决这一问题。目前市面上常见的超声波测距系统不仅价格昂贵,体积过大而且精度也不高等种种因素,使得在一些中小规模的应用领域中难以得到广泛的应用。为解决这一系列难题,本文设计了一款基于AT89S52单片机的低成本、高精度、微型化的超声波测距仪。2 总体设计方案及论证2.1 设计思路 测量距离方法有很多种,短距离可以用尺,远距离有激光测距等,超声波测距适用于高精度中长距离测量。因为超声波在标准空气中传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统测量精度理论上可以达到毫米级。 目前比较普遍的测距的原理:通过发射具有特征频率的超声波对被摄目标的探测,通过发射出特征频率的超声波和反射回接受到特征频率的超声波所用的时间,换算出距离,如超声波液位物位传感器,超声波探头,适合需要非接触测量场合,超声波测厚,超声波汽车测距告警装置等。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。在精密的液位测量中需要达到毫米级的测量精度,但是目前国内的超声波测距专用集成电路都是只有厘米级的测量精度。目前超声波测距已得到广泛应用,国内一般使用专用集成电路根据超声波测距原理设计各种测距仪器,但是专用集成电路的成本较高、功能单一。而以单片机为核心的测距仪器可以实现预置、多端口检测、显示、报警等多种功能,并且成本低、精度高、操作简单、工作稳定、可靠。以8051为内核的单片机系列,其硬件结构具有功能部件齐全、功能强等特点。尤其值得一提的是,出8位CPU外,还具备一个很强的位处理器,它实际上是一个完整的位微计算机,即包含完整的位CPU,位RAM、ROM(EPROM),位寻址寄存器、I/O口和指令集。所以,8051是双CPU的单片机。位处理在开关决策、逻辑电路仿真、过程测控等方面极为有效;而8位处理则在数据采集和处理等方面具有明显长处。根据设计要求并综合各方面因素,可以采用AT89S52单片机作为主控制器,它控制发射触发脉冲的开始时间及脉宽,响应回波时刻并测量、计数发射至往返的时间差。利用软件产生超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波;超声波信号的接收采用锁相环LM567对放大后的信号进行频率监视和控制。一旦探头接到回波,若接收到的信号频率等于振荡器的固有频率(此频率主要由RC值决定),则其输出引脚的电平将从“1”变为“0”(此时锁相环已进入锁定状态),这种电平变化可以作为单片机对接收探头的接收情况进行实时监控,可对测得数据优化处理;AT89S52还控制显示电路,用动态扫描法实现LED数字显示。2.2 系统结构设计超声波测距仪系统结构如图2.1所示。它主要由单片机、超声波发射及接收电路、超声波传感器、键盘、LED显示电路及电源电路组成。系统主要功能包括:1) 超声波的发射、接收,并根据计时时间计算测量距离;2) LED显示器显示距离、温度;3) 键盘接收用户命令并处理;4) 当系统运行不正常时,用电平式开关与上电复位电路复位。图2.1 超声波测距仪系统结构框图3 硬件实现及单元电路设计硬件电路总设计见图3.1,从以上的分析可知在本设计中要用到如下器件: AT89S52、超声波传感器、按键、四位数码管、蜂鸣器等一些单片机外围应用电路。其中D1为电源工作指示灯。电路中用到3个按键,一个是设定键, 一个加键,一个减键。图3.1 总设计电路图3.1 主控制模块本设计采用以AT89S52单片机为核心的单片机最小系统为控制核心,也称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路.复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可以参考电路分析相关书籍.晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)单片机:一片AT89S51/52或其他51系列兼容单片机特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行.这一点是初学者容易忽略的.主控制最小系统电路如图3.2所示。 图3.2 最小系统3.2 超声波测模块3.2.1 模块功能 超声波模块采用现成的超声波模块,该模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm。模块包括超声波发射器、接收器与控制电路。基本工作原理:采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号;模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S)/2。实物如下图3.3。其中VCC 供5V 电源,GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四支线。图3.3 超声波模块实物图超声波探测模块HC-SR04的使用方法如下:IO口触发,给Trig口至少10us的高电平,启动测量;模块自动发送8个40Khz的方波,自动检测是否有信号返回;有信号返回,通过IO口Echo输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间,测试距离=(高电平时间*340)/ 2,单位为m。程序中测试功能主要由两个函数完成。 实现中采用定时器0进行定时测量,8分频,TCNTT0预设值0XCE,当timer0溢出中断发生2500次时为125ms,计算公式为(单位:ms):T = (定时器0溢出次数 * (0XFF - 0XCE)/ 1000 其中定时器0初值计算依据分频不同而有差异。3.2.2 超声波发射电路超声波发射电路原理图如图3.4所示。发射电路主要由反相器74LS04和超声波发射换能器T40构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上位电阻R1、R2一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。图3.4 超声波发射电路原理图3.2.3 超声波接收电路超声波接收电路由超声波传感器、两级放大电路和锁相环电路组成。超声波传感器接收到的反射波信号非常微弱,两级放大电路用于对传感器接收到的信号进行放大。锁相环电路接收到频率符合要求的信号后向单片机发出中断请求。锁相环LM567内部压控振荡器的中心频率为,锁定带宽与C3有关。由于发送的超声波频率为40kHz,帮调整相关元件使锁相环的中心频率为40kHz,只响应该频率的信号,避免了其他频率信号的干扰。当超声波传感器接收到超声波信号后,送入两级放大器放大,放大后的信号进入锁相环检波,如果频率为40kHz,则从8脚发出低电平中断请求信号送单片机P3.3端,单片机检测到低电平后停止定时器的工作。超声波接收电路如图3.5所示。图3.5 超声波接收电路3.2.4 超声波的特性声音是与人类生活紧密相关的一种自然现象。当声的频率高到超过人耳听觉的频率极限(根据大量实验数据统计,取整数为20000赫兹)时,人们就会觉察不出周围声的存在,因而称这种高频率的声为“超”声。超声波的特性有:(1)束射特性(2)吸收特性(3)超声波的能量传递特性 (4)超声波的声压特性3.2.5 超声波换能器完成产生超声波和接收超声波这种功能的装置就是超声波传感器,习惯上称为超声换能器,或者超声波探头。超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声探头多用作探测方面。它有许多不同的结构,可分直探头(纵波)、斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、一个探头接收)等。超声探头的核心是其塑料外套或者金属外套中的一块压电晶片。构成晶片的材料可以有许多种。由于晶片的大小,如直径和厚度也各不相同,因此每个探头的性能都是不同的,我们使用前必须预先了解清楚该探头的性能参数。超声波传感器的主要性能指标包括:(1)工作频率。工作频率就是压电晶片的共振频率。当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大,灵敏度也最高。(2)工作温度。由于压电材料的居里点一般比较高,特别时诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间地工作而不失效。医疗用的超声探头的温度比较高,需要单独的制冷设备。(3)灵敏度。主要取决于制造晶片本身。机电耦合系数大,灵敏度高。3.3 测距分析超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离s,即:s=340t/2。 由于超声波也是一种声波,其声速V与温度有关。在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。如果对测距精度要求很高,则应通过温度补偿的方法对测量结果加以数值校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的基本原理。如图3.6所示: 超声波发射 障碍物 S H 超声波接收图3.6 超声波的测距原理 (3-1) (3-2)式中:L-两探头之间中心距离的一半.又知道超声波传播的距离为: ( 3-3)式中:v超声波在介质中的传播速度; t超声波从发射到接收所需要的时间.将(32)、(33)代入(3-1)中得: ( 3-4)其中,超声波的传播速度v在一定的温度下是一个常数(例如在温度T=30度时,V=349m/s);当需要测量的距离H远远大于L时,则(34)变为: ( 3-5) 所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离H.3.4 时钟电路的设计XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us。如图3.7所示为时钟电路。图3.7 时钟电路图3.5 复位电路的设计单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后, 在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。例如使用晶振频率为12MHz时,则复位信号持续时间应不小于2us。本设计采用的是自动复位电路。如图3.8示为复位电路。图3.8 复位电路图3.6 声音报警电路的设计 蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。S51增强型单片机实验板通过一个三极管C8550来放大驱动蜂鸣器,原理图见下面图3.9:图3.9 声音报警电路图 如图所示,蜂鸣器的正极接到VCC(5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由单片机的P2.3引脚控制,当P2.3输出高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P2.3输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P2.3脚的电平来使蜂鸣器发出声音和关闭。3.7 显示模块数码管分为共阳极的LED数码管、共阴极的LED数码管两种。本设计的是共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。 要使数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。 在单片机系统中,LED数码管的驱动方式主要有动态显示和静态显示两种类型,每种类型的驱动电路各部相同。本设计使用LED动态显示,动态显示的原理就是,把所有LED数码管相同的段码连在一起,作为数据总线,连接至单片机的I/O端口上,每个LED数码管的公共端单独留出来,作为区分LED数码管的地址线,分别连接到单片机的I/O端口上,在某一时刻,单片机发送要显示的数据到LED数码管的数据总线上,同一时刻接通需要显示数据的数码管的公共端,这样对应的数码管就亮了,而没有选通公共端的数码管,虽然数据端上有数据存在,但是公共端未接通,形不成通路,所以段码就不会亮。这样就把要显示的数据和数码管的位置就对上了,总体一句话,把待显数据放在数据总线上,同时接通某一数码管的公共端,点亮数码管后,延时一定时间(一般5-10ms左右),然后断开刚才数码管的公共端;再向数据总线发送下一组数据,接通另一个数码管的公共端,再延时一定时间,断开数码管的公共端;用同样方法使所有的数码管都显示一遍,然后从头开始循环扫描下去,只要每个数码管在每秒内能够显示25次以上,我们看到的显示效果就是稳定的数值。这就是数码管的动态扫描驱动方式。 显示模块采用数码管显示接口电路如图3.10图3.10 数码管电路3.8 按键控制模块图3.11 按键控制电路 如图3.11所示,S2为调整按键,当按下S2后,P2.0端口电平被拉低成为低电平,单片机检测到低电平后有效,进入报警距离设定。S3为距离加键,当单片机检测到P2.1变为低电平后将报警距离加1cm,S4为减键,当单片机检测到P2.1变为低电平后将报警距离减1cm。3.9 电源开关电路图3.12 电源开关电路 如图3.12所示,当SW1按下后电路将处于断开状态,系统将处于关机状态,不再工作;再次按下SW1后电路将再次接通,系统开始工作。此设计可根据需求选择是否使用该系统,节省电源。4 系统软件的设计 超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言。4.1 超声波测距仪的算法设计 超声波测距的原理,即超声波发生器T在某一时刻发出的一个超声波信号,当超声波遇到被测物体后反射回来,就被超声波接收器R所接受。这样只要计算出发生信号到接受返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离计算公式:d=s/2=(c*t)/2*d为被测物与测距器的距离,s为声波的来回路程,c为声速,t为声波来回所用的时间,在一定的温度下V取331.4m/s。按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图4.1所示;系统初始化报警结束测得距离与设定值比较,小于距离比较,报警是否持续开始启动报警电路开始报警再次检测等待下次报警结束YNNYYN图4.1 主程序工作流程图 主程序首先对系统环境初始化,设置定时器T0工作模式为8位的定时计数器模式,置位总中断允许位EA。然后开始计数并调用超声波发生子程序送出一个或多个超声波脉冲,最后打开外中断0接收返回的超声波信号。由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离,设计时取20时的声速C为331.4m/s则有:d=(C*ttime)/2=16570*ttime/1000000cm(其中ttime为发送的脉冲时间)测出距离后结果将以十进制BCD码方式LED,然后清除标志位mark和发超声波脉冲重复测量过程。4.2 超声波探测程序流程图图4.2 超声波探测程序流程图5 系统的误差分析5.1 声速引起的误差 声波是媒质中传播的质点的位置、压强和密度对相应静止值的扰动。高于20kHz时的机械波称为超声波,媒质包括气体、液体和固体。流体中的声波常称为压缩波或压强波,对一般流体媒质而言,声波是一种纵波,传播速度为(5-1)式(5-1)中E为媒质的弹性模量,单位kg/mm2;为媒质的密度,单位kg/mm3;E为复数,其虚数部分代表损耗;c也是复数,其实数部分代表传播速度,虚数部分则与衰减常数(每单位距离强度或幅度的衰减)有关,测量后者可求得媒质中的损耗。声波的传播与媒质的弹性模量密度、内耗以及形状大小(产生折射、反射、衍射等)有关。 从式(5-1)可知,声波传输速度与媒介的弹性模量和密度相关,因此,利用声速测量距离,就要考虑这些因素对声速影响。在气体中,压强、温度、湿度等因素会引起密度变化,气体中声速主要受密度影响,液体的深度、温度等因素会引起密度变化,固体中弹性模量对声速影响较密度影响更大,一般超声波在固体中传播速度最快,液体次之,在气体中的传播速度最慢。气体中声速受温度的影响最大。声速受温度的影响为(5-2)图5-1根据上式测量的温度-声速图。 图5.1空气中温度-声速图 由式(5-2)和图5.1可见,当温度从040变化时,将会产生7%的声速变化,因此,为了提高测量准确度,计算时必须根据温度进行声速修正。工业测量中,一般用公式计算超声波在空气中的传播速度,即(5-3)5.2单片机时间分辨率的影响 不管是查询发射波与回波,还是由其触发单片机中断再通过软件启停定时器,都需要一定的时候,中断的方式误差相对要小一些。相对而言,单片机的时间分辨率还是不太高,如晶振频率为12MHz时,时间分辨率为1s。 由于测量过程中的随机误差是按统计规律变化的,为了减少其影响,可在同一位置处多次重复测量xi,然后取平均值x作为测量的真值。提高测距精度的方法 上节分析了超声波测距系统误差产生的一些原因,如何提高测量精度是超声测距的关键技术。其提高测距精度的措施如下:1.合理选择超声波工作频率、脉宽及脉冲发射周期。 据经验,超声测距的工作频率选择38kHz较为合适;发射脉宽一般应大于填充波周期的10倍以上,考虑换能器通频带及抑制噪声的能力,选择发射脉宽1ms;脉冲发射周期的选择主要考虑微机处理数据的速度,速度快,脉冲发射周期可选短些。2.在超声波接收回路中串入增益调节(AGC)及自动增益负反馈控制环节。 因超声接收波的幅值随传播距离的增大呈指数规律衰减,所以采用AGC电路使放大倍数随测距距离的增大呈指数规律增加的电路,使接收器波形的幅值不随测量距离的变化而大幅度的变化,采用电流负反馈环节能使接收波形更加稳定。3.提高计时精度,减少时间量化误差。 如采用芯片计时器,计时器的计数频率越高,则时间量化误差造成的测距误差就越小。例如:单片机内置计时器的计数频率只有晶振频率的十二分之一,当晶振频率6MHz时,计数频率为0.5MHz,此时在空气中的测距时间量化误差为0.68mm;当晶振频率为12MHz时,计数频率为1MHz,此时测距时间量化误差为0.34mm。若采用外部硬件计时电路,则计数频率可直接引用单片机的晶振频率,时间量化误差更小。6 总结 超声波测距系统在上个世纪70年代已经实用化,从70年代末期开始广泛应用于生产领域。于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。 在本次设计方案的选择上,力求实用性强,性价比高,使用简单。在设计过程中,加深和巩固了单片机技术方面的知识,也丰富了自己在此领域的视野。画出了protel电路图,做出了实物。本次设计的最终结果是超声波测距系统实现了超声波的发送与接收,并利用超声波测量系统与障碍物之间的距离。最后实现了以LED显示的形式显示测量距离结果。经实验证明,这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过系统扩展和升级,可以有效应用在汽车倒车、建筑施工工地以及一些工业现场的位置监控等各种生产和生活领域。本设计研究了一种基于单片机技术的超声波智能测距报警系统。该系统通过以AT89S52单片机为工作处理器核心,超声波传感器,它是一种新颖的被动式超声波探测器件,能够以非接触测出前方物体距离,并将其转化为相应的电信号输出.该报警器的最大特点就是使用户能够操作简单、易懂、灵活;且安装方便、智能性高、误报率低。随着现代人们安全意识的增强以及科学技术的快速发展,相信报警器必将在更广阔的领域得到更深层次的应用。7 参考文献 1 胡乾斌,李光斌,李玲等. 单片微型计算机原理与应用M. 武汉: 华中科技大学出版社,20042 丁元杰. 单片微机原理及应用M. 北京: 机械工业出版社,19963 何立民. 单片机应用技术选编M. 北京: 北京航空航天大学出版社,19964 苏长赞. 红外线与超声波遥控M. 北京: 人民邮电出版社, 1993.75 王永华. 现代电气及可编程控制技术M. 北京: 航空航天大学出版社, 20026 苏伟. 巩壁建. 超声波测距误差分析J. 传感器技术, 20047 冯冬青,谢宋和. 模糊智能控制M. 北京: 化工工业出版社, 19988 陈伯时. 电力拖动自动控制系统M. 北京: 机械工业出版社, 20009 薛丽芳,汪卉,彦文俊. 基于超声波的距离测量J. 自动化与仪表, 2007,(05).10 邓星钟,周祖德,邓坚. 机电传动控制(第二版)M. 武汉: 华中理工大学出版社, 199811 王田苗. 嵌入式系统设计与实例开发 北京: 清华大学出版社 200512马忠梅,藉顺心等. 单片机的C语言应用程序设计(第三版) 北京: 北京航空航天大学出版社 2003附 录附件1:原理图附件2:程序#include #include #include eepom52.h#define uchar unsigned char #define uint unsigned int/数码管段选定义 0 1 2 3 4 5 6 7 8 9uchar code smg_du=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff; /断码/数码管位选定义uchar code smg_we=0xe0,0xd0,0xb0,0x70;uchar dis_smg8 =0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;sbit smg_we1 = P34; /数码管位选定义sbit smg_we2 = P35;sbit smg_we3 = P36;sbit smg_we4 = P37;sbit c_send = P32;/超声波发射sbit c_recive = P33;/超声波接收uchar flag_hc_value; /超声波中间变量sbit beep = P23; /蜂鸣器IO口定义bit flag_key_b_en,flag_key_set_en; /按键蜂鸣器使能uchar smg_i = 3; /显示数码管的个位数bit flag_300ms ;bit key_500ms ;long distance; /距离uint set_d; /距离bit flag_csb_juli; /超声波超出量程uint flag_time0; /用来保存定时器0的时候的/ 按键的IO变量的定义uchar key_can; /按键值的变量uchar zd_break_en,zd_break_value; /自动退出设置界面uchar menu_shudu = 10; /用来控制连加的速度bit flag_lj_en; /按键连加使能bit flag_lj_3_en; /按键连3次连加后使能 加的数就越大了 uchar key_time,flag_value; /用做连加的中间变量uchar menu_1; /菜单设计的变量uchar a_a;/*1ms延时函数*/void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j120;j+);/*处理距离函数*/void smg_display()dis_smg0 = smg_dudistance % 10;dis_smg1 = smg_dudistance / 10 % 10;dis_smg2 = smg_dudistance / 100 % 10 & 0x7f;/*把数据保存到单片机内部eepom中*/void write_eepom()SectorErase(0x2000);byte_write(0x2000, set_d % 256);byte_write(0x2001, set_d / 256);byte_write(0x2058, a_a);/*把数据从单片机内部eepom中读出来*/void read_eepom()set_d = byte_read(0x2001);set_d = 5)key_value = 0;key_new = 1;flag_lj_en = 0;/关闭连加使能flag_lj_3_en = 0;/关闭3秒后使能flag_value = 0;/清零key_time = 0;write_eepom();else if(P2 & 0x07) != 0x07)key_value +; /按键按下的时候else key_value = 0;if(key_value = 5)key_value = 0;key_new = 0;flag_lj_en = 1; /连加使能zd_break_en = 1; /自动退出设置界使能zd_break_value = 0; /自动退出设置界变量清零flag_key_b_en = 1; /按键蜂鸣器使能key_can = 20;if(key_500ms = 1)/连加key_500ms = 0;key_new = 0;key_old = 1;zd_break_value = 0;if(key_new = 0) & (key_old = 1)switch(P2 & 0x07)case 0x06: key_can = 3; break; /得到k2键值case 0x05: key_can = 2; break; /得到k3键值case 0x03: key_can = 1; break; /得到k4键值/dis_smg3 = smg_dukey_can % 10; key_old = key_new; void smg_we_switch(uchar i)switch(i)case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break;case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break;case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break;case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we4 = 0; break;/*数码显示函数*/void display()static uchar i; i+;if(i = smg_i)i = 0;/P1 = 0xff; /段选 /P3 = 0xf0 | (P3 & 0x0f); /位选/P3 = smg_wei | (P3 & 0x0f); /位选smg_we_switch(i);P1 = dis_smgi; /段选 void delay()_nop_(); /执行一条_nop_()指令就是1us_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); /*超声波测距程序*/void send_wave()c_send = 1; /10us的高电平触发 delay();c_send = 0; TH0 = 0; /给定时器0清零TL0 = 0;TR0 = 0; /关定时器0定时flag_hc_value = 0;while(!c_recive); /当c_recive为零时等待TR0=1;while(c_recive) /当c_recive为1计数并等待flag_time0 = TH0 * 256 + TL0;if(flag_hc_value 1) | (flag_time0 65000) /当超声波超过测量范围时,显示3个888TR0 = 0;flag_csb_juli = 2;distance = 888;flag_hc_value = 0;break ;else flag_csb_juli = 1;if(flag_csb_juli = 1)TR0=0; /关定时器0定时distance = TH0; /读出定时器0的时间distance = distance * 256 + TL0;distance +=( flag_hc_value * 65536);/算出超声波测距的时间 得到单位是msdistance *= 0.017; / 0.017 = 340M / 2 = 170M = 0.017M 算出来是米if(distance 350) /距离 = 速度 * 时间distance = 888; /如果大于3.8m就超出超声波的量程 /*定时器0、定时器1初始化*/void time_init() EA = 1; /开总中断TMOD = 0X11; /定时器0、定时器1工作方式1ET0 = 1; /开定时器0中断 TR0 = 1; /允许定时器0定时ET1 = 1; /开定时器1中断 TR1 = 1; /允许定时器1定时/*按键处理数码管显示函数*/void key_with()if(key_can = 1)menu_1 +;if(menu_1 = 2)menu_1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 打架伤人和解协议书范本
- 茶园租赁合同(含茶叶加工销售)
- 文化创意园区场地改造与运营管理合同
- 摄影拍摄场合记人员聘用合同协议
- 监控业务转让协议书范本
- 厕所清洁服务合同范本(含夜间保洁)
- 体育产业代理记账与赛事运营财务管理协议
- 产权车库购置及车位共享合同
- 声屏障降噪效果测试专题报告
- 【课件】大气压强教学课件+2024-2025学年人教版物理八年级下学期+
- 2025年湖北省中考生物、地理合卷试卷真题(含答案)
- 大疆无人机内部管理制度
- 路面铣刨工入场安全教育试卷(含答案)
- 2025长沙市辅警考试试卷真题带答案
- 胸痛健康教育课件
- 2025年合肥城建发展股份有限公司及所属子公司招聘17人(二批次)笔试参考题库附带答案详解
- 2025年项目终止协议
- 医院员工手册管理制度
- 2024大华网络摄像机使用说明书全集
- 泉州水务集团有限公司招聘考试真题2024
- 东航客运岗位面试题目及答案
评论
0/150
提交评论