基于单片机和SMC1602的超声波测距系统设计_第1页
基于单片机和SMC1602的超声波测距系统设计_第2页
基于单片机和SMC1602的超声波测距系统设计_第3页
基于单片机和SMC1602的超声波测距系统设计_第4页
基于单片机和SMC1602的超声波测距系统设计_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、xx 大学毕业设计(论文)- i - 基于单片机和基于单片机和 smc1602 的超声波测距系统设计的超声波测距系统设计摘摘 要要我们生活的是一个三维的空间,物体与物体之间有着其相对的位置。所以如何更方便,更准确的测量一些我们想知道的两者之间的距离成了历代科学家最感兴趣的事情之一。从最初的用脚步去丈量,到后来的具有统一标准的尺子测量。已经形成了一系列应用于各行的不同精度的尺子,基本满足了我们日常生活和科学研究的需求。但是,随着社会的发展又有许多关于测量距离的新问题被提出来。比如:能否方便的通过测量距离而将面积或体积一同测量出来;在一些不方便使用尺子的地方,如高压线周围、水电管布局等能否安全方便

2、的测量出目标距离。另外,在一些场合里能否实时动态测量目标。都是传统的静态测量方法解决不了的。这就要求我们设计一种新的测量工具来解决的问题。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。本设计给出了一种基于时差测距原理的超声波测距系统的整体结构设计方案,介绍了该超声波测距系统中所选用的 at89c51 单片机、smc1602 液晶显示驱动器的主要特点,最后给出了该超

3、声波测距系统的软件主程序和中断程序流程图。关键词:关键词:超声波测距;单片机;液晶显示器件;smc1602基于单片机和 smc1602 的超声波测距系统设计iithe design of the ultrasonic ranging system based on single-chip and smc1602 abstractabstractwe live in a three-dimensional space, objects and objects have their relative position. therefore the more convenient, more acc

4、urate measurements that we want to know the distance between the two scientists most interested in history has become one of the things. used from the initial steps to measure, and later ruler of a unified measurement standards. has formed a series of different lines used in the precision of a ruler

5、, can basically meet the needs of our daily life and scientific research needs. however, with the development of society on the measurement of the distance there are many new issues raised. for example: can a convenient distance by measuring the area or volume will be measured together; in some area

6、s is not convenient to use a ruler, such as around high-tension line, such as electricity and water pipes can safe and convenient layout of the target distance measurement. in addition, a number of occasions whether in the real-time dynamic measurement of the target. the traditional static measureme

7、nt that can not be resolved. this requires us to design a new measurement tools to solve problems.strong point as a result of ultrasonic energy consumption slow, in the medium distance transmission, which are often used for ultrasonic distance measurement, such as range finders and all level measure

8、ment can be achieved through ultrasound. the use of ultrasonic testing are relatively rapid, convenient, simple, easy to do real-time control and measurement accuracy can meet the practical requirements of the mobile robot has been developed on a wide range of applications.the design of this paper,

9、a location based on the principle of time difference of ultrasonic ranging system of the overall structural design of the program, introduced the ultra acoustic ranging system in the selected at89c51 single-chip microcomputer, lcd driver smc1602 the main features, and finally given the ultrasonic ra

10、nging system software flow chart of main program and interrupt procedures. keywords: ultrasonic distance measurement; single-chip microcomputer; lcd; smc1602xx 大学毕业设计(论文)- iii - 目录目录引引 言言.1第第 1 章章 绪论绪论.21.1 概述.21.2 课题的总体设计及思路.2第二章第二章 硬件电路的设计硬件电路的设计.42.1 at89c51 单片机.42.2 复位电路.62.3 系统时钟电路.92.4 发射电路.10

11、2.5 接收电路.112.6 温度采集电路.122.7 显示电路.122.8 时间增益补偿电路.20第三章第三章 软件设计软件设计.233.1 主程序流程图.233.2 外部中断子程序.243.3 定时器子程序.25第四章第四章 调试调试.264.1 硬件调试.264.2 软件调试.26结论与展望结论与展望.27致谢致谢.29参考文献参考文献.30附录附录.31附录 a 原理图.31附录 b 外文文献及译文 .32附录 c 主要参考文献的题目及摘要 .39附录 d 程序清单.42基于单片机和 smc1602 的超声波测距系统设计iv插图清单插图清单图 1-1 超声波测距原理框图.2图 1-2

12、基于单片机的 smc 超声波测距原理框图.3图 2-1 89c51 引脚图.5图 2-2 cat810 引脚图.7图 2-3 vcc 低于 1.0v 时 reser 有效图 .8图 2-4 vcc 低于 1.0v 时 reset 有效.8图 2-5 双向复位管脚的连接.9图 2-6 复位电路.9图 2-7 内部振荡电路连接图.10图 2-8 外部振荡电路连接图.10图 2-9 超声波测距发射电路.11图 2-10 超声波测距的接收电路.11图 2-11 温度采集电路.12图 2-12 ram 地址映射图.14图 2-13 操作时序.18图 2-14 写操作时序.19图 2-15 显示电路.20

