基于单片机LCD显示的超声波测距系统_第1页
基于单片机LCD显示的超声波测距系统_第2页
基于单片机LCD显示的超声波测距系统_第3页
基于单片机LCD显示的超声波测距系统_第4页
基于单片机LCD显示的超声波测距系统_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、广州大学BB学院毕业论文(设计)题 目 基于单片机LCD显示的超声波测距系统 学生姓名 XXX 学 号 1007020223 专业班级 10电气2班 导师姓名 胡 钧 二一四 年 六 月毕业论文原创性声明本人郑重声明:所呈交的毕业论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本毕业论文不包括任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名:20 年 月 日毕业论文版权使用授权书本毕业论文作者完全了解学校有关保障、使用毕业论文的规定,同意学校保留并向有关毕业论文管理部门或机构送交毕业论文的复印件和电子版,允许

2、毕业论文被查阅和借阅。本人授权优秀毕业论文评选机构将本毕业论文的全部或部分内容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文。本毕业论文属于 1、保密 囗,在10年解密后适用本授权书2、不保密囗。(请在以上相应方框内打“”)作者签名:20 年 月 日导师签名:20 年 月 日基于单片机LCD显示的超声波测距系统摘要:超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,它广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。本课题详细介绍了超声波传感器的原理和特性

3、,以及主要单片机的性能和特点,并在分析了超声波测距的原理的基础上,指出了设计测距系统的思路和所需考虑的问题,给出了以单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。该系统电路设计合理、工作稳定、性能良好、检测速度快、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。关键词: 超声波 测距 单片机Ultrasonic ranging system based on single-chip LCD displayAbstract:There are some advantages of ultrasonic. They are the stron

4、g directivity, the slow energy consumption, the long propagation length and so on. So in the use of Location scheme, which is combined with the sensor technology and automatic control technology. The ultrasonic ranging is the most commonly used than other Location schemes. Whats more, the ultrasonic

5、 ranging is also widely used in anti-theft, reversing radar, level measurement, building construction site and some industrial fields.This subject detailedly introduces that the principles and characteristics of ultrasonic sensor, the performances and characteristics of the main SCM. Besides, this s

6、ubject is also based on the analysis of the principle of ultrasonic distance measurement, points out the ideas of the ranging system, the considering questions, and gives the microcontroller, which as the core of the low cost, the high precision, miniaturization digital display hardware circuit and

7、software design method of ultrasonic range finder.The circuit of this system has reasonable design, stable operation, good performance, fast detection speed, simple calculation. In addition, this system is also easy to achieve real-time control, and meets the practical requirements of industry measu

8、rement .Keywords: ultrasonic distance measurement SC 目 录第一章 绪 论11.1,超声波测距系统的背景目的及重要意义11.2超声波测距的国内研究现状21.3超声波测距的测距方案和研究内容21.3.1基于单片机的超声波测距系统21.3.2本设计的超声波测距原理31.3.3本设计的超声波测距方法3第二章 系统的硬件结构设计52.1单片机的选择52.1.1 STC12C5A60S2单片机的主要性能62.1.2 STC12C5A60S2单片机的管脚说明72.1.3 STC12C5A60S2单片机IO口工作模式设定92.2 超声波测距模块HC-SR0

9、492.2.1超声波测距模块HC-SR04 的特点92.2.2超声波测距模块HC-SR04的电气参数102.2.3 采用超声波测距模块HC-SR04的原因102.3系统显示模块LCD1602102.3.1显示模块LCD1602的控制命令102.3.2 选择显示模块1602的原因112.4 本章小结12第三章 系统总体电路图133.1 STC12C5A60S2单片机的最小系统组成133.1.1时钟电路133.1.2 STC12C5A60S2单片机的最小系统143.2电源电路153.3超声波测距模块HC-SR04的电路图如下:163.3.1超声波测距模块HC-SR04的电路图163.3.2超声波测

10、距模块HC-SR04的引脚说明173.4显示模块LCD1602:173.4.1 显示模块LCD1602的电路图173.4.2 1602LCD的引脚说明18第四章 系统程序的设计204.1超声波测距系统流程图204.2超声波测距系统的各组成程序204.2.1超声波模块启动程序214.2.2 T0定时器距离计算程序214.2.3 T0中断用来计数器溢出程序214.2.4 系统主程序21设计总结23致 谢24参考文献25附录126本设计总电路图26附录227本设计总程序27第一章 绪 论1.1,超声波测距系统的背景目的及重要意义在历次人类文明的产业革命中,传感技术一直扮演着先行官的重要角色,它是贯穿

