温度与液位控制系统毕业论文.docx

上传人:风**** 文档编号:990699 上传时间:2024-03-20 格式:DOCX 页数:43 大小:3.32MB
下载 相关 举报
温度与液位控制系统毕业论文.docx_第1页
第1页 / 共43页
温度与液位控制系统毕业论文.docx_第2页
第2页 / 共43页
温度与液位控制系统毕业论文.docx_第3页
第3页 / 共43页
温度与液位控制系统毕业论文.docx_第4页
第4页 / 共43页
温度与液位控制系统毕业论文.docx_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、本科毕业论文温度与液位控制系统设计二 级 学 院机械与电子工程学院专 业通信工程年 级2010 级学 号学 生 姓 名指 导 教 师职 称 完 成 时 间2010年03月31 日 独 创 性 声 明本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。签名: 年月日授权声明本人完全理解贺州学院有关保留、使用本科生毕业论文(设计)的规定,即:学院有权保留并向国家有关部门或机构送交毕业论文(设计)的复印

2、件和磁盘,允许毕业论文(设计)被查阅和借阅。本人授权贺州学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。本人论文(设计)中有原创性数据需要保密的部分为:无。签 名: 年月日指导教师签名: 年月日目录摘要:4第一章 绪论51.1概述51.2设计要求5第二章 元器件介绍及硬件电路设计62.1系统方案概述62.2电源电路62.3复位电路和晶振电路72.4温度传感器92.4.1 DS18B20 的主要特性92.4.2 DS18B20的外形和内部结构102.4.3 DS18B20 工作原理112.4.4 DS18B20 有 4个

3、主要的数据部件122.4.5高速暂存存储器142.4.6 DS18B20工作过程及时序152.5 超声波模块202.5.1超声波模块原理图202.5.2 超声波模块主要技术参数212.5.3 超声波模块工作原理212.5.4超声波模块时序图222.5.5实物规格222.6 LCD1602液晶显示232.6.2 LCD1602指令说明及时序252.6.3 LCD1602的RAM地址映射及标准字库表282.6.4LCD1602的一般初始化(复位)过程292.6.5 程序流程图302.7 蜂鸣器302.8 驱动芯片ULN2003A322.8.1 ULN2003A特点及主要应用领域322.8.2 UL

4、N2003A的典型应用33第三章 软件设计333.1 框架图333.2 各个部分驱动代码简介343.2.1 超声波测距驱动代码343.2.2 LCD1602驱动代码343.2.3 温度传感器DS18b20驱动代码37第四章 系统的开发环境394.1 C语言简介394.1.1 C语言开发环境394.1.2 C语言的程序结构414.3 Keil软件简介424.3.1 Keil开发环境424.3.2 Keil C51开发系统基本知识42第五章 制作实物和调试软件常见问题及解决方案435.1 实物问题与解决方案435.1.1 单片机晶振不起振435.1.2 水泵不抽水与蜂鸣器不响435.2 软件调试问

5、题及其解决方案445.2.1 如何将程序烧到水位控制板上的单片机中445.2.2 一般常用程序的编写错误分析44参考文献46附 录47附录一 硬件原理图47附录三 焊接实物图48附录四 程序代码481温度与液面控制系统设计作 者 黄贤龙指导老师 李碧青摘要:随着科技的不断发展和人们生活水平的不断提高,许多智能设备不断的出现在人们的日常生活中,而本设计也是应世而出的。本设计的重要组成部分是电源、温度传感器、超声波传感器、LCD1602液晶显示器和驱动芯片等。本设计实现的功能是对容器内液体的温度和高度实时的监测,并能在液面过高和过低实现报警和处理,也能在液体温度过低实现报警和液体温度过高实现报警和

6、处理。本设计的应用范围非常广泛,它不但可以运用于液面的控制上,也可以当液体降温系统使用,如大型发动机、大型电机等一系列需要进行降温处理的设备,还可以运用于太阳能热水器上。关键词:超声波测距,温度传感器,驱动芯片Design of temperature and liquid level control systemABSTRACT:With the development of science and technology and the continuous improvement of peoples living standards, many smart devices appear