13、图 2-16 灵敏度时间补.21图 2-17 有源全波整流电路原理图.22图 3-1 主程序流程图.23图 3-2 外部中断子程序.25图 3-3 定时器子程序流程图.25xx 大学毕业设计(论文)- v - 表格清单表格清单表 2-1 cat810 管脚说明.7表 2-2 smc1602 技术参数.13表 2-3 smc1602 接口说明.14表 2-4 smc1602 状态字说明.14表 2-5 smc1602 显示模式设置.15表 2-6 smc1602 显示光标设置.15表 2-7 数据指针设置.15表 2-8 清屏指令一览表.15表 2-9 光标归位指令一览表.16表 2-10 进入

14、模式设置指令一览表.16表 2-11 设定显示器或光标移动方向一览表.16表 2-12 设定功能一览表.17表 2-13 设定 cgram 地址指令一览表.17表 2-14 读取忙碌信号或 ac 地址指令一览表.17表 2-15 数据写入到 ddram 或 cgram 中的指令一览表.18表 2-16 从 cgram 或 ddram 读出数据的指令一览表.18表 2-17 时序参数.19xx 大学毕业设计(论文)- 1 - 引引 言言采用超声波测量大气中的地面距离,是近代电子技术发展才获得正式应用的技术,由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,在较恶劣的环境(如含粉尘

15、)具有一定的适应能力。因此,用途极度广泛。超声波测距在很多距离探测应用中具有重要的用途(包括液位测量、机械手控制、车辆自动导航、物体识别等方面) ,特别是应用于空气测距方面。由于空气中的波速较慢,其回波信号中包含的沿传播方向的信息很容易检测出来,因而具有很高的分辨力,且其准确度也较其它方法高;此外,超声波传感器具有结构简单、体积小、信号处理可靠等特点。目前,基于超声波精确测距的需求也越来越大,如油库和水箱液面的精确测量和控制,物体内气孔大小的检测和机械内部损伤的检测等。超声波测距系统的应用非常广泛,它涉及到了现代的工业,军事等等方面,它的发展快慢同时也标志着一个国家的发展速度,对于它的研究永远

16、不会停止,人们要求它能够使测距更简单,经济,普遍;使它的硬件更容易实现。为此,本文根据超声波测距原理设计了一种以 mcs-51 单片机为核心的低成本、高精度、微型化数字显示超声波测距系统。基于单片机和 smc1602 的超声波测距系统设计2第第 1 章章 绪论绪论1.1 概述本系统中的超声波信号由 80c51 单片机产生,它可通过 p1.0 口输出一个 40khz 的脉冲信号,并持续发射 216s。原始信号是 5vp-p。该信号经过运行放大 3 倍后,可驱动超声波发射头发出 15vp-p、40khz 的脉冲超声波。由于接收头与发射头配对,因此,接受后可将超声波调制脉冲变为交变电压信号,经运行放

17、大 5 倍后加至高通有源滤波电路滤除低频杂波,当系统通过程序计算得到所测距离后,再将其转化成 ascii 码送到液晶显示器。1.2 课题的总体设计及思路超声波测距的基本工作原理是测量超声波在空气中的传播时间,由超声波传播时间和传播速度来确定距离障碍物的距离,即所谓的脉冲回波方式。该方式的基本电路框图如图 1-1 所示。由发射传感器、发射电路、接收传感器、接收放大电路、回波信号处理电路和单片机控制电路等几部分组成。单片机发射电路信号处理接受电路s被测物体图 1-1 超声波测距原理框图发射电路通常是一个工作频率为 40khz 的多谐振荡器,该振荡器可由 555 时基集成电路或其他电路构成多谐振荡器

18、电路型式。多谐振荡器受单片机控制,产生一定数量的发射脉冲(通常为 516 个),用于驱动超声波发射传感器,并激励出超声波在空气中传播,遇障碍物反射而返回。超声波接收传感器通过压电转换的原理,将由障碍物返回的回波信号转换成电信号,由于该信号幅度较小(几到十几毫伏),因此须由低噪声放大、40khz 带通滤波电路将回波信号放大到一定幅度,且干扰成分较少,并由回波信号处理电路转换成方波信号,送至单片机系统进行时间测量和距离的显示。单片机根据脉冲发射时间和接收到回波的时间计算出时间差 t,即超声波在空气中传播的时间,并由式(1-1): (1.1)cts21计算出距离 s,式中参数 c 是超声波在空气中的