11、着各个应用技术领域的关键技术,它几乎都能涉及到我们可以想象的所有技术领域中,它是影响着人类在应用技术发展革命的方向标。传感器是世界各国争先发展的产业之一,在各国相关部门的共同努力下,传感器技术得到了飞速的发展和进步。但就目前的技术水平来说,人们可以具体利用的传感技术还十分有限,况且要把传感器普遍应用到人们的工作生活中,还需要不断的研发才能达到那种普遍应用的现象。因此,传感技术是一个正在蓬勃发展而又有无限前景的技术及产业领域。 随着科学技术的快速发展,超声波在传感器中的应用也越来越广泛。作为一种非接触式测距技术,超声波测距与其它非接触式的测距方式方法,如CCD探测、激光测距、雷达测距等相比,可以

12、直接测量近距离目标、适用范围广、纵向分辨率高、方向性强、并且具备不受烟雾、光线、电磁干扰等因素的干扰,且覆盖面较大等优点。超声波对于被测物体处于黑暗,有灰尘,烟雾,电磁干扰,有毒等恶劣的环境有一定的适应能力。因此在液位测量,机械手控制,车辆自动导航,物体识别等方面有广泛的应用。尤其是在空气测距的应用中,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辩力,因而其准确度也较其它方法高,而且超声波传感器具有结构简单,体积小,信号处理可靠等特点。超声波是一种指向性强,能量消耗慢的波。它在介质中传播的距离较远。因而超声波经常用于距离的测量,可解决超长度的测量。超

13、声波作为一种特殊的声波,同样具有声波传输的基本物理特性:反射、折射、干涉、衍射、散射。它与物理紧密的联系,应用灵活,所以更适合与高温,高粉尘,高湿度和高强电磁干扰等恶劣环境下工作。超声波作为一种非接触式测距技术,是利用计算超声波在被测物体和超声波探头之间的传输来测量距离的,测量过程中对被测目标无损害。超声波传播速度在相当大范围内与频率无关,在相关计算中相当灵活。所以,基于超声波的这些独特优点,使得超声波测距技术越来越受到人们的重视。因此本设计研究超声波测距系统的原理和应用具有着很大的现实意义。在理论以及设计基础上,对单片机理论知识的深化和提高,对个人动手能力的培养和提高,对分析问题和解决问题的

14、能力的锻炼和提高等等方面,都具有很大的学习实践意义。1.2超声波测距的国内研究现状目前,超声波技术的应用现已经初具规模,经过不断的研发,市场上超声波产品的精度可达到1MM、同时具有相当高稳定度,适合在大部分环境中使用。超声波技术的应用领域包括:测距、避障、机器人定位、曲面仿真等。尽管如此,超声波技术也存在一些急需攻克的问题,主要包括:1. 其测量精度的级别有待提高,测量距离不够远2. 在一些高精度或远距离的产品中的,超声波组成电路复杂,而且成本较高3. 超声波测距依然存在一定距离的育盲区。这些问题大大限制了超声波的发展和应用。针对上述存在的问题,国内外的相关人员也进行了努力的攻关,其研究方向主

15、要集中在以下几个方面:超声波回波处理、新型换能器研发、发射脉冲选取等等,并且提出了温度补偿、接收回路串入自动增益调节环节等,这些措施能有效地提高超声波的测距精度。目前,国内的研究成果主要有:超声波回波方面的处理,专用脉冲发生器,最小均方自适应时延估计算法,一体化换能器,升压变压器和采用功率驱动芯片等,这些技术的应用提高了超声波测距的精度和距离,所以超声波测量技术在不断地发展着。国内的超声波测量品牌有古大,飞鹰,百特等,他们的技术在国内处于领先地位,但相对于国外,仍有不少的距离。而在国外,超声测量技术也在迅速的发展,国外西门子,E+H,HAWK的产品比较齐全,质量比较稳定。1.3超声波测距的测距