7、in peoples daily lives, and this design is also out. An important part of this design is the power supply, temperature sensors, Ultrasonic sensors, LCD1602 LCD and driver IC. This design feature is a container of liquid temperature and altitude in real time monitoring and realization in high and low

8、 liquid level alarm and also in the liquid temperature is too low for alarm and alarm and liquid temperature too high to achieve processing. This design is very wide range of applications, which can be applied not only on the liquid surface control, can be either liquid cooling system is used, such

9、as large motors, a series of large motor cooling equipment is needed, and can also be used in solar water heaterKeywords: Ultrasonic distance measurement, temperature sensors, driver IC绪 论1.1 概述众所皆知,高温对于一些设备的危害是非常严重的,就拿发动机来说:发动机工作时,气缸内的气体温度可高达17272527C,若不及时冷却,将造成发动机零部件温度过高,尤其是直接与高温气体接触的零件,会因受热膨胀影响正常

10、的配合间隙,导致运动件受阻甚至卡死。此外,高温还会造成发动机零部件的机械强度下降,使润滑油失去作用等。所以给某些特殊的发动机配备一个降温系统是很重要的。目前,中国已成为世界上最大的太阳能热水器生产国,年产量约为世界各国之和,已有一百多家太阳能热水器生产厂,但与之配套的控制器却远远落后于发达国家。而且有些还配备了加热功能,但却由于温度的监控等一些问题没有解决好,造成了很大的电能浪费。本设计采用8051单片机控制为主控芯片、配合超声波测距模块、温度传感器等装置可以准确达到对液面智能化监控和温度监视的目的。1.2 设计要求1):设计一个系统,能够检测容器内液体实时温度和液面实时高度,系统接通电源后,

11、电源绿色指示灯亮起。2):用显示屏准确显示出温度和液面高度。3):系统还要求具有温度、液面过低、过高报警!报警状态为蜂鸣器响起,红色指示灯亮起。警报解除后指示灯熄灭,蜂鸣器不响。4):要求容器内液面低于液面最低警报值时,系统发出警报后,系统能为容器加水,直到达到液面最高警报值,系统停止加水;容器液面高于液面最高警报值时,发出警报后,系统能自动放水,直到达到最高警报值,系统停止放水。5):当液体温度过高时,系统能够智能地控制水的放出和进入以换水的形式来维持水的正常温度。6):系统可以人工自由设置温度的过高报警值和温度过低警报值、液面过高报警值和液面过低报警值。第二章 元器件介绍及硬件电路设计2.

12、1 系统方案概述指示灯温度传感器STC89C52显示器蜂鸣器超声波模块水泵继电器按键 图2.1系统框图下面对系统进行详细介绍:传感器部分,DS18B20温度传感器负责采集液面的温度;HC-SR04超声波测距模块负责测量液面的高度;LCD1602液晶显示器用于显示温度值、液面值、报警值;蜂鸣器用于报警液面、温度是否超过警报值 ;系统通过温度传感器和超声波测距模块的测量,将测量得到的值与用户给定的值进行比较,然后控制水泵的开关来达到对容器液面、温度的控制。2.2 电源电路采用三端稳压集成电路LM7805为系统的电源芯片,如图2.21所示,三端稳压集成电LM7805。电子产品中,常见的三端稳压集成电

13、路有正电压输出的lm78 系列和负电压输出的lm79系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。使用lm78/lm79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。 图2.21三端稳压集成电路LM7805为系统的电源芯片 图2.22LM7805应用电路水泵的工作电流:65MA-500MA;LCD1602液晶显示器的工作电流:2MA-50MA;超声波模块工作电流:15MA;LED工作电流:10MA -20MA。经分析系统用9v电压工作时的工作电流小于1000ma,