19、传播速度。本设计是在次基础上加上单片机并在液晶显示器上显示出来。所以它的原理框图如图 1-2 所示:xx 大学毕业设计(论文)- 3 - 发射探头接受电路检波电路发射电路接受探头at89c51单片机smc1602液晶显示器图 1-2 基于单片机的 smc 超声波测距原理框图基于单片机和 smc1602 的超声波测距系统设计4第二章第二章 硬件电路的设计硬件电路的设计2.1 at89c51 单片机at89c51 单片机是美国 atmel 公司生产的低电压,高性能 cmos 8 位单片机,片内含 4k bytes 的可反复擦写的 flash 只读程序存储器和 128bytes 的随机数据存储器(r

20、am) ,器件采用 atmel 公司的高密度,非易失性存储技术生产,兼容标准 mcs-51 指令系统,片内置通用 8 位中央处理器(cpu)和 flash 存储单元,使其为众多嵌入式控制应用系统提供了灵活性高且价廉的解决方案。下面是对单片机 at89c51 主要特性进行了一些描述:1. 主要性能参数:与 mcs-51 单片机产品兼容;4k 字节可重擦写 flash 存储器;1000 次擦写周期;全静态操作:0hz24mhz;三级加密程序存储器;1288 字节内部 ram;32 个可编程 i/o 口线;2 个 16 位定时器/计数器;5 个中断源;可编程串行 uart 通道;低功耗空闲和掉电模式

21、;工作温度:-55+125;储藏温度:-65+150;任一引脚对地电压:-1.0v+7.0v;最高工作电压:6.6v;直流输出电流:15.0ma;芯片引脚介绍:xx 大学毕业设计(论文)- 5 - 3938372625242335333221223634271130281029p10p00rxdp27p21p25p24p23p22p20p07p06p05p04p03p02p01psenael/ptxdp26p17p16p15p14p12p13p1189c51int0int1t1t0ea/vpx2x1resetwrrd图 2-1 89c51 引脚图vcc:电源vss:地p0 口:8 位漏极开路的

22、双向 i/o 口。作为输出口,每位能驱动 8 个 ttl 逻辑电平。对 p0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0 口也被作为低 8 位地址/数据复用。在这种模式下,p0 具有内部上拉电阻。在 flash 编程时,p0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。p1 口:具有内部上拉电阻的 8 位双向 i/o 口,p1 输出缓冲器能驱动 4 个 ttl 逻辑电平。对 p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil) 。在flash

23、 编程和校验时,p1 口接收低 8 位地址字节。p2 口:具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动四个 ttl 逻辑电平。对 p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil) 。在访问外部程序存储器或用 16 位地址读取外部数据存储器时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉电阻发送 1。在使用 8 位地址访问外部数据存储器时,p2 口输出 p2 锁存器的内容。在 flash 编程和校验时,p2 口也接收高位地址字节和一些控制信号。p3 口:p3 口

24、是一个具有内部上拉电阻的 8 位双向 i/o 口,p3 输出缓冲器能驱动四个 ttl 逻辑电平。对 p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil) 。p3 口亦作为 at89c51 特殊功能(第二功能)使用,p3 口还具有以下特殊功能:基于单片机和 smc1602 的超声波测距系统设计6rxd(p3.0) 串行输入口txd(p3.1) 串行输出口int0(p3.2)外部中断 0int1(p3.3)外部中断t0(p3.4)定时器 0 外部输入t1(p3.5)定时器 1 外部输入wr(p3.6)外部数据

25、存储器写信号rd(p3.7)外部数据存储器读信号rst:复位输入。晶振工作时,rst 脚持续 2 个机器周期高电平将使单片机复位。ale/:控制信号(ale)是访问外部程序存储器时,锁存低 8 位地址的输prog出脉冲。在 flash 编程时,此引脚()也用作编程输入脉冲。prog在一般情况下,ale 以晶振六分之一的固定频率输出脉冲,可用来做为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ale 脉冲将会跳过。如果需要,通过将地址为 8eh 的特殊功能寄存器(sfr)的 d0 位置“1” ,ale 操作将无效。这一位置“1” ,ale 仅在执行 movx 或 movc 指

26、令时有效。否则,ale 将被微弱拉高。这个 ale 使能标志位(地址为 8eh 的 sfr 的第 0 位)的设置对微控制器处于外部执行模式下无效。:外部程序存储器选通信号()是外部程序存储器选通信号。当psenpsenat89c51 从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而psen在访问外部数据存储器时,将不被激活。psen/vpp:访问外部程序存储器控制信号。为使能从 0000h 到 ffffh 的外部程序ea存储器读取指令,必须接地。ea为执行内部程序指令,应该接 vcc。ea在 flash 编程期间,也接收 12 伏 vpp电压。eaxtal1:振荡器反相放大器和内部

