智能型汽车防撞警报器设计毕业论文.doc_第1页
智能型汽车防撞警报器设计毕业论文.doc_第2页
智能型汽车防撞警报器设计毕业论文.doc_第3页
智能型汽车防撞警报器设计毕业论文.doc_第4页
智能型汽车防撞警报器设计毕业论文.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

智能型汽车防撞报警器的设计智能型汽车防撞报警器的设计 摘摘 要:要:由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声 波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单, 并且在测量精度方面也能达到日常使用的要求。 设计的超声波测距器利用超声波传输中距离与时间的关系,采用以 AT89S52 单片 机为核心进行控制及数据处理,最终完成低成本、高精度、微型化数字显示超声波测 距器的硬件电路和软件设计。该测距器主要由超声波发射器电路、超声波接收器电路、 单片机控制电路、系统电源电路及显示电路构成。整个程序采用模块化设计,由主程 序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合 分析处理,实现超声波测距器的各种功能。在此基础上设计了系统的总体方案,最后 通过硬件和软件实现了各个功能模块。 经过实验表明,这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过系 统扩展和升级,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,还 能有效地解决汽车倒车,液位、水深、管道长度的测量问题。 关键词:关键词:超声波;AT89S52;数码管;测距; 2 目目 录录 1设计背景-6 1.1 超声波测距的实际应用背景 -6 1.2 超声波测距的专业知识背景 -6 2设计方案-7 2.1 方案讨论 -7 2.2 方案论证 -7 3方案实施-7 3.1 硬件设计 -7 3.1.1 AT89S52 外围电路设计 -8 3.1.2 系统电源电路设计 -9 3.1.3 数码管显示电路设计 -9 3.1.4 超声波发射-10 3.1.5 超声波接收-12 3.2 软件部分-13 3.2.1 系统软件设计说明-13 3.2.2 编程语言的选择-14 3.2.3 超声波测距仪的算法设计-14 3.2.4 主程序流程图-15 3.2.5 超声波发生子程序和超声波接收中断程序-16 3.2.6系统的软硬件的调试-16 5收获与致谢 -18 3 5.1 收获 -18 5.2 致谢 -18 4 1设计背景 1.11.1 超声波测距的实际应用背景超声波测距的实际应用背景 超声波测距是一种非接触的检测方式,与其他方式相比,如电磁的或光学的方法, 它不受光线、被检测对象颜色等影响。对于被侧物处于黑暗、有灰尘、烟雾、电磁干 扰、有毒等恶劣的环境下有一定的适应能力。因此在测绘地形图,建造房屋、桥梁、 道路、开挖矿山、油井、液位检测、机械手控制、车辆自动导航、物体识别等方面有 广阔的应用。特别是应用于空气测距,由于空气中波速较慢。其回波信号中包含的沿 传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其他 方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。利用超 声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方 面能达到工业实用的要求。 由于超声波易于定向发射,方向性好,强度好控制,它的应用价值己被普遍重视。 利用超声波测距,在许多方面有很多优势。因此,超声波测距的研究是非常有实用和 商业价值。 1.21.2 超声波测距的专业知识背景超声波测距的专业知识背景 超声波传感器的工作原理是陶瓷的压电效应。超声波传感器在测量过程中,超 声测距器是根据超声波遇到障碍物反射回来的特性进行测量的。超声波发射器向某一 方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立 即返回来,超声波接收器收到反射波就立即中断停止计时。 通过不断检测产生波发射 后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求 出距离 L。 基本的测距公式为:L=(T/2)*V 式中 L被测距离;T发射波和反射波之间的时间间隔;V超声波在空气 中的声速,常温下取为 340m/s 。 声速确定后,只要测出超声波往返的时间,即可求得 L。 为测试更精确,鉴于声 波受温度影响最大,测距数据处理过程 可以采用了温度补偿 ,以提高测量精度 。 5 2设计方案 2.12.1 方案讨论 超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出 传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接 收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式, 适用于测距仪。此次设计采用反射波方式。 超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方 式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流 旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相 同。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方 面因素,本文采用 AT89S52 单片机作为控制器,用动态扫描法实现 LED 数字显示, 超声波驱动信号用单片机的定时器。超声波测距器系统设计框图如图 2.1 所示。 AT89S52 超声波接收 超声波发送 LED显示 扫描驱动扫描驱动 图 2.1 超声波测距器系统设计框图 2.22.2 方案论证 测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效 应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减, 衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率 高的传感器,而长距离的测量时应用低频率的传感器。 3方案实施 3.13.1 硬件设计硬件设计 硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测 接收电路四部分。单片机采用 AT89S52,采用 12MHz 高精度的晶振,以获得稳定时钟 6 频率,减小测量误差。单片机用 P3.0 端口输出超声波换能器所需的 40kHz 的方波信号, 利用外中断 0 口监测超声波接收电路输出的返回信号。显示电路采用简单实用的 4 位 共阳 LED 数码管,位码用 PNP 三极管 9013 驱动。 .1 AT89S52AT89S52 外围电路设计外围电路设计 单片机 AT89S52 作为主控芯片,控制整个电路的运行。单片机外围需要一个复位 电路,复位电路的功能是:系统上电时提供复位信号,直至系统电源稳定后,撤消复 位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关 或电源插头分-合过程中引起的抖动而影响复位。该设计在电源电压瞬间下降时可以使 电容迅速放电,可令系统可靠复位。复位电路的设计图如图 3.1 示。 10UF C3 10K R1 S1 VCC RST 上上上上 1 12M C1 30p C2 30p XTAL2 XTAL1 上上上上 图 3.1.1 复位电路图 图 3.1.2 时钟电路 AT89S52 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1 和 XTAL2 分别为该反向放大器的输入端和输出端。这个反向放大器与作为反馈元件的片外石英 晶体或陶瓷谐振器一起构成自激振荡器。 外接石英晶体(或陶瓷谐振器)及电容 C1、C2 接在放大器的反馈回路中构成并联振 荡电路。对外接电容 C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响 振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。如果使用石 英晶体,电容应该使用 30pF10pF。 还可以使用外部时钟。这种情况下,外部时钟脉冲接 XTAL1 端,即内部时钟发生器 的输入端, XTAL2 应悬空。 7 由于外部时钟信号是通过一个 2 分频触发器后作为内部时钟信号的,所以外部时钟 信号的占空比没有特殊要求,但最小高电平持续时间和最大低电平持续时间应符合产品 技术条件的要求。电路如图 3.2 所示。 AT89S52 具有在系统可编程功能,可以很方便的改写单片机存储器内的程序不 需要把芯片中从工作环境中剥离,把 AT89S ISP 下载口接入电路,可使电路实现 该功能。如图 3.3 所示。 12 34 56 78 910 J2 AT89S ISP P15 P16 P17 RST VCC 图 3.1.3 AT89S ISP 下载口接入电路 3.1.2 系统电源电路设计 单片机 AT89S52 的工作电压范围相对较窄,为 4.05.5V。所以本设计中电源 部分通过电源插口从外界变压器直接接入交流,利用电路中桥堆整流、电容滤波、 稳压模块的稳压功能给电路提供稳定的+5V 电压,使电路的工作保持很高的可靠性。 在电路中接入一个发光二极管作为指示灯,可以很方便地指示电源与电路是否接通。 如图 3.4 所示。 Vin 1 GND 2 +5V 3 Q5 7805 104 C6 1000uF C4 104 C7 1000uF C5 VCC D2 1K R14 18 POWER-CT S2 SW-DPDT D1 上上上上 图 3.1.4 系统电源电路 3.1.3 数码管显示电路设计 该设计中有 4 个八段数码显示管,由于单片机本身端口驱动能力有限,所以, 8 在单片机 AT89S52 外围需要接入 4 个三极管来驱动数码显示管。八段数码显示管有 两种,一种是共阳数码管,其内部是由八个阳极相连接的发光二极管组成;另一种是 共阴数码管,其内部是由八个阴极相连接的发光二极管组成。二者原理不同但功能相 同,本设计选用四位共阳极数码管。数码管显示及其驱动电路如图 3.5 所示。 1K R4 1K R5 VCCVCC 1 12 a 11 f 10 2 9 3 8 b 7 e 1 d 2 dp 3 c 4 g 5 4 6 *1 LED a b c d e f g 1K R3 1K R2 VCCVCC 3 4 1 21 2 3 4 dp R12 470 R10 470 R13 470 R7 470 R8 470 R11 470 R6 470 R9 470 abcdefgdp P10 P11 P12 P13 P14 P15 P16 P17 P34 P35 P36 P37 Q2 9013 Q1 9013 Q3 9013 Q4 9013 图 3.1.5 数码管显示及其驱动电路 .4 超声波发射超声波发射电路设计电路设计 单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波, 从而测出发射和接收回波的时间差T,然后求出距离 SVT2,式中的 V 为超声波 波速。限制该系统的最大可测距离存在 4 个因素:超声波的幅度、反射的质地、反射 和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收 能力将决定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多 个超声波换能器分别作为多路超声波发射接收的设计方法。由于超声波属于声波范 围,其波速 V 与温度有关。 测距系统中的超声波传感器采用压电陶瓷传感器,因为超声波在空气中传播时衰 减很大,衰减的程度与频率成正比,但是频率越高则分辨力也会越高,频率为 40kHz 9 左右的超声波在空气中传播的效率最佳,工作所需 40kHz 的脉冲信号,由单片机执行 相应程序来产生。关于 40KHz 信号的产生,利用单片机定时器中断产生,要特别注意 中断服务程序的编写。中断服务不能过长,如果过长单片机在前一个中断服务程序还 没执行完之前又会有下一个中断产生。所以单片机将会产生一个错误频率的信号,往 往这个错误的频率会比预期的值偏低。测距系统由单片机系统、超声波发射电路和超 声波检测接收电路三部分组成。AT89S52 输出超声波换能器所需的 40K 方波信号,利用 外中断 0 口监测超声波接收电路输出的返回信号, 并实现对 CX20106 接收芯片和 TCT40-10 系列超声波转换模块的控制。 超声波发射电路原理图如图 3.6 所示。发射电路主要由反相器 4069 和超声波发射 换能器 T 构成,单片机 P3.0 端口输出的 40kHz 的方波信号一路经一级反向器后送到超 声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用 这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输 出端采两个反向器并联,用以提高驱动能力。上位电阻 R6、R8 一方面可以提高反向器 4069 输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自 由振荡时间。 12 U1A HCC4069UBF 34 U1B HCC4069UBF 1011 U1E HCC4069UBF 1213 U1F HCC4069UBF 56 U1C HCC4069UBF 89 U1D HCC4069UBF T 1K R8 Res2 1K R6 VCC VCC 102 C11 104 C10 10uf C12 P30 上上上上上上上 图 3.1.6 超声波发射电路 压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两个 压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡 频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声 10 波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电 晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射 换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。 .5 超声波接收超声波接收 集成电路 CX20106A 是一款红外线检波接收的专用芯片,常用于电视机红外遥控接 收器。考虑到红外遥控常用的载波频率 38 kHz 与测距的超声波频率 40 kHz 较为接近, 可以利用它制作超声波检测接收电路。实验证明用 CX20106A 接收超声波(无信号时输 出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电容 C8 的大小,可以 改变接收电路的灵敏度和抗干扰能力。 使用 CX20106A 作为超声波检测接收电路,原理图如图 3.7 所示。CX20106A 的第 5 脚的电阻决定接收的中心频率,220k 的电阻决定了接收的中心频率为 40KHz。CX20106A 接收到 40KHz 的信号时,会在第 7 脚产生一个低电平下降脉冲,这个 信号可以接到单片机的外部中断引脚作为中断信号输入。R3 和 C13 是控制 CX20106A 内部放大增益,R5 控制带通滤波器的中心频率。一般取 R3=4.7 欧,C13=1Uf.。其余元 件按图 3.7 取值。OUT_INT 当收到超声波是产生一个下降沿,接到单片机的外部中断上。 只要通过单片机来来计算发射信号时到收到信号是产生下降沿这段时间的长度,再通 过数学计算得出当前距离,程序将此数值与设定的阈值相比较并作出相应动作。 P32 1 2 3 4 5 6 7 8 JP1 LS1 R 4.7 R3 200K R5 220K R4 1uf C13 3.3uf C14 330pF C9 104*2 C8 VCC 上上上上上上上 图 3.1.7 超声波接收电路 11 .6 循环彩灯电路及蜂鸣器电路 当探测距离小于 10cm 时,调用循环彩灯程序,执行循环彩灯电路。用 P2 口驱动 发光二极管显示。如图 3.1.8 所示。 18 LED 17 LED 16 LED 15 LED 14 LED 13 LED 12 LED 11 LED 10 R 9 R 8 R 7 R 6 R 5 R 4 R 3 R VCC P20 P21 P22 P23 P24 P25 P26 P27 上上上 图 3.1.8 循环彩灯电路 蜂鸣器主要通过不同频率的响声指示被测距离。1020cm、2050cm、50100cm 分 别对应三种不同频率。距离越小频率越高,当小于 10cm 或超过 100cm 蜂鸣器常响。蜂 鸣器电路如图 3.1.9 所示。 1K R7 LS3 Speaker Q6 9013 VCC P31 上上上 图 3.1.9 蜂鸣器电路 3.23.2 软件部分软件部分 .1 系统软件设计说明系统软件设计说明 进行测量控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个 测量对象的实际需要设计应用程序。因此,软件设计在微机测量控制系统设计中占重 要地位。对于本系统,软件设计更为重要。 在单片机测量控制系统中,大体上可分为数据处理、过程控制两个基本类型。数 据处理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按 12 一定的方法进行计算,然后再输出,以便达到测量控制目的。 本软件设计主要是对距离进行测量、显示。因此,整个软件可分为按照硬件电路 对单片机位定义;发射子程序;接收子程序;显示子程序;延时子程序等。 .2 编程语言的选择编程语言的选择 本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重 要的环节。在单片机的应用系统程序设计时,常用的是汇编语言和 C 语言。汇编语言 是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主 要优点是占用资源少、程序执行效率高,而且执行速度快。但是不同的 CPU,其汇编语 言可能有所差异,即依赖于计算机硬件,程序可读性和可移植性比较差。 C 语言是编译型程序设计语言,兼顾高级语言的特点,并具备汇编语言的功能。C 语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化 程序设计技术。此外,C 语言程序具有完善的模块程序结构。C 语言执行效率没有汇编 语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类 型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性 等特点。基于 C 语言的众多优点本设计选择此语言来编程。 .3 超声波测距仪的算法设计超声波测距仪的算法设计 图 3.2.1 示意了超声波测距的原理,即超声波发生器 T 在某一时刻发 出一个超声渡信号,当这个超声波遇到被测物体后反射回来,就被超声波 接收器 R 所接收到。这样只要计算出从发出超声波信号到接收到返回信号 所用的时间,就可算出超声波发生器与反射物体的距离。 距离的计算公式为: L=s/2=(VT)/2 (1) 其中,L 为被测物与测距仪的距离,s 为声波的来回的路程,V 为声速,T 为声 波来回所用的时间。 图 3.2.1 超声波测距原理图 由于超声波也是一种声波,其声速 V 与温度有关,表 3.1 列出了几种不同温度下 13 的超声波声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测 距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波 往返的时间,即可求得距离。 表 3.1 不同温度下超声波声速表 温度/-30-20-100102030100 声速 V/(ms-1) 313319325323338344349386 在启动发射电路的同时启动单片机内部的定时器 T0,利用定时器的计数功能记录 超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产 生一个负跳变,在 INT0 或 INT1 端产生一个中断请求信号,单片机响应外部中断请求, 执行外部中断服务子程序,读取时间差,计算距离。 .4 主程序流程图主程序流程图 软件分为两部分,主程序和中断服务程序。主程序完成初始化工作、各路超声波 发射和接收顺序的控制。外部中断服务子程序主要完成时间值的读取、距离计算、结 果的输出等工作。如图 3.2.2、图 3.2.3、图 3.2.4 所示。 开始 单片机初始化 定时中断子程序 有回波吗? 外部中断子程序 Y N 主程序流程图 定时中断入口 定时器初始化 发射超声波 停止发射 返回 读取时间值 计算距离 结果输出 开外部中断 返回 关外部中断 外部中断入口 图 3.2.2 主程序 图 3.2.2 定时中断服务子程序 图 3.2.3 外部中断服务子程 序 14 主程序首先是对系统环境初始化,设置定时器 T0 工作模式为 16 位定时计数器模 式。置位总中断允许位 EA并给显示端口 P1 和 P3 清 0。然后调用超声波发生子程 序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触 发,需要延时约 0.1 ms(这也就是超声波测距仪会有一个最小可测距离的原因)后, 才打开外中断 0 接收返回的超声波信号。由于采用的是 12 MHz 的晶振,计数器每计 一个数就是 1s,当主程序检测到接收成功的标志位后,将计数器 T0 中的数(即超声 波来回所用的时间)按式(2)计算,即可得被测物体与测距仪之间的距离,设计时取 20时的声速为 344 m/s 则有: L=(VT)/2=172T0/10000cm (2) 其中,T0 为计数器 T0 的计算值。 测出距离后结果将以十进制 BCD 码方式送往 LED 显示约 0.5s,然后再发超声波脉 冲重复测量过程。 .5 超声波发生子程序和超声波接收中断程序超声波发生子程序和超声波接收中断程序 超声波发生子程序的作用是通过 P3.0 端口发送 2 个左右超声波脉冲信号(频率约 40kHz 的方波) ,脉冲宽度为 12s 左右,同时把计数器 T0 打开进行计时。超声波发生 子程序较简单,但要求程序运行准确,所以采用汇编语言编程。 超声波测距仪主程序利用外中断 0 检测返回超声波信号,一旦接收到返回超声波 信号(即 INT0 引脚出现低电平) ,立即进入中断程序。进入中断后就立即关闭计时器 T0 停止计时,并将测距成功标志字赋值 1。如果当计时器溢出时还未检测到超声波返 回信号,则定时器 T0 溢出中断将外中断 0 关闭,并将测距成功标志字赋值 2 以表示此 次测距不成功。 .6 系统的软硬件的调试系统的软硬件的调试 超声波发射和接收采用 15 的超声波换能器 TCT40-10F1(T 发射)和 TCT40- 10S1(R 接收) ,中心频率为 40kHz,安装时应保持两换能器中心轴线平行并相距 48cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高 抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容 C8 的 大小,以获得合适的接收灵敏度和抗干扰能力。 硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实 际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适 15 应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为 0.104.00m,测距仪最大误差不超过 1cm。系统调试完后应对测量误差和重复一致性 进行多次实验分析,不断优化系统使其达到实际使用的测量要求。 4. 结果与结论 4.1 结果 设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收, 从而实现利用超声波方法测量物体间的距离,以数字的形式显示测量距离。 它的硬件电路的设计主要包括单片机系统及显示电路、系统电源、超声波发射电 路和超声波检测接收电路四部分。单片机采用 AT89S52,采用 12MHz 高精度的晶振,以 获得较稳定时钟频率,减小测量误差。单片机用 P3.0 端口输出超声波换能器所需的 40kHz 的方波信号,利用外中断 0 口监测超声波接收电路输出的返回信号。显示电路采 用简单实用的 4 位共阳 LED 数码管,段码用单片机直接驱动,位码用 NPN 三极管 9013 驱动。实现测距,并且在数码管上显示距离。同时不同距离段,蜂鸣器频率不同。 超声波测距器的软件设计主要由主程序、超声波发生子程序、超声波接收中断程 序及显示子程序组成。 超声波测距的算法设计原理为超声波发生器 T 在某一时刻发出 一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器 R 所接 收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超 声波发生器与反射物体的距离。 经过实验表明,这套系统软硬件设计合理、抗干扰能力强、实时性良好,实验结 果完全符合预期要求。 4.2 结论 通过本次单片机课程设计,我对超声波测距有了进一步的熟悉和更深入的学习。 这次毕业设计历时 2 周,从一开始的课题确定,到后来的资料查找、理论学习,再有 就是近来的调试和测试过程,这一切都使我的理论知识和动手能力进一步得到提升。 在画原理图、调试过程中不可避免地遇到各种问题,这要求保持沉着冷静,联系书本 理论知识积极地思考。虽然在制作过程中不可避免地遇到很多问题,但是最后还是圆 满解决了这些问题,实现了整个系统设计与最后调试,相关指标达到预期的要求,很 好地完成了本次设计任务。通过本次毕业设计,我更深入的掌握单片机的开发应用和 16 编程。 5收获与致谢 5.15.1 收获收获 通过这次课程设计,我收获颇多; 1.巩固和加深了对单片机基本知识和理解,提高了综合运用所学知识的能力。 2.增强了根据课程需要选学参考资料,查阅手册,图表和文献资料的自学能力。 通过独立思考,深入研究有关问题,学会自己分析解决问题的方法。 3.通过实际电路方案的分析比较,设计计算,元件选取,安装调试等环节,初步 掌握了简单实用电路的分析方法和工程设计方法。 4.在这次课程设计过程中,光有理论知识是不够的,还必须懂一些实践中的知识。 所以在课程设计的实践中,我们应将实验课与课堂教学结合起来,锻炼自己的 理论联系实际的能力和实际动手能力提高了动手能力。 5.掌握了仪器的使用方法,提高了动手能力。 6.培养了小组的团队精神也培养了严谨的工作作风和科学态度。 5.25.2 致谢致谢 在本次课程设计中,我得到了指导老师段德功的热心指导。帮助解决课程设计中 遇到的许多问题,还不断向我们传授分析问题和解决问题的办法,并指出了正确的努 力方向,使我在课程设计中学习到许多新的知识,也培养了我分析问题的能力和实践 动手能力。在这里非常感谢段老师的指导和帮助,并致以诚挚的谢意!同时,身边的 同学也给了我提供了许多的帮助。在此,我向身边关心我的同学及在设计过程中给予 我极大帮助的人致以诚挚的谢意! 通过这次课程设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联 系实际的含义,并且检验了课程学习成果。这两周的设计是对过去所学知识的系统提 高和扩充的过程,为今后的发展打下了良好的基础。 由于自身水平有限,设计中一定存在很多不足之处,敬请各位老师批评指正。 6. 参考文献 1 张毅刚.单片机原理及应用.北京:高等教育出版社,2003.12 17 2 张蓬.Protel DXP 电路设计入门与应用.北京:机械工业出版社,2005.6 3 谭浩强.C 程序设计.北京:清华大学出版社,2005. 7. 附件 附录附录 A A 总电路图 18 EA/VPP 31 X1 19 X2 18 RESET 9 RD/P37 17 WR/P36 16 P32/INT0 12 P33/INT1 13 P34/T0 14 P35/T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/PRDG 30 P31/TXD 11 P30/RXD 10 VCC 40 GND 20 JP6 AT89C52 GND VCC P10 P11 P12 P13 P14 P15 P01 P02 P03 P04 P05 P06 P00 INT0 2 12M C6 30p C7 30p VCC P30 RST P16 P20 P21 P22 P23 P24 P25 P26 P27 P07 INT1 1 2 3 4 5 6 7 8 9 J2 10K P00 P01 P02 P03 P04 P05 P06 P07 VCC P31 P34 P35 P36 P37 P17 1 2 3 4 5 6 7 8 JP5 Header 8 1 2 3 4 5 6 7 8 JP3 1 2 3 4 5 6 7 8 JP4 XTAL2 XTAL1 XTAL1 XTAL2 10UF C5 10K R2 S2 VCC RST 1K R11 1K R12 VCCVCC 1 12 a 11 f 10 2 9 3 8 b 7 e 1 d 2 dp 3 c 4 g 5 4 6 *1 LED a b c d e f g 1K R10 1K R9 VCCVCC 3 4 1 21 2 3 4 dp 12 34 56 78 910 J1 AT89S ISP P15 P16 P17 RST VCC 18 LED 17 LED 16 LED 15 LED 14 LED 13 LED 12 LED 11 LED 10 R 9 R 8 R 7 R 6 R 5 R 4 R 3 R VCC P20 P21 P22 P23 P24 P25 P26 P27 R19 470 R17 470 R20 470 R14 470 R15 470 R18 470 R13 470 R16 470 ab cd efgdp P10 P11 P12 P13 P14 P15 P16 P17 Vin 1 GND 2 +5V 3 Q1 7805 104 C3 1000uF C1 104 C4 1000uF C2 VCC D2 1K R1 1 POWER-CT P34 P35 P36 P37 Q3 9013 Q2 9013 Q4 9013 Q5 9013 1 2 3 4 5 6 7 8 JP2 Header 8 1K R7 LS3 Speaker Q6 9013 VCC P31 S1 SW-DPDT D1 上上上上 上上上上 上上上上 ISP上上上 ISP上上上 1 2 3 4 JP7VCC P30 INT0 12 U1A HCC4069UBF 34 U1B HCC4069UBF 1011 U1E HCC4069UBF 1213 U1F HCC4069UBF 56 U1C HCC4069UBF 89 U1D HCC4069UBF T 1K R8 Res2 1K R6 VCC VCC 102 C11 104 C10 10uf C12 P32 1 2 3 4 5 6 7 8 JP1 LS1 R 4.7 R3 200K R5 220K R4 1uf C13 3.3uf C14 330pF C9 104*2 C8 VCC P30 1 2 3 4 JP8VCC P30 P32 P0上上上上上 上上上 上上上上上上上 上上上上上上上 上上上 上上上上上 上上上上上 上上上上 附录附录 B B PCB 19 附录附录 C C 程序清单 20 #include reg51.h #include #define uchar unsigned char #define uint unsigned int #define ulong unsigned long sbit transfer=P30; sbit receiver=P32; sbit speak=P31; /*数码管位选控制*/ sbit ledwei0=P35; sbit ledwei1=P37; sbit ledwei2=P36; sbit ledwei3=P34; uchar TimerH,TimerL,temp,i,a,b; ulong realTimer; /存放真测量时间 ulong real_dis; /存放测量距离 uint dis_flag; /距离计算标志位 uint alarm_flag100=0; /用于报警 uint alarm_flag50=0; uint alarm_flag20=0; uint alarm_flag10=0; uint wei0,wei1,wei2,wei3; uchar ledflag=0; /数码管标志位,用于刷新 uchar send_flag=0; uchar count=0; /定时器 T0 计数 uchar ledcode11=0 x30, 0 xbb, 0 xa4, 0 xa8, 0 x2b, 0 x68, 0 x60, 0 xb9, 0 x20, 0 x28,0 xff; /*延时函数*/ void delay(uint count) while(count-); /*超声波发送函数-40KHZ*/ void CLK40K() uchar i=4; /发送的波形数量=(i/2) TR0=1;/START TIME0,同时发送 40KHZ 方波 do transfer=transfer; _nop_ (); _nop_ (); 21 _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); while(-i); /*距离测量函数*/ void distance(void) realTimer=TimerH*256+TimerL; real_dis=realTimer*164/10000; /单位 cm wei0=real_dis%10; wei1=(real_dis/10)%10; wei2=(real_dis/100)%10; wei3=real_dis/1000; /*显示刷新函数函数*/ void display(void) switch(ledflag) case 0:P1=ledcodewei0;ledwei0=1;ledwei1=0;ledwei2=0;ledwei3=0;break; case 1:P1=ledcodewei1;ledwei0=0;ledwei1=1;ledwei2=0;ledwei3=0;break; case 2:P1=ledcodewei2;ledwei0=0;ledwei1=0;ledwei2=1;ledwei3=0;break; case 3:P1=ledcodewei3;ledwei0=0;ledwei1=0;ledwei2=0;ledwei3=1;break; ledflag+; if(ledflag=4) ledflag=0; delay(0 x80);/768us=0.768ms/520 次 /*报警处理函数*/ void alarm_light(void) if(real_dis=10) speak=1; else if(real_dis=1) speak=1; alarm_flag20=0; else if(real_dis=2) speak=1; alarm_flag50=0; else if(real_dis=4) speak=1; alarm_flag100=0; else speak=1; /*系统初始化程序*/ void init()/系统初始化 temp=0 xfe; P2=temp; TMOD=0X11; /初始化定时器 T0,T1 用于产生 40hz 发射波 TH0=0 x00; TL0=0 x00; TH1=0 x00; TL1=0 x00; TF1=0; PX0=1; ET1=1; EA=1; TR1=1;/启动定时器 1 IT0=0;/外部低电平触发方式 23 void int0(void) interrupt 0 /关闭计数器,存计数值,置标志 EA=0; /关闭中断 EX0=0; /关外部中断 TimerL=TL0; /读取数值 TimerH=TH0; TR0=0; /关闭定时器 0 TH0=0 x00; TL0=0 x00; dis_flag=1; /距离计算标志 void time1(void) interrupt 3 TF1=0; TH0=0 x00; TL0=0 x00; TH1=0 x00; TL1=0 x00; send_flag=1; /开启接收回波中断 /*系统主函数*/ void main() unsigned int i,j; init(); /系统初始化 real_dis=150;/y 预设初值,防止开机未发射超声波,电机锁死 delay(0 x40); while(1) if(send_flag=1) /* 报警级别计数*/ alarm_flag100+; alarm_flag50+; alarm_flag20+; alarm_flag10+; /* 报警级别计数*/ send_flag=0; count+; if(count=5) 24 count=0; CLK40K(); delay(0 x40);/延时,避开发射的直达声波信号,调节最小距离 EX0=1; if(dis_flag=1) dis_flag=0; distance(); EA=1; display(); /调用显示函数 if(real_disi; b=temp(9-i); P2=a|b; for(j=1;j9;j+) delay(200); display(); /调用显示函数 alarm_light(); 附录 D 超声波测距元器件清单 元件元件 数量数量 AT89S521 25 晶振 12MHZ1 瓷片电容 30pf2 瓷片电容 1045 瓷片电容 1021 瓷片电容 1031 瓷片电容 10uf1 瓷片电容 3301 电解电容 1uf1 电解电容 3.3 uf1 电解电容 1000 uf2 LED 指示灯9 共阳数码管 4 位1 三极管 90135 40691 电阻 200K1 电阻 220K1 电阻 10K1 电阻 1K8 电阻 47016 电阻 4.71 78051 蜂鸣器1 桥堆 2W101 40 脚 IC 插座1 按键1 开关1 CX201061 26 指导教师评语:指导教师评语: 课程设计报告成绩: ,占总成绩比例: 30% 课程设计其它环节成绩: 环节名称: 考勤 ,成绩: ,占总成绩比例: 20% 环节名称: 综合 ,成绩: ,占总成绩比例: 50% 总 成 绩: 指导教师签字:指导教师签字: 年 月 日 本次课程设计负责人意见:本次课程设计负责人意见: 负责人签字:负责人签字: 年 月 日 袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀

温馨提示

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

评论

0/150

提交评论