14、 7805符合要求2.3 复位电路和晶振电路 图2.31复位电路 图2.32晶振电路单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。STC系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期24个振荡周期以上,则CPU就可以响应并将系统复位。如图2.31所示,单片机系统的复位方式有:手动按钮复位和上电复位。手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源VCC之间接一个按钮。当人为按下按钮时,则VCC的+5V电平就会直

15、接加到RST端。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。STC系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。如图2.32所示,单片机系统的复位方式有:手动按钮复位和上电复位。时钟在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外

16、接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路。外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。外部振荡方式的外部电路如图2.32所示。图中电容器CAP起稳定振荡频率、快速。2.4 温度传感器图2.41温度传感器DS18b20图2.42温度传感器DS18B20的应用电路温度传感器采用美国Dallas 半导体公司的数字化温度传感器DS18B20,采用导热性高的密封胶灌封,保证了温度传感器的高灵敏性和极小的温度延迟,如图2.41所示。2.4.1 DS18B20 的主要特性(1)适应电压范围更宽,电压范围:3.05.5V,在寄

17、生电源方式下可由数据线供电 (2)独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯 (3)DS18B20 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温(4)DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内(5)温范围55125,在-10+85时精度为0.5 (6)可编程的分辨率为 912 位,对应的可分辨温度分别为 0.5、0.25、0.125和 0.0625,可实现高精度测温 (7)在 9 位分辨率时最多在 93.75ms 内把温度转换为数字,12