16、方案和研究内容1.3.1基于单片机的超声波测距系统基于单片机的超声波测距系统,器原理是利用单片机产生频率为40kHz的方波,经过放大后,由超声波传感器发射端震荡而发射出超声波,超声波经反射物反射回来后,由超声波传感器接收端接收,再经放大和滤波后,控制单片机的中断口。其系统原理框图如下图表1:数字显示单片机发射模块接收模块发射接收管图表 1这种以单片机为核心的超声波测距系统是通过单片机记录超声波发射的时间和收到反射波的时间来计算测量距离。利用单片机的定时器计时,能提高测距精度和准确率,而且单片机控制方便,计算简单。所以,许多超声波测距系统都采用这种设计方法。1.3.2本设计的超声波测距原理通过上

17、一节的介绍,我们知道以单片机为核心的超声波测距系统具有设计简单、操作使用方便的特点,而且测量精度符合工业要求。本设计的测距系统就是以单片机为控制核心的。本设计的原理是超通过声波发射器向某一特定方向发射超声波,在发射的同时单片机开始计时,超声波在空气中传播,在途中碰到障碍物时就会立即反射回来,这时超声波接收器收到反射波就会立即停止计时,从超声波发射到接收的期间为一个时间周期,由于超声波在空气中的传播速度为V,根据计时器记录的时间周期t,通过计算就能计算出发射点到障碍物的距离。1.3.3本设计的超声波测距方法本设计系统是利用单片机控制超声波的发射和接收,并对超声波自发射至接收往返时间的计时。利用单

18、片机自带的定时器中断计数功能,当单片机启动超声波发射电路发射超声波时,单片机内部的定时器中断响应,当收到超声波的反射波时,单片机内的定时器中断停止。可以利用定时器的计数功能记录超声波发射的时间和收到反射波的时间,从而计算时间差,通过单片机的运算处理,计算出结果,并把测距结果输出到LCD显示。第二章 系统的硬件结构设计硬件电路的设计主要包括单片机系统、LCD显示电路、超声波发射和接收电路三部分。在单片机系统设计方面:单片机是以51系列单片机为控制核心的设计,时钟电路采用的是12MHZ高精度的晶振,以此来获得较为稳定的时钟信号,从而减少测量误差,选用的标准主要以稳定、快速、功能强大为主。在显示电路

19、设计方面:通过单片机的运算,计算出测量距离,并且对测量的结果显示出来,所以在输出方面需要采用一个显示电路。选用的标准主要以显示内容丰富、方便使用为主。在超声波发射和接收电路方面:可以充分利用超声波的特点,选择集成度比较高的发射和接收模块,以达到系统抗干扰、稳定,准确的的功能。2.1单片机的选择方案一:选用STC89C52单片机STC89C52单片机是STC公司生产的一种低功耗、高性能CMOS8位微控制器。该单片机使用经典的MCS-51内核,经过许多的改进后大大提高了其基于传统51单片机的功能。在单芯片上,该芯片拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控

20、制应用系统提供高灵活、超有效的解决方案。方案二 选用STC12C5A60S2单片机STC12C5A60S单片机是STC公司生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但运行速度要比传统8051快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S)。鉴于对这两种单片机的认识,我们会发现:STC12C5A60S2单片机由于其高速性、通用性,带有双路PWM I/O口和10位的高速ADC,4个16位定时器等特点,目前在市面上已经取代了8051系列单片机,成为市场上争先运用的主流。通

21、过本设计采用的STC12C5A60S2单片机,我们能更加巩固之前所学51系列单片机的知识,能更加熟悉运用此类单片机,能往更深层次的单片机学习和研究打下坚实的基础。本设计将对STC12C5A60S2单片机进行详细的介绍和应用。2.1.1 STC12C5A60S2单片机的主要性能STC12C5A60S2单片机的主要性能如下:1. 高速:1个时钟/机器周期,增强型8051内核,速度比普通8051快812倍2. 宽电压:5.53.3V3. 增加第二复位功能脚(高可靠复位,可调整复位门槛电压,频率<12MHz时,无需此功能)4. 增加外部掉电检测电路,可在掉电时,即时将数据保存进EEPROM,正常