27、时钟发生电路的输入端。xtal2:振荡器反相放大器的输出端。2.2 复位电路本系统的复位电路主要是用 cat810,cat810 的主要性能如下:cat809 和 cat810 是微控制器监控电路,用来监控数字系统的电源。在工业级温度范围的应用中可直接代替 max809 和 max810。xx 大学毕业设计(论文)- 7 - cat809 和 cat810 产生一个复位信号,这个信号在电源电压低于预置的阈值时和电源电压上升到该阈后的 140ms 内有效。由于 catalyst 半导体运用了底层浮动闸(floating gate)技术 ae2tm,因此器件可以供任何特定的复位阈值。7 个工业标准

28、的阈值可支持+5.0v、+3.3v、+3.0v 和+2.5v 的系统。cat809 的 reset 是推挽输出(低有效) ,cat810 的 reset 也是推挽输出(高有效) 。电源的快速瞬态变化可忽略,当 vcc低至 1.0v 时输出可保证仍处于正确状态。cat809/810 可工作在整个工业级温度范围内(40+85) ,包含 3 脚 sot23和 sc70 两种封装形。阈值后缀选择器指定阈值电压阈值后缀名称:4.63vl4.38vm4.00vj3.08vt2.93vs2.63vr2.32vz (1)管脚配置cat810213gnd3脚sot23reset图 2-2 cat810 引脚图(

29、2)管脚描述 表 2-1 cat810 管脚说明管脚号cat809cat810名称描述11gnd地2reset复位低有效。reset 在 vcc 降到低于复位阈值时有效,并在 vcc上升到大于复位阈值后的至少140ms内仍保持低电平。基于单片机和 smc1602 的超声波测距系统设计82reset复位高有效。reset在vcc降低到低于复位阈值时有效,并在vcc上升到大于复位阈值后的至少140ms内仍保持高电平。33vcc监控的电源电压。(3)典型工作特性:vcc正常范围,ta=40+85,除非特别说明。典型值在 ta=+25和vcc5v(l/m/j 版本) 、vcc3.3v(t/s 版本)

30、、vcc3v(r 版本) 、和 vcc2.5v(z版本)得到。vcc低于 1.0v 时的有效复位。为了确保 cat809 的 reset 管脚在 vcc低于 1.0v 时的状态可知,建议在 reset和 gnd 之间连接一个 100k 的下拉电阻,电阻的阻值不作严格限制。对于 cat810,则需要在 reset 和 vcc之间连接一个上拉电阻。vcccat810gndreset100k电源图 2-3 vcc低于 1.0v 时 reser 有效图vcccat809gndreset图 2-4 vcc低于 1.0v 时 reset 有效(4)双向复位管脚的连接:cat809/810 可与 up/uc

31、 的双向复位管脚相连。通过在 cat809/810 的复位输出和up/uc 的双向复位管脚之间串联一个 4.7k 的电阻来实现。xx 大学毕业设计(论文)- 9 - vcccat809gndreset100k电源resetgnd双向i/o管4.7kbuf(例如68hc11)缓冲reset图 2-5 双向复位管脚的连接由于单片机芯片的高速,低功耗和低工作电压导致其噪声容限低,对电源的纹波、瞬态响应性能、时钟源的稳定性和电源监控可靠性等诸多方面也提出了更高的要求。所以在系统的设计中使用了电源监控芯片。其电路图如图 2-6 所示:图 2-6 复位电路2.3 系统时钟电路at89c51 单片机有一个用

32、于构成内部振荡器的反相放大器,xtal1 和 xtal2 分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件的话,xtal2 可以不接,而从 xtal1 接入,如图 2-7。在本设计系统中采用的是内部振荡电路连接法,如图 2-8 所示。基于单片机和 smc1602 的超声波测距系统设计10xtal2xtal1c2c1图 2-7 内部振荡电路连接图nc外部时钟xtal2xtal1vss图 2-8 外部振荡电路连接图2.4 发射电路本设计采用软件发生法产生超声波。利用软件产生 40khz 的信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超

33、声波。具体设计如图 2-9 所示:xx 大学毕业设计(论文)- 11 - 图 2-9 超声波测距发射电路由图 2-9 可知,40khz 的超声波信号是利用 555 时基电路震荡产生的。其震荡频率计算公式如(2.1): (2.1)151481.43(2)frrc 将 r14 设为可调电阻的目的是为了调节信号频率,使之与换能器的 40khz 固有频率一致。为保证 555 时基具有足够的驱动能力,宜采用+12 电源。cnt 为超声波发射控制信号,由微处理器进行控制。2.5 接收电路超声波接收器包括超声波接受探头、信号放大器及波形变换电路三部分。其图如图 2-10 所示:图 2-10 超声波测距的接收