18、位分辨率时最多在 750ms 内把温度值转换为数字,速度更快 (8)测量结果直接输出数字温度信号,以一线总线串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力 (9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。2.4.2 DS18B20的外形和内部结构DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和TL、配置寄存器。DS18B20 的外形及管脚排列如下图2.4.21图 2.4.21 DS18B20 外形及引脚排列图 DS18B20 引脚定义: (1)DQ 为数字信号输入/输出端; (2)GND

19、 为电源地; (3)VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。 图2.4.22DS18B20内部结构2.4.3 DS18B20工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。DS18B20测温原理如图2.4.3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当

20、计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2.4.3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图2.4.3 S18B20测温原理2.4.4 DS18B20 有 4个主要的数据部件(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,

21、最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 (2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制,补码读数形式提供,以0.0625/LSB形式表达,其中S 为符号位。表2.4.41 DS18B20的温度值格式表表2.4.41是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0

22、,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为 07D0H,+25.0625的数字输出为 0191H,-25.0625的数字输出为 FF6FH,-55的数字输出为FC90H。表2.4.42 DS18B20温度数据表(3)DS18B20温度传感器的存储器:DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除和EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。表2.4.43配置寄存器结构(4)配置寄存器该字节各位的意义如下:低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模

23、式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表2.4.44所示:(DS18B20 出厂时被设置为 12 位)表2.4.44温度分辨率设置表2.4.5 高速暂存存储器高速暂存存储器由9个字节组成,其分配如表2.4.51所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表2.4.41所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表2.4.42所示是对应的一部分温度值。第

24、九个字节是冗余检验字节。表2.4.51 DS18B20 暂存寄存器分布根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待 1660 微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。表2.4.52ROM指令表 表2.4.53ROM指令表2.4.6 DS18B20工作过程及时序DS18B20工作过程一般遵循以下协议:

25、初始化ROM操作命令存储器操作命令处理数据 初始化:单总线上的所有处理均从初始化序列开始。初始化序列包括总线主机发出一复位脉冲,接着由从属器件送出存在脉冲。存在脉冲让总线控制器知道DS1820 在总线上且已准备好操作。 ROM操作命令一旦总线主机检测到从属器件的存在,它便可以发出器件ROM操作命令之一。所有ROM操作命令均为8位长。 这些命令列表如下:Read ROM(读ROM)33h此命令允许总线主机读DS18B20的8位产品系列编码,唯一的48位序列号,以及8位的CRC。此命令只能在总线上仅有一个DS18B20的情况下可以使用。如果总线上存在多于一个的从属器件,那么当所有从片企图同时发送时

26、将发生数据冲突的现象(漏极开路会产生线与的结果)。Match ROM(符合ROM)55h此命令后继以64位的ROM数据序列,允许总线主机对多点总线上特定的DS18B20寻址。只有与64位ROM序列严格相符的DS18B20才能对后继的存贮器操作命令作出响应。所有与64位ROM序列不符的从片将等待复位脉冲。此命令在总线上有单个或多个器件的情况下均可使用。Skip ROM(跳过ROM)CCh在单点总线系统中,此命令通过允许总线主机不提供64位ROM编码而访问存储器操作来节省时间。如果在总线上存在多于一个的从属器件而且在Skip ROM命令之后发出读命令,那么由于多个从片同时发送数据,会在总线上发生数

27、据冲突(漏极开路下拉会产生线与的效果)。 Search ROM(搜索ROM)F0h当系统开始工作时,总线主机可能不知道单线总线上的器件个数或者不知道其64位ROM编码。搜索ROM命令允许总线控制器用排除法识别总线上的所有从机的64位编码。 Alarm Search(告警搜索)ECh此命令的流程与搜索ROM命令相同。但是,仅在最近一次温度测量出现告警的情况下,DS18B20才对此命令作出响应。告警的条件定义为温度高于TH或低于TL。只要DS18B20一上电,告警条件就保持在设置状态,直到另一次温度测量显示出非告警值或者改变TH或TL的设置,使得测量值再一次位于允许的范围之内。贮存在EEPROM内

28、的触发器值用于告警。 存储器操作命令 Write Scratchpad(写暂存存储器)4Eh这个命令向DS18B20的暂存器中写入数据,开始位置在地址2。接下来写入的两个字节将被存到暂存器中的地址位置2和3。可以在任何时刻发出复位命令来中止写入。 Read Scratchpad(读暂存存储器)BEh这个命令读取暂存器的内容。读取将从字节0开始,一直进行下去,直到第9(字节8,CRC)字节读完。如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。 Copy Scratchpad(复制暂存存储器)48h这条命令把暂存器的内容拷贝到DS18B20的E2存储器里,即把温度报警触发字节存入

29、非易失性存储器里。如果总线控制器在这条命令之后跟着发出读时间隙, 而DS18B20又正在忙于把暂存器拷贝到E2存储器,DS18B20就会输出一个“0”,如果拷贝结束的话,DS18B20 则输出“1”。如果使用寄生电源,总线控制器必须在这条命令发出后立即起动强上拉并最少保持10ms。 Convert T(温度变换)44h这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后DS18B20保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙,而DS18B20又忙于做时间转换的话,DS18B20将在总线上输出“0”,若温度转换完成,则输出“1”。如果使用寄生电源,总线控制器必须在发出

30、这条命令后立即起动强上拉,并保持500ms。 Recall E2(重新调整E2)B8h这条命令把贮存在E2中温度触发器的值重新调至暂存存储器。这种重新调出的操作在对DS18B20上电时也自动发生,因此只要器件一上电,暂存存储器内就有了有效的数据。在这条命令发出之后,对于所发出的第一个读数据时间片,器件会输出温度转换忙的标识:“0”=忙,“1”=准备就绪。 Read Power Supply(读电源)B4h对于在此命令发送至DS18B20之后所发出的第一读数据的时间片,器件都会给出其电源方式的信号:“0”=寄生电源供电,“1”=外部电源供电。 处理数据:DS18B20的高速暂存存储器由9个字节组

31、成。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。表2.4.42是DS18B20温度采集转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于或等于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于 0.0625即可得到实际温度。温度转换计算方法举例:例如当DS18B20采集到+125的实际温度后,输出为07D0H,则:实际温度=07D0H0.0625=20

32、000.0625=1250C。例如当DS18B20采集到-55的实际温度后,输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作为计算),则:实际温度=370H0.0625=8800.0625=550C。图2.4.61复位时序图1).复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在1560uS后回发一个芯片的存在脉冲。 2).存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560uS后接收存在脉冲,存在脉冲为一个60240uS的低电平信号。至