22、工作时无需操作EEPROM5. 低功耗设计:空闲模式,(可由任意一个中断唤醒)6. 低功耗设计:掉电模式(可由外部中断唤醒),可支持下降沿/上升沿和远程唤醒7. 工作频率:035MHz,相当于普通8051:0420MHz8. 时钟:外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置9. 8/16/20/32/40/48/52/56/60/62K字节内Flash程序存储器,擦写数十万次以上10. 1280字节片内RAM数据存储器11. 芯片内EEPROM功能,擦写数十万次以上12. ISP/IAP,在系统可编程/在应用可编程,无需编程器/仿真器13. 8通道,10位高速ADC,速度可达

23、25万次/秒,2路PWM还可当2路D/A使用14. 2通道捕获/比较单元(PWM/PCA/CCP),也可以用来实现2个定时器或者2个外部中断(支持上升沿/下降沿中断)15. 4个16位定时器,兼容普通8051的定时器T0/T1,2路PCA实现2个定时器16. 可编程时钟输出功能,T0在P3.4输出时钟,T1在P3.5输出时钟,BRT在P1.0输出时钟17. 硬件看门狗(WDT)18. 高速SPI串行通信端口19. 全双工异步串行口(UART),兼容普通8051的串口20. 先进的指令集结构,兼容普通8051指令集,有硬件乘法/除法指令21. 通用I/O口(36/40/44个),复位后为:准双向

24、口/弱上拉(普通8051传统I/O口)22. 可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏。每个I/O口驱动能力均可达到20mA,但是整个芯片最大不得超过100mA2.1.2 STC12C5A60S2单片机的管脚说明STC12C5A60S2单片机的管脚图如图2.1所示:图2. 1主要引脚说明:P0.0P0.7 P0:P0口既可以作为输入/输出口,也可以作为地址/数据复用总线使用。当P0口作为输入/输出口时,P0是一个8位准双向口,内部有弱上拉电阻,无需外接上拉电阻。当P0作为地址/数据复用总线使用时,是低8位地址线A0A7,数据线D0D7;P1.0/ADC0/CLKO

25、UT2:标准IO口、ADC输入通道0、独立波特率发生器的时钟输出;P1.1/ADC1:标准IO口、ADC输入通道1;P1.2/ADC2/ECI/RxD2:标准IO口、ADC输入通道2、PCA计数器的外部脉冲输入脚,第二串口数据接收端;P1.3/ADC3/CCP0/TxD2:外部信号捕获,高速脉冲输出及脉宽调制输出、第二串口数据发送端;P1.4/ADC4/CCP1/SS:SPI同步串行接口的从机选择信号;P1.5/ADC5/MOSI :SPI同步串行接口的主出从入(主器件的输入和从器件的输出);P1.6/ADC7/SCLK :SPI同步串行接口的主入从出;P2.0P2.7: P2口内部有上拉电阻

26、,既可作为输入输出口(8位准双向口),也可作为高8位地址总线使用;P3.0/RxD:标准IO口、串口1数据接收端;P3.1/INT0:外部中断0,下降沿中断或低电平中断;P3.3/INT1:外部中断1;P3.4/T0/INT非/CLKOUT0:定时器计数器0外部输入、定时器0下降沿中断、定时计数器0的时钟输出。A/D转换器的结构STC12C5A60AD/S2系列带A/D转换的单片机的A/D转换口在P1口,有8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型IO口,用户可以通过软件

27、设置将8路中的任何一路设置为A/D转换,不须作为A/D使用的口可继续作为IO口使用。单片机ADC由多路开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器以及ADC_CONTER构成。该单片机的ADC是逐次比较型ADC。主次比较型ADC由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始,顺序地对每一输入电压与内置D/A转换器输出进行比较,经过多次比较,使转换所得的数字量逐次逼近输入模拟量对应值。逐次比较型A/D转换器具有速度高,功耗低等优点。需作为AD使用的口先将P1ASF特殊功能寄存器中的相应位置为1,将相应的口设置为模拟功能。2.1.3 STC12C5A60S2

28、单片机IO口工作模式设定STC12C5A60S2 系列单片机其所有I/O口均可由软件配置成4种工作类型之一。4种类型分别为:准双向口(标准8051 输出模式)、推挽输出、仅为输入(高阻)或开漏输出功能。STC12C5A60S2系列单片机上电复位后为准双向口(传统8051的I/0口)模式。每个口由2个控制寄存器中的相应位控制每个引脚工作类型。I/O口工作类型设定如表格1所示:表格 1PxM17:0PxM07:0I/O模式00准双向口 (传统 8051I/O口模式 ),灌电流可达20mA, 拉电流为230uA01推挽输出 (强上拉输出, 可达20mA, 要加限流电阻)10仅为输入 (高阻)11开漏