34、电路超声波在空气中传播时,其能量的衰减程度与距离成正比,通常在 1mv-1v。之间因此对放大器提出两个要求:(1)放大器增益要大;(2)放大器增益要能变化。基于单片机和 smc1602 的超声波测距系统设计12合理调节电位器,选择比较基准电压,可使测量更加准确和稳定。实践证明,比较参考电压的选择取非常关键,它与测量灵敏度,系统鲁棒性都有关系。显然,按上图的设计,当没有回波信号或回波信号很弱时,比较器输出为高电平,反之,为低电平。2.6 温度采集电路利用超声波实现的无接触测距其本上以上的部分就已完成,但是考虑到测量环境温度对超声波波速的影响,而且通过温度补偿法对速度进行校正。我们使用由集成数字传

35、感器 ds18b20 构成的温度测量电路,可直接读取温度值,再根据温度补偿得出超声波在某一温度下的波速,由单片机计数器脉冲个数获得传播时间,根据超声波测距原理测得并显示距离。从而对测量的稳定性进行了一次补充。目前,大多数温度测控系统在检测温度时,都采用温度传感器将温度转化为电量,经信号放大电路放大到适当的范围,再由 a/d 转换器转换成数字量来完成。这种电路结构复杂,调试繁杂,精度易受元器件参数的影响。为此,利用一线性数字温度计即集成温度传感器 ds18b20 和单片机,构成一个高精度的数字温度检测系统。ds18b20 数字式温度传感器与传统的热敏电阻温度传感器不同,能够直接读出被测温度值,并

36、且可根据实际要求,通过简单的编程,实现 912 位的 a/d 转换。因而,使用 ds18b20 可使系统结构更简单,同时可靠性更高。温度测量范围从-55+125,在-10+85检测误差不超过 0.5,而在整个温度测量范围内具有2的测量精度,其电路连接如图 2-11 所示。图 2-11 温度采集电路2.7 显示电路液晶显示器以其微功耗、小体积、使用灵活等诸多优点在袖珍式仪表和低功耗应xx 大学毕业设计(论文)- 13 - 用系统中得到越来越广泛的应用。液晶的物理特性是:当通电时导通,排列变的有秩序,使光线容易通过;不通电时排列混乱,阻止光线通过。让液晶如闸门般地阻隔或让光线穿透。从技术上简单地说

37、,液晶面板包含了两片相当精致的无钠玻璃素材,称为 substrates,中间夹著一层液晶。当光束通过这层液晶时,液晶本身会排排站立或扭转呈不规则状,因而阻隔或使光束顺利通过。大多数液晶都属于有机复合物,由长棒状的分子构成。在自然状态下,这些棒状分子的长轴大致平行。将液晶倒入一个经精良加工的开槽平面,液晶分子会顺着槽排列,所以假如那些槽非常平行,则各分子也是完全平行的。液晶显示器通常可分为两大类,一类是点阵型,另一类是字符型。点阵型液晶通常面积较大,可以显示图形;而一般的字符型液晶只有两行,面积小,只能显示字符和一些很简单的图形,简单易控制且成本低。目前市面上的字符型液晶绝大多数是基于hd447

38、80 液晶芯片的,所以控制原理是完全相同的,为 hd44780 写的控制程序可以很方便地应用于市面上大部分的字符型液晶。字符型 lcd 通常有 14 条引脚线(市面上也有很多 16 条引脚线的 lcd) ,多出来的 2 条线是电源线 vcc(15 脚)和地线 gnd(16 脚) ,其控制原理与 14 脚的 lcd 完全一样),hd44780 内置了 192 个常用字符,存于字符产生器 cgrom(character generator rom)中,另外还有几个允许用户自定义的字符产生 ram,称为cgram(character generator ram) 。下图说明了 cgrom 和 cgr

39、am 与字符的对应关系(由于本书中未用到自定义特殊字符的功能,所以本节不对 cgram 作详细介绍。以下如未特别说明,则字符码指 cgrom 的字符号,地址指 ddram 的地址)。字符码 0 x000 x0f 为用户自定义的字符图形 ram(对于 5x8 点阵的字符,可以存放 8组,5x10 点阵的字符,存放 4 组) ,0 x200 x7f 为标准的 ascii 码,0 xa00 xff 为日文字符和希腊文字符,其余字符码(0 x100 x1f 及 0 x800 x9f)没有定义。除了 cgrom 和 cgram 外,lcd 内部还有一个 ddram(display data ram),用

40、于存放待显示内容,lcd 控制器的指令系统规定,在送待显示字符代码的指令之前,先要送 ddram 的地址(即待显示的字符显示位置)。162 的字符型 lcd 的 ddram地址与显示位置的对应关系如下:ddram 地址与显示位置的对应关系00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh40h 41h 42h 43h 44h 45h 46h 47h 48h 49h 4ah 4bh 4ch 4dh 4eh 4fhsmc1602 主要技术参数:表 2-2 smc1602 技术参数显示容量:162 个字符芯片工作电压:1.5