33、此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。 3).控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指

34、令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。4).控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。 5).执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执

35、行其指令,一般转换时间为500uS。若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。图2.4.62写时序图6).写时间隙:写时间隙分为写“0”和写“1”。在写数据时间隙的前15uS总线需要是被控制器拉置低电平,而后则将是芯片对总线数据的采样时间,采样时间在1560uS,采样时间内如果控制器将总线拉高则表示写“1”,如果控制器将总线拉低则表示写“0”。每一位的发送

36、都应该有一个至少15uS的低电平起始位,随后的数据“0”或“1”应该在45uS内完成。整个位的发送时间应该保持在60120uS,否则不能保证通信的正常。图2.4.63读时序图7).读时间隙:读时间隙时控制时的采样时间应该更加的精确才行,读时间隙时也是必须先由主机产生至少1uS的低电平,表示读时间的起始。随后在总线被释放后的15uS中DS18B20会发送内部数据位,这时控制如果发现总线为高电平表示读出“1”,如果总线为低电平则表示读出数据“0”。每一位的读取之前都由控制器加一个起始信号。注意:如图2.4.63所示,必须在读间隙开始的15uS内读取数据位才可以保证通信的正确。在通信时是以8位“0”

37、或“1”为一个字节,字节的读或写是从高位开始的。2.5 超声波模块图2.51超声波模块本模块性能稳定,测度距离精确。能和国外的SRF05,SRF02等超声波测距模块相媲美。模块高精度,盲区(2cm)超近,测距稳定。2.5.1 超声波模块原理图图2.5.1超声波模块原理图2.5.2 超声波模块主要技术参数:使用电压:DC5V;:静态电流:小于2mA;:电平输出:高5V;:电平输出:底0V;:感应角度:不大于15度;:探测距离:2cm-450cm;:高精度可达0.2cm;:接线方式:VCC、TRIG(控制端)、ECHO(接收端)、GND。2.5.3 超声波模块工作原理(1)采用IO触发测距,给至少

38、10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间图2.5.3超声波模块工作原理2.5.4 超声波模块时序图图2.5.41超声波模块时序图图2.5.41表明只需要提供一个10uS以上脉冲触发信号,该模块内部将发出8个40KHz周期电平并检测回波。一旦检测到回波信号则输出回响信号。由此可知,只需要知道发射信号与回响信号的时间间隔即可计算得到发射位置与障碍物之间的距离。计算公式:测量距离=(高电平时间*声速(340M/S)/2;图2.5.42超声波测距模块实物规格2.6 LCD1

39、602的基本参数及引脚功能图2.61 LCD1602的使用电路图LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图2.62所示图2.62 LCD1602尺寸图LCD1602主要技术参数:显示容量:162个字符;芯片工作电压:4.55.5V;工作电流:2.0mA(5.0V);模块最佳工作电压:5.0V;字符寸:2.954.35(WH)mm引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2.6所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VD

40、D电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表2.6引脚接口说明引脚接口说明:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电

41、平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。2.6.2 LCD1602指令说明及时序序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存

42、贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容表2.6.21 LCD1602指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表2.6.2所示:控制命令表:1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字

43、是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标。B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令。DL:高电平时为4位总线,低电平时为8位总线。N:低电平时为单行显示,高电平时双行显示。F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高

44、电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。与HD44780相兼容的芯片时序表如下:读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无表2.6.22基本操作时序表图2.6.21读操作时序图2.6.22写操作时序2.6.3 LCD1602的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,下图2.6.3是1602的内部显示地址。图2.6.3 1602LCD内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 建筑施工 > 建筑节能

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922