




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.1概述5匍勿、7附本科毕业论文温度与液位控制系统设计二级学院机械与电子工程学院专业通信工程年级2010 级学号学生姓名指导教师职称讲师完成时间2010年03月31日独创性声明本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得 的研究成果。除了文中特别加以注释和致谢的地方外,论文(设计)中不包含 其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何 贡献均已在论文(设计)中作了明确的说明并表示了谢意。签名:年月日授权声明本人完全理解贺州学院有关保留、使用本科生毕业论文(设计)的规定, 即:学院有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和 磁盘,允
2、许毕业论文(设计)被查阅和借阅。本人授权贺州学院可以将毕业论 文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印 或扫描等复制手段保存、汇编论文(设计)。本人论文(设计)中有原创性数据需要保密的部分为:无。签名:年月日指导教师签名:年月日目录摘要:4第一章绪论5 TOC o 1-5 h z 1.2设计要求 5 HYPERLINK l bookmark16 o Current Document 第二章元器件介绍及硬件电路设计 62.1系统方案概述 62.2电源电路 62.3复位电路和晶振电路 72.4温度传感器 9DS18B20 的主要特性 9DS18B20的外形和内部结构 1
3、0DS18B20 工作原理11DS18B20 有4个主要的数据部件 122.4.5高速暂存存储器 142.4.6 DS18B20 工作过程及时序 15超声波模块 202.5.1超声波模块原理图 20超声波模块主要技术参数 212.5.3超声波模块工作原理 212.5.4超声波模块时序图 222.5.5实物规格22LCD1602 液晶显示 23LCD1602 指令说明及时序 25LCD1602 的RAM地址映射及标准字库表 282.6.4LCD1602的一般初始化(复位)过程 29程序流程图30蜂鸣器 30驱动芯片 ULN2003A 32ULN2003A特点及主要应用领域 32ULN2003A
4、的典型应用33 HYPERLINK l bookmark28 o Current Document 第三章软件设计333.1框架图 333.2各个部分驱动代码简介 343.2.1超声波测距驱动代码 34LCD1602 驱动代码34温度传感器DS18b20驱动代码37第四章系统的开发环境 394.1 C语言简介4.1.1 C语言开发环境3939414.1.2 C语言的程序结构 4.3Keil软件简介424.3.1 Keil开发环境424.3.2 Keil C51开发系统基本知识42第五章制作实物和调试软件常见问题及解决方案.435.1实物问题与解决方案435.1.1单片机晶振不起振 435.1.
5、2水泵不抽水与蜂鸣器不响.435.2软件调试问题及其解决方案445.2.1如何将程序烧到水位控制板上的单片机中445.2.2一般常用程序的编写错误分析44参考文献.46附录.47附录硬件原理图47附录三焊接实物图48附录四程序代码48温度与液面控制系统设计摘要:随着科技的不断发展和人们生活水平的不断提高,许多智能设备不断的出现在人们的日常生活中,而本设计也是应世而出的。本设计的重要组成部分是 电源、温度传感器、超声波传感器、LCD1602液晶显示器和驱动芯片等。本设 计实现的功能是对容器内液体的温度和高度实时的监测,并能在液面过高和过 低实现报警和处理,也能在液体温度过低实现报警和液体温度过高
6、实现报警和 处理。本设计的应用范围非常广泛,它不但可以运用于液面的控制上,也可以当 液体降温系统使用,如大型发动机、大型电机等一系列需要进行降温处理的设 备,还可以运用于太阳能热水器上。关键词:超声波测距,温度传感器,驱动芯片Desig n of temperature and liquid levelcon trol systemABSTRACTWith the developme nt of scie nee and tech no logy and the con ti nu ous improveme nt of peoples livi ng sta ndards, many sma
7、rt devices appear in peoples daily lives, and this desig n is also out. An importa nt part of this desig n is the power supply, temperature sen sors, Ultrasonic sensors, LCD1602 LCD and driver IC. This design feature is a container of liquid temperature and altitude in real time monitoring and reali
8、zation in high and low liquid level alarm and also in the liquid temperature is too low for alarm and alarm and liquid temperature too high to achieve process ing. This desig n is very wide range of applicati ons, which can be applied not only on the liquid surface con trol, can be either liquid coo
9、li ng system is used, such as large motors, a series of large motor cooli ng equipme nt is n eeded, and can also be used in solar water heaterKeywords: Ultras onic dista nee measureme nt, temperature sen sors, driver IC概述众所皆知,高温对于一些设备的危害是非常严重的,就拿发动机来说:发动机工作时,气缸内的气体温度可高达 17272527C若不及时冷却,将造成发动 机零部件温度过
10、高,尤其是直接与高温气体接触的零件,会因受热膨胀影响正 常的配合间隙,导致运动件受阻甚至卡死。此外,高温还会造成发动机零部件 的机械强度下降,使润滑油失去作用等。所以给某些特殊的发动机配备一个降 温系统是很重要的。目前,中国已成为世界上最大的太阳能热水器生产国,年产量约为世界各 国之和,已有一百多家太阳能热水器生产厂,但与之配套的控制器却远远落后 于发达国家。而且有些还配备了加热功能,但却由于温度的监控等一些问题没 有解决好,造成了很大的电能浪费。本设计采用8051单片机控制为主控芯片、配合超声波测距模块、温度传感 器等装置可以准确达到对液面智能化监控和温度监视的目的。设计要求:设计一个系统,
11、能够检测容器内液体实时温度和液面实时高度,系统 接通电源后,电源绿色指示灯亮起。:用显示屏准确显示出温度和液面高度。:系统还要求具有温度、液面过低、过高报警!报警状态为蜂鸣器响起, 红色指示灯亮起。警报解除后指示灯熄灭,蜂鸣器不响。:要求容器内液面低于液面最低警报值时,系统发出警报后,系统能为 容器加水,直到达到液面最高警报值,系统停止加水;容器液面高于液面最高 警报值时,发出警报后,系统能自动放水,直到达到最高警报值,系统停止放 水。:当液体温度过高时,系统能够智能地控制水的放出和进入以换水的形 式来维持水的正常温度。:系统可以人工自由设置温度的过高报警值和温度过低警报值、液面过 高报警值和
12、液面过低报警值。第二章元器件介绍及硬件电路设计系统方案概述STC89C52图2.1系统框图下面对系统进行详细介绍:传感器部分,DS18B20温度传感器负责采集液面的温度;HC-SR04超声波测距模块负责测量液面的高度;LCD1602液晶显示器 用于显示温度值、液面值、报警值;蜂鸣器用于报警液面、温度是否超过警报 值;系统通过温度传感器和超声波测距模块的测量,将测量得到的值与用户给 定的值进行比较,然后控制水泵的开关来达到对容器液面、温度的控制。电源电路采用三端稳压集成电路LM7805为系统的电源芯片,如图2.21所示,三端 稳压集成电LM7805电子产品中,常见的三端稳压集成电路有正电压输出的
13、 lm78 XX系列和负电压输出的lm79XX系列。顾名思义,三端IC是指这种 稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。使用Im78/lm79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部 还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。1 输入* INPUT2 地,GND3 输;lb OUTPUT图2.31复位电路单片机在启动时都需要复位,以使图2.21三端稳压集成电路 LM7805为系统的电源芯片图2.22LM7805应用电路水泵的工作电流:65MA-500MA LCD1602液晶显示器的工作电流:2MA-50MA超声波模块工作电流
14、:15MA LED工作电流:10MA -20MA经分析系统用9v电压工作时的工作电流小于1000ma 7805符合要求复位电路和晶振电路I CAP30 FrzIFCAP图2.32晶振电路CPU及系统各部件处于确定的初始状态,并从初态开始工作。STC系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期24个振荡周期以上,则CPU就可以响 应并将系统复位。如图2.31所示,单片机系统的复位方式有:手动按钮复位和 上电复位。手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST
15、端和正电源VCC之间接一个按钮。当人为按下按钮时,则 VCC 的+5V电平就会直接加到RST端。由于人的动作再快也会使按钮保持接通达数 十毫秒,所以,完全能够满足复位的时间要求。单片机在启动时都需要复位, 以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。STC系列单片机的复位信号是从 RST引脚输入到芯片内的施密特触发器中 的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复 位。如图2.32所示,单片机系统的复位方式有:手动按钮复位和上电复位。时 钟在引脚XTAL1和XTAL2外接晶体振荡
16、器(简称晶振)或陶瓷谐振器,就构成了 内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就 构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路。外部振荡 方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时 钟与外部信号保持同步。外部振荡方式的外部电路如图2.32所示。图中电容器CAP起稳定振荡频率、快速。温度传感器图2.41温度传感器 DS18b20DS18B20图2.42温度传感器 DS18B20的应用电路温度传感器采用美国Dallas半导体公司的数字化温度传感器 DS18B20采 用导热性高的密封胶灌封,保证了温度传感器的高灵敏性和极小的温度延迟,
17、 如图2.41所示。DS18B20 的主要特性 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由 数据线供电独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线 即可实现微处理器与 DS18B20的双向通讯DS18B20支持多点组网功能,多个 DS18B20可以并联在唯一的三线上, 实现组网多点测温DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集 成在形如一只三极管的集成电路内(5 )温范围55E+ 125C,在-10+85C时精度为土 0.5 C可编程的分辨率为912位,对应的可分辨温度分别为 0.5 C、0.25 C、0.125 C和0.06
18、25 C,可实现高精度测温 在9位分辨率时最多在93.75ms内把温度转换为数字,12位分 辨率时最多在750ms内把温度值转换为数字,速度更快 测量结果直接输出数字温度信号,以一线总线串行传送给CPU, 同时可传送CRC校验码,具有极强的抗干扰纠错能力负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B2 0的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM温度传感器、非挥 发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如下图 2.4.21C1富*a-T#1jsp A =二弓孚I雹乂弋月口&ONIC:ni* 痒t丄/ti
19、Jn -rvnr.t图2421 DS18B20 外形及引脚排列图DS18B2 0引脚定义:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)电源检测64位ROlff和携口1氐獄蝮器TL高温嚼电菱器TH配置寄存器图2.4.22DS18B20内部结构243 DS18B20工作原理DS18B20勺读写时序和测温原理与DS1820相同,只是得到的温度值的位数 因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms DS18B20测温原理如图2.4.3所示。图中低温度系数晶振的振荡频率受温度影响很小,用 于产生固定频率的脉冲信号送给计数器 1。高温
20、度系数晶振随温度变化其振荡 率明显改变,所产生的信号作为计数器 2的脉冲输入。计数器1和温度寄存器 被预置在-55C所对应的一个基数值。计数器 1对低温度系数晶振产生的脉冲 信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1, 计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉 冲信号进行计数,如此循环直到计数器 2计数到0时,停止温度寄存器值的累 加,此时温度寄存器中的数值即为所测温度。图2.4.3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图2.4.3 S18B20测温原理DS18B20有4个主要的数据部件(1)光刻RO
21、M中的64位序列号是出厂前被光刻好的,它可以看作是该 DS18B20的地址序列码。64位光刻ROM勺排列是:开始8位(28H)是产品类 型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循 环冗余校验码(CRC=X8+X5+X4+。光刻ROM的作用是使每一个 DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20勺目的(2)DS18B2冲的温度传感器可完成对温度的测量,以 12位转化为例: 用16位符号扩展的二进制,补码读数形式提供,以 0.0625 C /LSB形式表达, 其中S为符号位。bii4bit I2*I-j-lTl2bit 15ha 14l
22、it Bbit 12bar 11bit 10bit 9InrSSssSS2sbn 7birOLS ByteMb BvteF表2441 DS18B20的温度值格式表表2.4.41是12位转化后得到的12位数据,存储在18B20的两个8比特 的RAM中,二进制中的前面5位是符号位,如果测得的温度大于 0,这5位为0, 只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于 0,这5位为 1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125C的 数字输出为07D0H, +25.0625 C的数字输出为 0191H, -25.0625 C的数字输出 为FF6FH, -55
23、C的数字输出为FC90H温度JJ25 +85 吟.0625 +10J25 +050-0一 5 10. 125 收5. 0625 55St据输出(二进制)0000 0111 11011*110101 0101 0000Zttl0001 1001 00010000 10W 00100000 000010000000mu巧1 Yooo1111 1111 0101 11101111 1110 0110 11111111 1100 1001数据输出(十k进制)07D0h0791斤1OOAZhOOOBhOOOOhFFFBhFF5&卜fcbBiFCBOh表2.4.42 DS18B20温度数据表(3) DS1
24、8B2C温度传感器的存储器:DS18B20温度传感器的内部存储器包 括一个高速暂存RAM和一个非易失性的可电擦除和EEPRAM后者存放高温度和 低温度触发器TH TL和结构寄存器。TMR1ROQED111表2443配置寄存器结构配置寄存器该字节各位的意义如下:低五位一直都是 1 , TM是测试 模式位,用于设置DS18B2C在工作模式还是在测试模式。在 DS18B20出厂时该 位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表2.4.44所 示:(DS18B20出厂时被设置为12位)R1R0分辨率温度最大转换时间009位93. 75ms0110位187.5ms1011位375ms1
25、112位750ms表2.4.44温度分辨率设置表高速暂存存储器高速暂存存储器由9个字节组成,其分配如表2.4.51所示。当温度转换命 令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位 在后,数据格式如表2.4.41所示。对应的温度计算:当符号位 S=0时,直接将 二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表 2.4.42所示是对应的一部分温度值。第九个字节是冗余检验字节。字地址沁反 ft氐位c I S Yiy 1O湍盅反fiHE位MS By Lo1髙温1;艮値 TH2f氐漏任艮值
26、:ID3四己:上勺:昙昌45G7CRC校瞬值表2451 DS18B20 暂存寄存器分布根据DS18B2C的通讯协议,主机(单片机)控制 DS18B2C完成温度转换必 须过三个步骤:每一次读写之前都要对 DS18B2C进行复位操作,复位成功后发 送一条ROM旨令,最后发送RAM指令,这样才能对DS18B2C进行预定的操作。 复位要求主CPU各数据线下拉500微秒,然后释放,当DS18B20攵到信号后等 待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU攵到此信号 表示复位成功。指令约定代码功能读ROM3311读1於1龍0温度传寤帑底珂屮的编码(即例位地址,符T ROM55H发出此命令
27、Z后,接着发出64位ROM編码.访问 单总线上与该编码相对应的DS1820使之作出响应+ 均F -步对该DS1B2O的读号件族备搜索ROM0FOH川丁确圧抄接衽冋一总线h. DS1820的个数和识别 64位RtlM地址*为操件备器件件好带备*跳过ROM0CCII忽略61位ROM地址,仃接向DSI820发温燃变换 命令口适用于中片丄作。告警搜索命令OECH执行后貝有温度超过设定值上限或卜限的片子才做 出咆应a表2.4.52ROM指令表播令约定代码功能温燈变换44H启动頃辺20进行温度转换.12位转换H J750ms(百位93+ 75ms ) *給果存入内部勺字节RAM读暂存器读内部RA姐屮g字节
28、的内容垢哲存器发出向内部RM1的3、4宁节写:.卜限撷度敌据命 令,紧跟该命令之后,绘传送两字节的数拯。口制暂存器4811将KAM申第3、4字节的内容缸制到L-LPROM屮重囲EEPHOMOB8H将EEPROM中内 容恢姒到RAM中的第3 . 4字节*读供屯方武0B4H读DS182U的供电模式寄生供业时DS1820监送 “ 0 外接屯源供曲DS1820 送1 ” .表2.4.53ROM指令表DS18B20工作过程及时序DS18B2C工作过程一般遵循以下协议:初始化一一ROM操作命令一一存储器操作命令一一处理数据?初始化:单总线上的所有处理均从初始化序列开始。初始化序列包括总 线主机发出一复位脉
29、冲,接着由从属器件送出存在脉冲。存在脉冲让总线控制 器知道DS1820在总线上且已准备好操作。? ROM操作命令一旦总线主机检测到从属器件的存在,它便可以发出器件 ROM操乍命令之一。所有ROM操作命令均为8位长。? 这些命令列表如下:Read ROM读ROM)33h此命令允许总线主机读 DS18B20的8位产品系列编码,唯一的 48位序列号,以及8位的CRC此命令 只能在总线上仅有一个DS18B20的情况下可以使用。如果总线上存在多于一个 的从属器件,那么当所有从片企图同时发送时将发生数据冲突的现象(漏极开 路会产生线与的结果)。Match ROM符合ROM)55h此命令后继以64位的ROM
30、fe据序列,允许总线 主机对多点总线上特定的 DS18B20寻址。只有与64位ROM序列严格相符的 DS18B2C才能对后继的存贮器操作命令作出响应。所有与64位ROM?列不符的从片将等待复位脉冲。此命令在总线上有单个或多个器件的情况下均可使用。Skip ROM(跳过ROM)CCh在单点总线系统中,此命令通过允许总线主机不 提供64位ROM编码而访问存储器操作来节省时间。如果在总线上存在多于一个 的从属器件而且在Skip ROM命令之后发出读命令,那么由于多个从片同时发送 数据,会在总线上发生数据冲突(漏极开路下拉会产生线与的效果) 。Search ROM(搜索ROM)FOh当系统开始工作时,
31、总线主机可能不知道单线 总线上的器件个数或者不知道其 64位ROM编码。搜索ROM命令允许总线控制器 用排除法识别总线上的所有从机的 64 位编码。Alarm Search( 告警搜索)ECh此命令的流程与搜索ROM命令相同。但是, 仅在最近一次温度测量出现告警的情况下,DS18B2C才对此命令作出响应。告警的条件定义为温度高于TH或低于TL。只要DS18B2C一上电,告警条件就保 持在设置状态,直到另一次温度测量显示出非告警值或者改变TH或TL的设置,使得测量值再一次位于允许的范围之内。贮存在EEPRO内的触发器值用于告警。 存储器操作命令Write Scratchpad(写暂存存储器)4E
32、h这个命令向DS18B20勺暂存器中写入数据,开始位置在地址 2。接下来写入的两个字节将被存到暂存器中的地 址位置 2 和 3。可以在任何时刻发出复位命令来中止写入。Read Scratchpad (读暂存存储器) BEh 这个命令读取暂存器的内容。读 取将从字节0开始,一直进行下去,直到第 9 (字节8,CRC字节读完。如果 不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。Copy Scratchpad (复制暂存存储器) 48h 这条命令把暂存器的内容拷贝 到DS18B20勺E2存储器里,即把温度报警触发字节存入非易失性存储器里。如 果总线控制器在这条命令之后跟着发出读时间隙
33、,而DS18B20又正在忙于把暂存器拷贝到E2存储器,DS18B20就会输出一个“ 0”,如果拷贝结束的话, DS18B20则输出“ 1”。如果使用寄生电源,总线控制器必须在这条命令发出后 立即起动强上拉并最少保持 10ms。Convert T (温度变换) 44h 这条命令启动一次温度转换而无需其他数据。 温度转换命令被执行,而后 DS18B20保持等待状态。如果总线控制器在这条命 令之后跟着发出读时间隙,而 DS18B20又忙于做时间转换的话,DS18B20各在 总线上输出“ 0”,若温度转换完成,则输出“ 1”。如果使用寄生电源,总线 控制器必须在发出这条命令后立即起动强上拉,并保持50
34、0ms。Recall E2(重新调整E2) B8h这条命令把贮存在E2中温度触发器的值重新调至暂存存储器。这种重新调出的操作在对DS18B2C上电时也自动发生,因此只要器件一上电,暂存存储器内就有了有效的数据。在这条命令发出之后, 对于所发出的第一个读数据时间片,器件会输出温度转换忙的标识:“0” =忙,“ 1” =准备就绪。Read Power Supply (读电源)B4h对于在此命令发送至 DS18B20之后所 发出的第一读数据的时间片,器件都会给出其电源方式的信号:“ 0” =寄生电 源供电,“ T =外部电源供电。处理数据:DS18B20勺高速暂存存储器由9个字节组成。当温度转换命
35、令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位 在后。表2.4.42是DS18B20温度采集转化后得到的12位数据,存储在DS18B20 的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于 或等于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如 果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到 实际温度。温度转换计算方法举例:例如当DS18B20采集到+125C的实际温度后,输出为07D0H贝U:实际温度 =07D0H0.0625=200
36、0X0.0625=1250C。例如当DS18B20采集到-55C的实际温度后,输出为FC90H则应先将11位数 据位取反加1得370H (符号位不变,也不作为计算),贝实际温度=370K0.0625=880X0.0625=550C。主控器接收郢 PU 单总线GNDr至少4R0豳DSI8B20零待1460附一至少480闊DS18B2O 爰送存在脉冲&卜240肖主控器发送复位脉冲图2.4.61复位时序图1).复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B2C单总线至少480uS的低电平信号。当18B20接到此复位 信号后则会在1560uS后回发一个芯片的存在
37、脉冲。2). 存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于 在1560uS后接收存在脉冲,存在脉冲为一个 60240uS的低电平信号。至此, 通信双方已经达成了基本的协议,接下来将会是控制器与 18B20 间的数据通信。 如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设 计时要注意意外情况的处理。3).控制器发送ROM旨令:双方打完了招呼之后最要将进行交流了,ROM旨令共有5条,每一个工作周期只能发一条,ROM旨令分别是读ROh数据、指定匹 配芯片、跳跃ROM芯片搜索、报警芯片搜索。ROM旨令为8位长度,功能是对 片内的64位光刻ROMS行操作。其主要目
38、的是为了分辨一条总线上挂接的多个 器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所 独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM旨令(注意: 此处指的跳过ROM旨令并非不发送ROM旨令,而是用特有的一条“跳过指令”)4).控制器发送存储器操作指令:在 ROM旨令发送给18B20之后,紧接着 (不间断)就是发送存储器操作指令了。操作指令同样为 8 位,共 6 条,存储 器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM温度 转换、将EEPRO中的报警值复制到RAM工作方式切换。存储器操作指令的功 能是命令18B20作什么样的工作,是
39、芯片控制的关键。5). 执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据 的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。若要读出当 前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待 500uS温度转换时间。紧接着执行第二个 周期为复位、跳过ROM旨令、执行读RAM的存储器操作指令、读数据(最多为9 个字节,中途可停止,只读简单温度值则读前2 个字节即可)。VPU取总线GND,DSI8B2H 采样 堆小典型 垠大I5ps + I5ps - 3
40、0ms DS18B20 采样 第小典型绘大图2462写时序图.写时间隙:写时间隙分为写“ 0”和写“ 1”。在写数据时间隙的前主控甜读“tr吋隙主控器读r”时隙n iLisrktc5D6D7vssL52液晶槿块V3DD +5V10K电位器带背光2.62图2.61 LCD1602的使用电路图LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图所示BO. O匚9 5ir 吕75 O73- Te o厂一之 54oPQQQaaQooaaaaaaHT送亍XTQ -gE_* .0 gg -图2.62 LCD1602尺寸图LC
41、D1602主要技术参数:显示容量:16 X2个字符;芯片工作电压 45 5.5V ;工作电流:2.0mA(5.0V);模块最佳工作电压:5.0V ;字符寸:2.95 X 4.35(WX H)mm引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2.6所示:引脚说明符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表2.6引脚接口说明引脚接口说明:第1脚:VSS为
42、地电源。第2脚:VD取5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当 RS为低电平R/W 为高电平时可以读忙信号,当 RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行 命令。第714脚:D旷D7为8位双向数据线。第15脚:背光源正
43、极。第16脚:背光源负极。LCD1602指令说明及时序序号指RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数;据存贮器地址9读忙标志或地址01BF计数器地址10写数至U CGRA或DDRA)10要写的数据内容11从 CGRAI或 DDRAI读数11读岀的数据内容表2.6.21LCD1602指令说明及时序1602液晶模块内部的控
44、制器共有11条控制指令,如表2.6.2所示:控制命令表:1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址 00Ho指令3:光标和显示模式设置I/D :光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示, 低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无 光标。B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标
45、或显示移位S/C :高电平时移动显示的文字,低电平时移动 光标。指令6:功能设置命令。DL:高电平时为4位总线,低电平时为8位总线。 N:低电平时为单行显示,高电平时双行显示。F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8: DDRA地址设置。指令9:读忙信号和光标地址BF :为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。与HD44780相兼容的芯片时序表如下:读状态输入RS=L R/W=H E=H输出D0- D7= 犬态字写指令输入RS=L,R/W=L,D0-。7=
46、旨令码,E=高脉冲输出无读数据输入RS=H R/W=H E=H输出D0- D7=B 据写数据输入RS=H R/W=L,D0-D7=数据,E=高脉冲输出无表2.6.22基本操作时序表RS图2621读操作时序图2.6.22写操作时序LCD1602的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模 块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显 示字符地址,也就是告诉模块在哪里显示字符,下图2.6.3是1602的内部显示地址。LCD1石字X2行00010203040506070809OA0B000D0E0F102丄40424344454
47、64 748494A4B4C4D4E4F5067J图263 1602LCD 内部显示地址例如第二行第一个字符的地址是 40H,那么是否直接写入40H就可以将光 标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最 高位D7恒定为高电平1所以实际写入的数据应该是 01000000B(40H +10000000B(80H)=11000000B(C0H)在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光 标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于 忙的状态。1602液晶模块内部的字符发生存储器(CGRO M已经存储了 160个不同的 点阵字符图
48、形,如图2.6.3所示,这些字符有:阿拉伯数字、英文字母的大小 写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写 的英文字母“ A”的代码是01000001B(41H),显示时模块把地址41H中的点阵 字符图形显示出来,我们就能看到字母“ A”oooc0C1 1U1010110onil&l 11 IPO1301moMHX X XXOOQCCCRAMClFpPX X X X 0001H1AQadT+厶 qX X2&Rbrr孑nt&fX x X XL Mill1csr丿.K5EuRMi口+-X.0X X X XOL1OC7乱FVfttPXX X X X4111AGw刺wr*nR
49、x x x x locoCaHXhK干JXX X X x 10O|C21Viyrr21rK X X X 1O1*i-JzJ*工nTX XXX lCkl l4)+EKk才Vt口ZfX M X X: 1 lgS)VLi1七7点X 34 K X 1101MinXx*xxx unit*r*L g_-t7ft八XXX X1J11/Taa&*F口表263 CGROM和CGRA中字符代码与图形对应关系图1LCD1602的一般初始化(复位)过程延时15mS写指令38H (不检测忙信号)延时5mS写指令38H (不检测忙信号)延时5mS写指令38H (不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号
50、写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH显示开及光标设置程序流程图图2.6.5程序流程图蜂鸣器蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于 计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时 器等电子产品中作发声器件。蜂鸣器分为有源蜂鸣器和无源蜂鸣器,本系统使 用的是有源蜂鸣器(内部带振荡电路)驱动芯片ULN2003A图 2.8 ULN2003美国 Texas Instruments公司、美国 Sprague公司生产的 ULN2003A由 7组达林顿晶体管阵列和相应的电阻网络以及钳位二
51、极管网络构成,具有同时驱 动7组负载的能力,为单片双极型大功率高速集成电路。ULN2003A特点及主要应用领域ULN2003A!路具有以下特点:电流增益高(大于1000):带负载能力强(输出电流大于500mA;温 度范围宽(4085C);工作电压高(大于50V); ULN2003A电路主要用于如 下领域:伺服电机;步进电机;电磁阀;可控照明灯。ULN2003A的典型应用ULN2003理高压大电流达林顿晶体管阵列电路的典型应用电路框图如图2.8.2所示。可以看出,该电路的应用非常简单。图2.8.2 ULN2003A的典型应用电路第三章软件设计框架图测量液面H 测量温度T液面H和温度在给定值之间
52、之间蜂鸣器报警打开抽水水泵关闭蜂鸣器报警 关闭抽水水泵各个部分驱动代码简介超声波驱动代码;温度传感器驱动代码;LCD1602驱动代码超声波测距驱动代码TRIG=1; / 触发信号是高电平脉冲,宽度大于 10usDelayUs2x(10); 延 30US左右TRIG=0; while(!ECHO); / 等待高电平 TR0=1;/ 打开定时器while(ECHO); / 等待低电平 TR0=0;/ 关闭定时器S=TH0*256+TL0;算出超声波来回时间S=S/58;/ 算出距离LCD1602 驱动代码#defi ne CHECK_BUSY/是否使用判断忙语句条件,后面使用条件编译sbit RS
53、 = P2A4; / 定义端口sbit RW = P2A5;sbit EN = P2A6;#define RS_CLR RS=0#define RS_SET RS=1#define RW_CLR RW=0#define RW_SET RW=1#define EN_CLR EN=0#define EN_SET EN=1#define DataPort P0/* 判忙函数 */bit LCD_Check_Busy(void) #ifdef CHECK_BUSYDataPort= 0 xFF;RS_CLR;RW_SET;EN_CLR;_nop_();EN_SET;return (bit)(DataP
54、ort & 0 x80);#elsereturn 0;#endif /* 写入命令函数 */void LCD_Write_Com(unsigned char com) while(LCD_Check_Busy(); / 忙则等待 RS_CLR;RW_CLR;EN_SET;DataPort= com;_nop_();EN_CLR; */* 写入数据函数void LCD_Write_Data(unsigned char Data) while(LCD_Check_Busy(); / 忙则等待RS_SET;RW_CLR;EN_SET;DataPort= Data;_nop_();EN_CLR; TO
55、C o 1-5 h z /* 清屏函数 */*void LCD_Clear(void) LCD_Write_Com(0 x01);DelayMs(5); /* 写入字符串函数 */void LCD_Write_String(unsigned char x,unsigned char y,unsigned char*s) while (*s) LCD_Write_Char(x,y,*s); s +; x+; /* 写入字符函数 */void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) if (y = 0)
56、LCD_Write_Com(0 x80 + x);else LCD_Write_Com(0 xC0 + x);LCD_Write_Data( Data); /* 初始化函数 */void LCD_Init(void) LCD_Write_Com(0 x38); /* 显示模式设置 */DelayMs(5); / 延时 5MSLCD_Write_Com(0 x38);DelayMs(5);LCD_Write_Com(0 x38);DelayMs(5);LCD_Write_Com(0 x38);LCD_Write_Com(0 x08); /*显示关闭 */LCD_Write_Com(0 x01);
57、 /*显示清屏 */LCD_Write_Com(0 x06); /*显示光标移动设置 */DelayMs(5);LCD_Write_Com(0 x0C); /*显示开及光标设置 */323温度传感器DS18b20驱动代码 unsigned char dat = 0; for (i=8;i0;i-)18b20初始化*/bit Init_DS18B20(void) bit dat=0;DQ = 1; /DQ复位DelayUs2x(5);/稍做延时DQ = 0;/单片机将DQ拉低DelayUs2x(200); /精确延时 大于 480us 小于 960usDelayUs2x(200);DQ = 1;
58、/拉高总线DelayUs2x(50); /1560us 后 接收 60-240us 的存在脉冲dat=DQ; /如果 x=0 则初始化成功 , x=1 则初始化失败DelayUs2x(25); /稍作延时返回return dat; /*读取一个字节*/unsigned char ReadOneChar(void) unsigned char i=0; DQ = 0; / 给脉冲信号 dat=1;DQ = 1; /给脉冲信号if(DQ) dat|=0 x80;DelayUs2x(25); return(dat); /* 写入一个字节 */void WriteOneChar(unsigned char dat) unsigned char i=0;for (i=8; i0; i-) DQ =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年异常产褥期妇女的护理试题
- 2025年公务车辆运行维护与管理协议书规范文本
- 2025年同性伴侣分手协议书范例
- 2025年双方共筑项目合作协议
- 企业文化对法律责任意识的影响
- 运营管理的保障性住房安全隐患排查整治情况报告范本
- 理赔业务风险培训效果评估互动性风险基础知识点归纳
- 商法基础知识点归纳
- 软组织生物力学实验数据处理基础知识点归纳
- 农业科技创新对全球粮食安全的贡献
- 欢乐购物街第2课时 买卖我做主(说课稿)-2024-2025学年 一年级数学下册人教版
- 2023年-2024年岗位安全教育培训试题附参考答案(A卷)
- 初中生物2021年初专题周练-血液循环训练题(一)【含详解】
- 手机售后培训方案
- 中资出海企业数字化发展(亚太)蓝皮报告(2024年)
- 智能楼宇管理员题库含答案
- SCMP练习试卷附答案(一)
- 江苏省苏州市(2024年-2025年小学六年级语文)部编版小升初真题(下学期)试卷及答案
- 安保工作的多元化发展
- 中学生体育运动损伤的预防和处理
- 经皮内镜下胃(空肠)造口术临床应用中国专家共识(2024版)解读
评论
0/150
提交评论