29、 (Open Dra in), 内部上拉电阻断开, 要外加值得注意的是,虽然每个I/O口在弱上拉时都能承受20mA的灌电流(还是要加限流电阻,如 1K,560等),在强推挽输出时都能输出20mA的拉电流(也要加限流电阻),但整个芯片的工作电流推荐不要超过55mA。即从MCU-VCC流入的电流不超过55mA,从MCU-GND流出电流不超过55mA,整体流入/流出电流都不能超过55mA。2.2 超声波测距模块HC-SR042.2.1超声波测距模块HC-SR04 的特点 HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达到3mm;模块包括超声波发射器、接收器与控

30、制电路。基本工作原理:1. 采用I0口TRIG触发测距,给至少10us的高电平信号;2. 模块自动发送8个40Khz的方波,自动检测是否有信号返回;3. 有信号返回,通过I0口的ECH0输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。2.2.2超声波测距模块HC-SR04的电气参数超声波测距模块HC-SR04的电气参数如表格2所示:表格 2电气参数HC-SR04超声波模块工作电压DC5V工作电流15mA工作频率40Hz最远射程4m最近射程2cm测量角度15度输入触发信号10S的TTL脉冲输出回响信号输出TTL电平信号,与射程成比列规格尺寸45*20*15mm2.2.3 采用超声波

31、测距模块HC-SR04的原因通过上述对超声波测距模块HC-SR04的认识和了解,本设计采用此模块的原因在于:该型超声波测距模块集成了包括超声波发射器、接收器与控制电路这三个主要测距电路,其高集成度之高,所以能大大地简化超声波测距电路的组成,而且该模块性能稳定,测度距离精确,高精度等特点,使得盲区超近(2cm),因此在市场上得到广泛应用。2.3系统显示模块LCD16022.3.1显示模块LCD1602的控制命令关于本设计采用何种显示模块来显示数据,在选择前,先介绍一下常用显示模块LCD1602的控制指令。1602液晶模块内部的控制器共有11条控制指令,如表格3所示:表格 3序号指令RSR/WD7

32、D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发射存贮器地址0001字符发射存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF 计数器地址10写数到CGRAM或DDRAM10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容2.3.2 选择显示模块1602的原因通过上述对LCD1602液晶显示模块的认识和了解,本设计采用此模块的原因在于:液晶显示模块具有体积小、功耗低

33、、显示内容丰富、超薄轻巧等优点,因此,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用,比传统的LED显示器件有很大的优势。现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了,而LCD1602就是字符型液晶显示模块,显示字母和数字比较方便,具有控制简单,较低成本,开发容易等的特点,能使整体电路更加的简化,方便操作。2.4 本章小结本章节为硬件设计,主要是为选择合适模块作为本设计的硬件组成。,由上所述,本系统选用STC12C5A60S2作为本系统的控制器,LCD1602为本系统的显示模块,HC-SR04为本系统的超声波发射/接收模块。第三章 系统总体电路图本系统是由电源电路、时

34、钟电路、单片机处理单元,超声波发射和接收电路,显示电路组成。系统整体结构图如图表2所示:单片机处理单元电源电路超声波发射和接收电路显示电路时钟电路图表 23.1 STC12C5A60S2单片机的最小系统组成STC12C5A60S2最小系统包括复位电路、晶振电路、电源和地。该最小系统的具有可供用户使用的大量I/O端口,内部存储器容量有限,应用系统开发具有特殊性等应用特点3.1.1时钟电路单片机的时钟电路又称为晶振电路。单片机的每个功能部件都是以时钟控制信号为基准的,不仅时钟频率影响单片机的速度,而且时钟电路的质量也直接影响单片机系统的稳定性。STC1205A60S2虽然有内部振荡电路,但要形成时

35、钟,必须外部附加电路。时钟电路如图3.1所示:图3. 1本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHZ到12MHZ之间选择。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,C3、C4可在20pF到100pF之间取值,在本设计中,振荡晶体选择12MHZ,电容选择30pF。在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。3.1.2 S