41、5.5v工作电压:2.0ma(5.0v)模块最佳工作电压:5.0v字符尺寸:2.954.35(wxh)mm接口信号说明:基于单片机和 smc1602 的超声波测距系统设计14表 2-3 smc1602 接口说明编号符号引脚说明编号符号引脚说明1vss电源地9d2date 1/02vdd电源正极10d3date 1/03vl液晶显示偏压信号11d4date 1/04rs数据/命令选择端(h/l)12d5date 1/05r/w读/写选择端(h/l)13d6date 1/06e使能信号14d7date 1/07d0date 1/015bla背光源正极8d1date 1/016blk背光源负极控制器

42、接口说明:(1) 基本操作时序:读状态:输入:rs=l,rw=h,e=h 输入:d0d7=状态字写指令:输入:rs=l,rw=l,d0d7=指令码,e=高脉冲 输入:无读数据:输入:rs=h,rw=h,e=h 输入:d0d7=数据写数据:输入:rs=h,rw=l,d0d7=数据,e=高脉冲 输入:无(2) 状态字说明表 2-4 smc1602 状态字说明sta7 d7sta6d6sta5d5sta4d4sta3d3sta2d2sta1d1sta0d0sta0-6当前数据地址指针的sta7读写操作使能1:禁止 0:允许注:对控制器每次进行读写操作之前,都必须进行读写检测,确保 ata7 为 0(

43、3) ram 地址映射图控制器内部带有 808 位(80 字节)的 ram 缓冲区,对应关系如图 2-12 所示:lcd16字*2行xx 大学毕业设计(论文)- 15 - 图 2-12 ram 地址映射图(4) 指令说明显示模式设置表 2-5 smc1602 显示模式设置指令码功能00111000设置 162 显示,57 点阵,8 位数据接口显示开/关光标设置表 2-6 smc1602 显示光标设置指令码功能00001dcbd=1 开显示;d=0 关显示c=1 显示光标;c=0 不显示光标b=1 光标闪烁;b=0 光标不显示000001nsn=1 当读或写一个字符后地址指针加一,且光标加一n=

44、0 当读或写一个字符后地址指针减一,且光标减一s=1 当写一个字符,整屏显示左移(n=1)或右移(n=0)以得到光标不移动而屏幕移动的效果。s=0 当写一个字符,整屏显示不移动控制器内部设有一个数据地址指针,用户可通过访问内部的全部 80 字节 ram.数据指针设置表 2-7 数据指针设置指令码功能01h显示清屏:1.数据指针清零2.所有显示清零02h显示回车 1.数据指针清零清屏指令表 2-8 清屏指令一览表指令编码指令序号指令功能rsr/wedb7db6db5db4db3db2db1db0执行时间1清屏00100000001功能:1:清楚液晶显示器,即将 ddram 的内容全部填入“空白”

45、的 asc代码20h 2:光标归位,即将光标撤回到液晶显示屏的左上方1.64us基于单片机和 smc1602 的超声波测距系统设计16 3:将地址计数器(ac)的值设为 0光标归位指令表 2-9 光标归位指令一览表指令编码指令序号指令功能rsr/wedb7db6db5db4db3db2db1db0执行时间2光标归位0010000001功能:1:光标归位是把光标撤回到液晶显示器的左上方 2:把地址计数器(ac)的值设为 0 3:保持 ddram 的内容不变1.64us进入模式设置表 2-10 进入模式设置指令一览表指令编码指令序号指令功能rsr/wedb7db6db5db4db3db2db1db

46、0执行时间3进入模式设置001000001i/ds功能:设定每次写入 1 位数后光标的移位方向,并且设定每次写入的一个字符是否移动。根据 i/d 与 s 的变化,功能设定的情况如下所示:i/ds设定情况00光标左移一格,并且 ac 的值减 101显示器的字符全部右移一格,但光标不动10光标右移一格,并且 ac 的值加 111液晶显示器的字符全部左移一格,但光标不动40us设定显示器或光标移动方向指令表 2-11 设定显示器或光标移动方向一览表指令编码指令序号指令功能rsr/wedb7db6db5db4db3db2db1db0执行时间4设定显示器或光标移动方向0010001s/cr/l功能:使光

47、标移动或使整个显示字幕移位,根据 s/c、r/l 的变化情况设置。如下表所示s/cr/l设定情况00使光标左移一个,且 ac 值减 101使光标右移一格,且 ac 值加 110显示器上字符全部左移一个,但光标不动11显示器上字符全部右移一格,但光标不动40usxx 大学毕业设计(论文)- 17 - 功能设定表 2-12 设定功能一览表指令编码指令序号指令功能rsr/wedb7db6db5db4db3db2db1db0执行时间5功能设定001001dlnf功能:1:设定数据的长度,dl=1 时,数据为 8 位(db7db0) ;dl=0 时,数据为 4 位(db7db4) 2:设定显示的行数,n

48、=1 时,显示 2 行(db7db4) ;n=0 时,显示 1 行(db3db0) 3:设定字形,f=1 时,选定 510 点阵字型40us设定 cgram 地址指令表 2-13 设定 cgram 地址指令一览表指令编码指令序号指令功能rsr/wedb7db6db5db4db3db2db1db0执行时间6设定 cgram地址00101cgram 的地址(7 位)功能:设定下一个要存入数据的 cgram 的地址40us读取忙碌信号或 ac 地址指令表 2-14 读取忙碌信号或 ac 地址指令一览表指令编码指令序号指令功能rsr/wedb7db6db5db4db3db2db1db0执行时间6读取忙

49、碌信号或 ac 地址指令011bf、ac 的内容 7 位(ac0ac6)功能:1.读取忙碌信号 bf 的内容,当 bf=1 时在忙碌中,无法接受微处理器送给字符型液晶显示模块的数据;当 bf=0 时,可以接受微处理器 送来的数据 2:读取地址计数器(ac)的内容40us基于单片机和 smc1602 的超声波测距系统设计18数据写入到 ddram 或 cgram 中的指令表 2-15 数据写入到 ddram 或 cgram 中的指令一览表指令编码指令序号指令功能rsr/wedb7db6db5db4db3db2db1db0执行时间6数据写入到ddram 或cgram 中101要写入到字符型液晶显示

50、模块的 d7d0 这 8 位数据功能:1:将字符码写入 ddram,以使字符型液晶显示出相应的字符 2:将使用者自己设计的图形存入 cgram 40us从 cgram 或 ddram 读出数据的指令表 2-16 从 cgram 或 ddram 读出数据的指令一览表指令编码指令序号指令功能rsr/wedb7db6db5db4db3db2db1db0执行时间6从 cgram 或ddram 读取数据111读出的 d7d0 这 8 位数据功能:读取 ddram 或 cgram 中的内容40us控制器接口时序说明(1)操作时序图 2-13 操作时序(2) 写操作时序xx 大学毕业设计(论文)- 19 -

51、 图 2-14 写操作时序(3) 时序参数表 2-17 时序参数极限值时序参数符号最小值典型值最大值单位测试条件e 信号周期ct400-nse 脉冲宽带pwt150-nse 上升沿/下降沿时间,rtft-25ns引脚 e地址建立时间1spt30-ns地址保持时间1hdt10-ns引脚 e、rs、r/w数据建立时间(读操作)dt-100ns数据保持时间(读操作)2hdt20-ns数据保持时间(写操作)2spt40-ns数据保持时间(写操作)2hdt10-ns引脚 db0db7本设计采用的 smc1602 液晶显示器,工作电路图如 2-15 所示:基于单片机和 smc1602 的超声波测距系统设计

52、20图 2-15 显示电路2.8 时间增益补偿电路超声波在空气中传播时,声强会随传播距离的增加而减小,这就是所说的衰减现象,造成超声波衰减的因素是由于声束本身的扩散以及以及由于反射、散射等原因造成的声强度减弱。显然,这一类衰减没有使声波的总能量减少,只是使其偏离了原来的传播方向而转移到其他方向上去了。设最初的声强为 i0,在经过 x 距离后,由于吸收衰减,声强 变为 i,则超声波的吸收可以用式(2.2)表示: (2.2)ateii0式中, 为空气衰减系数。由上式可知,超声波在空气中传播时,随着传播距离的增加,其总能量逐渐减弱,其规律是按指数形式衰减。因此,在不同距离上的回波脉冲幅度,由于其声程

53、不同,造成的吸收程度也不同,使回波脉冲幅度的差异很大,由于在回波脉冲信号处理中通常采用比较器电路,将回波脉冲(形状为钟形)跟一固定的基准电压作比较,将回波脉冲整形为方波;由于不同距离的回波脉冲幅度差异较大,回波到达时间产生不确定性,导致测量误差产生。如果探头发出的超声波,经 x 距离到达某反射面,并经原路返回,其入射声强和反射声强分别是 ii 和 ir,由式(2.3)可得: (2.3)axireii从中可以看出,因为吸收而使声强增益l减少的分贝数(db)为: (2.4)eaxeiiiaxrilg20lg10lg102 (2.5)actaxl3 . 423 . 4式中,c 为声波在空气中的传播速