36、TC12C5A60S2单片机的最小系统单片机最小系统电路图如图3.2所示:图3. 23.2电源电路电源选用7805芯片构成一个输出+5V直流电压的稳压电源电路。7805稳压管能提供多种固定的输出电压,应用范围广。内含过流、过热和过载保护电路。带散热片时输出电流可达1A。IC采用集成稳压器7805,C6、C7分别为输入端和输出端滤波电容。在V1处输入+12V电压,在V0处得到+5V电压。7805的主要特点:1. 输入电压为518V ,最高可达35V2. 输出电压:5V3. 输出电流可达:1A4. 具有短路保护功能5. 具有过热保护功能6. 输出晶体管SOA保护7. 极限值(T=25)8. 接到空

37、气的热阻:65/W9. 接到壳的热阻:5/W10. 温度工作范围:012511. 温度贮存范围:65150直流电压的稳压电源电路如图3.3所示:图3. 33.3超声波测距模块HC-SR04的电路图如下:3.3.1超声波测距模块HC-SR04的电路图超声波测距模块HC-SR04的电路图如图3.4所示:图3. 43.3.2超声波测距模块HC-SR04的引脚说明超声波测距模块HC-SR04的引脚功能如表格4所示:表格 4引脚名称引脚说明VCC5V电源GND电源地TRIG触发控制信号输入ECH0回响信号输出其中,引脚TRIG为单片机TX输入/输出口,ECH0为单片机RX输入/输出口。3.4显示模块LC

38、D1602:3.4.1 显示模块LCD1602的电路图显示模块LCD1602的电路图如图3.5所示:图3. 53.4.2 1602LCD的引脚说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表格5所示:表格 5引脚编号引脚符号引脚说明引脚编号引脚符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极引脚接口主要说明:第1引脚:VSS为地电源。第2引脚:VDD接5V正电源。第3

39、引脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4引脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5引脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6引脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714引脚:D0D7为8位双向数据线。第15引脚:背光源正极。第16引脚:背光源负极。 第

40、四章 系统程序的设计4.1超声波测距系统流程图超声波测距系统流程图如图表3所示:开始系统初始化模块启动,发射超声波脉冲当RX=0时,TR0=1开始计数接受到反射超声波当RX=1时TR0=0关闭计数计算距离LCD上显示距离图表 34.2超声波测距系统的各组成程序本设计是基于单片机的超声波测距。利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,T0中断用来计数器溢出,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波的反射波时,中断溢出标志为零,读取时间差,计算出距离。本章将重点分析超声波测距系统的

41、各子程序的组成。4.2.1超声波模块启动程序void StartModule() /启动模块 TX=1; for(i=0;i<10;i+) /启动一次模块 _nop_(); TX=0; 4.2.2 T0定时器距离计算程序void Conut(void) time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.7)/100; /算出来是CM4.2.3 T0中断用来计数器溢出程序void zd0() interrupt 1 /T0中断用来计数器溢出,超过测距范围 flag=1; /中断溢出标志StartModule(); 4.2.4 系统主程序根据程序流程图,主程

42、序的设计如下:while(1) TMOD=0x01; /设T0为方式1,GATE=1; TH0=0; TL0=0; ET0=1; /允许T0中断 EA=1; /开启总中断while(1) StartModule();/ DisplayOneChar(0, 1, ASCII0); while(!RX);/当RX为零时等待 TR0=1; /开启计数 while(RX);/当RX为1计数并等待 TR0=0;/关闭计数 Conut();/计算 delayms(120);/80MS 设计总结本设计为基于单片机LCD显示的超声波测距系统。本系统采用单片机STC12C5A60S2作为控制器,主要电路包括超声

43、波发射电路、超声波接收电路、显示电路。本系统的设计目的是利用超声波的特点来实现非接触式测距的功能。利用超声波指向性强、传播距离远、抗干扰能力强,具有声波性质的特点实现超声波准确测距的功能。超声波发射/接收模块HC-SR04具有结构简单,体积小,信号处理可靠等特点,能有效地达到简化电路的作用和提高超声波的测距精度,更好的应用于工业生产,建筑工程,航天等重要领域中。这种非接触式测距将会大大方便人们的测量工作。通过本次的设计,我对单片机应用知识的掌握程度提高了不少,同时也了解到目前工业生产中对测量精度的需求,使我对使用单片机实现有效控制的设计过程有了全面地了解。通过学习控制系统工作原理以及如何利用单