54、度,t 为传播过程中经历的时间。由于空气衰减系数 ,传播速度 c 均能确定,由此可以证明:超声波在 x 传播距离上幅度减少的分贝数与超声波穿过该距离的时间 t 成正比。即随着时间的增加,声强增益 l 逐渐减小。因而,必须对衰减上的回波进行增益补偿。依式(2.5),可以把接收的增益 g(db值)与回波时间 t 成正比,或者增益 g 与回波时间 t 成指数增加关系。补偿衰减的幅度,xx 大学毕业设计(论文)- 21 - 最终使接收器接收的信号保持不变。因而从较远距离反射的回波信号的放大倍数较大,而距离较近的反射信号,也就是时间上较早到达的回波信号的放大倍数较小,由此进行的幅度补偿称为时间增益补偿(

55、time gain compensa-tion,tgc),也称灵敏度时间补(stc)。如图 2-16 所示。信号强度距离信号强度距离衰减白线回波振幅距离增益补偿距离回波振幅距离不同距离的回波振幅距离补偿增益白线相应补偿后的波形(a)(b)(c)(d)图 2-16 灵敏度时间补图 2-16 中,(a),(b)分别表示信号强度随距离衰减曲线和不同距离的回波幅度;(c),(d)分别表示距离补偿增益曲线及相应补偿后的波形。可见,经过时间增益补偿,不同距离的回波幅度不再衰减,保持常数。时间增益补偿电路是一种放大倍数随时问呈指数增加关系的一种放大器,设计中增益控制采用了数字电位器,并利用单片机的强大功能,

56、将单片机内部事先设定的补偿数据对数字电位器进行衰减状态控制,可进行精确的时间增益补偿。利用单片机控制数字电位器,电路实现简单且补偿特性能根据实际情况调整,充分利用了单片机软件资源,在实际使用中收到了较好的效果。在采用了时间增益补偿电路后,回波信号幅度得到了相对的稳定。但由于压电陶瓷片的惯性、滞后等现象,及超声波脉冲在空气中传播本身存在的多重反射路径等现象,导致回波信号被展宽,造成了回波正确到达时间的不确定性,对测量精度造成较大的影响。另外由于各种障碍物反射率的不同,对超声波的吸收程度也不一致,在研究中发现仍会使回波信号幅度造成一定的波动,影响了时间检测的精度。因而须在回波信号处理上采取措施,以

57、消除所造成的误差。回波信号处理电路由包络检波电路和时间检测电路两部分组成。包络检波电路没有采用普通的二极管线性检波电路,由于二极管的正向导通电压不小于 0.5v,在检波 1v 以下的小信号时,误差很大。因此采用有源全波整流电路。即把二极管置于运算放大器的反馈回路中,即使输入电压的峰值小于 0.1v,检波性能仍十分精确,如图 2-17 所示基于单片机和 smc1602 的超声波测距系统设计22图 2-17 有源全波整流电路原理图电路由半波整流电路 a1 和反相加法运算放大器 a2 组成。在 r1=r2 的条件下,输入电压 ui 与 u1 的关系为: (2.6)0(0iiuu当 (2.7)0(ii

58、uuiu当ui与 u1 由反相加法放大器 a2 求和,在 ui0 时,u1=-ui,由于 r4=0.5r5,所以 uout=-2u1-ui,故有: (2.8)ioutuu这样,不论输入信号极性如何,输出信号总为正,实现了全波整流,电容 c 的作用是滤波,从而实现了线性包络检波,相当于把超声频率提高了 1 倍,即提高了时间分辨率,并克服了普通二极管检波电路存在着非线性等缺点。回波信号处理电路的关键部分是时间检测电路。通常的情形是采用具有固定阀值电平的比较器电路,将经过检波后的回波信号与一固定阀值电平在一比较器电路中进行比较,比较器输出的翻转时间就是回波到达时间,但由于回波信号被展宽及回波信号幅度

59、一定程度的波动,造成时间检测产生误差,因而在设计中把回波幅度的峰值时间点作为回波到达时间,即设置一微分电路和过零检测电路。xx 大学毕业设计(论文)- 23 - 第三章第三章 软件设计软件设计超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道 c 语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时) ,又要求精细计算程序运行时间(超声波测距时) ,所以控制程序可采用 c 语言和汇编语言混合编程。3.1 主程序流程图本超声测距系统的软件设计采用模块化设计,由主程

60、序、超声波发生子程序、超声波接收中断程序、温度补偿子程序及显示子程序组成。主程序流程图如图 3-1-1 所示。超声测距,最重要的就是对发射信号的控制及接收测量的时机控制.在设计中,at89c521 对发射的控制就是对 40khz 方波产生电路的控制。由 at89c51 的 p1.0 口控制超声波发射电路以 6 个脉冲的序列发射出去,在程序中用延时实现.脉冲发射同时打开定时器 t0 开始计时,发射后等待 1ms 打开外部中断 int0,等待回波反射到接收探头。等待 1ms 的原因是,超声波发射探头发射的超声波一般都会存在余波干扰,有部分声波会直接传到接收探头,经接收电路放大后,系统就会把它误认为

温馨提示

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

评论

0/150

提交评论