44、片机实现各种功能,我通过网络查阅了大量相关的资料,学会了许多相关的知识,培养了我独立解决问题的能力。同时在对硬件电路设计的过程中,巩固了我的专业课知识,使自己受益匪浅。总之,通过本次设计不仅进一步强化了专业知识,还掌握了设计系统的方法、步骤等,为今后的工作和学习打下了坚实的基础。致 谢经过半学期的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有老师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。本文能够顺利完成首先要感谢我的导师cc老师。老师平日里工作繁多,但在我做毕业设计的每个阶段,胡老师都会督促我毕业

45、设计,并对我的毕业设计提供一切帮助。除了敬佩老师的专业水平和责任心外,老师的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。最后感谢学院四年来对我的大力栽培,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!参考文献1郭天祥. 新概念51单片机C语言教程.入门、提高、开发 M电子工业出版社2鲁刚强. 基于液晶显示器的单片机系统设计 J科技资讯3徐玮. 51单片机综合学习系统1602字符型液晶显示篇 J电子制做4高鹏等. PROTEL99入门与提高 J人民邮政电出版社5徐爱均. 单片机高级语言C51应用程序设计 J电子工业出版社6张谦琳. 超声

46、波检测原理和方法 M中国科技大学出版社附录1本设计总电路图附录2本设计总程序#include "STC12C5A60S2.H"/器件配置文件#include <intrins.h>sbit RX = P11;sbit TX = P10;sbit LCM_RW = P21; /定义LCD引脚sbit LCM_RS =P20;sbit LCM_E = P22;#define LCM_Data P0 #define Busy 0x80 /用于检测LCM状态字中的Busy标识void LCMInit(void);void DisplayOneChar(unsigned

47、char X, unsigned char Y, unsigned char DData);void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);void Delay5Ms(void);void Delay400Ms(void);void Decode(unsigned char ScanCode);void WriteDataLCM(unsigned char WDLCM);void WriteCommandLCM(unsigned char WCLCM,BuysC);unsigne

48、d char ReadDataLCM(void);unsigned char ReadStatusLCM(void);unsigned char code mcustudio =""unsigned char code email = "fhwxaoo "unsigned char code Cls = " "unsigned char code ASCII15 = '0','1','2','3','4','5','6',&

49、#39;7','8','9','.','-','M'int i;static unsigned char DisNum = 0; /显示用指针 unsigned int time=0; unsigned long S=0; bit flag =0; unsigned char disbuff4 = 0,0,0,0,;/写数据void WriteDataLCM(unsigned char WDLCM) ReadStatusLCM(); /检测忙LCM_Data = WDLCM;LCM_RS = 1;LCM_R

50、W = 0;LCM_E = 0; /若晶振速度太高可以在这后加小的延时LCM_E = 0; /延时LCM_E = 1;/写指令void WriteCommandLCM(unsigned char WCLCM,BuysC) /BuysC为0时忽略忙检测if (BuysC) ReadStatusLCM(); /根据需要检测忙LCM_Data = WCLCM;LCM_RS = 0;LCM_RW = 0;LCM_E = 0;LCM_E = 0;LCM_E = 1;/读数据unsigned char ReadDataLCM(void)LCM_RS = 1; LCM_RW = 1;LCM_E = 0;LC

51、M_E = 0;LCM_E = 1;return(LCM_Data);/读状态unsigned char ReadStatusLCM(void)LCM_Data = 0xFF; LCM_RS = 0;LCM_RW = 1;LCM_E = 0;LCM_E = 0;LCM_E = 1;while (LCM_Data & Busy); /检测忙信号return(LCM_Data);void LCMInit(void) /LCM初始化LCM_Data = 0;WriteCommandLCM(0x38,0); /三次显示模式设置,不检测忙信号Delay5Ms(); WriteCommandLCM(0x38,0);Delay5Ms(); WriteCommandLCM(0x38,0);Delay5Ms(); WriteCommandLCM(0x38,1); /显示模式设置,开始要求每次检测忙信号WriteCommandLCM(0x08,1); /关闭显示W

温馨提示

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

评论

0/150

提交评论