您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 18B20温度采集LCD12864显示
基于单片机STC89C51的温度显示系统的设计引言随着电子技术,特别是随大规模集成电路的产生而出现的微型计算机技术的飞速发展,人类生活发生了根本性的改变。如果说微型计算机的出现使现代科学研究得到了质的飞跃,那么可以毫不夸张地说,单片机技术的出现则是给现代工业测控领域带来了一次新的技术革命。目前,单片机以其体积小、重量轻、抗干扰能力强、对环境要求不高、高可靠性、高性能价格比、开发较为容易,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走人家庭,从洗衣机、微波炉到音响、汽车,到处都可见到单片机的踪影。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。本课题研究的内容就是以单片机为主要控制元件,通过温度传感器DS18B20实现对温度的测量,并通过LCD12864直接显示所测温度。1、设计任务用温度传感器DS18b20检测空气中的温度,STC89C51采集DS18B20的数据并通过LCD12864显示实时温度。2、系统硬件设计2.1系统方框图见图2-1.温度传感器LCD12864显示温度值单片机STC89C51图3-1系统方框图2.2各模块方案的选择2.2.1温度检测方案选择方案一:采用热电偶或热敏电阻作感温元件,但热电偶需冷端补偿,电路设计复杂,热敏电阻虽然精度较高,但需要标准稳定电阻匹配才能使用,而且重复性、可靠性都比较差。方案二:采用集成温度传感器DS18B20。该传感器结构简单,不需外接电路,数据传输采用one-wire。总线,可用一根I/O数据线即供电又传输数据,在-10℃--+85℃范围内精度为±0.5℃,分辨率较高,重复性和可靠性好。故采用方案二。22.2.2显示模块方案的选择方案一:采用数码管显示。数码管亮度高、体积小、重量轻,但其显示信息简单、有限,在本题目中应用受到很大的限制。方案二:采用液晶显示。液晶显示功耗低,轻便防震。采用液晶显示界面友好清晰,操作方便,显示信息丰富。故采用方案二2.3单片机控制系统单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机、时钟电路、复位电路等组成。为了简化电路、降低成本、提高可靠性,本系统采用STC89C51作为主控制器,它是一款与MCS51完全兼容且内部自带有4KB的Flash存储器及256KBRAM单元的芯片,因此可以不需另外扩展EEPROM及静态RAM就可以实现所需功能。单片机最小系统是软硬件系统连接的桥梁。它包括:单片机89C51,LCD12864液晶模块,DS18B20温度采集模块。单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。下图中外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30P左右,晶振频率选6MHz。为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图2-2中R9和Cl组成上电复位电路,其值R取为1K,C取为22μF.3图3-2单片机最小系统2.4温度检测模块由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。DS18B20性能特点2.4.1DS18B20的性能特点:①采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位)。②测温范围为-55℃-+125℃,测量分辨率为0.0625℃。③内含64位经过激光修正的只读存储器ROM。④适配各种单片机或系统机。⑤用户可分别设定各路温度的上、下限。⑥内含寄生电源。2.4.2DS18B20内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。64位ROM结构图如图2所示。不同的器件地址序列号不同。DS18B20的管脚排列如图5-1所示。4图3-4-2DS18B20引脚分布图2.4.3DS18B20高速暂存器DS18B20高速暂存器共9个存储单元,如表所示:序号寄存器名称作用序号寄存器名称0温度低字节以16位补码形式存放4配置寄存器1温度高字节5、6、7保留2TH/用户字节1存放温度上限8CRC3HL/用户字节2存放温度下限表3-4-3DS18B20高速暂存器以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。高8位SSSSS262524低8位232221202-12-22-32-42.4.4DS18B20控制方法DS18B20有六条控制命令,如表所示:指令约定代码操作说明温度转换44H启动DS18B20进行温度转换读暂存器BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的TH、TL字节复制暂存器48H把暂存器的TH、TL字节写到E2RAM中重新调E2RAMB8H把E2RAM中的TH、TL字节写到暂存器TH、TL字节读电源供电方式B4H启动DS18B20发送电源供电方式的信号给主CPU表3-4-4DS18B20控制命令52.4.5DS18B20的通信协议DS18B20器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲,应答脉冲时隙;写0,写1时隙;读0,读1时隙。与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。发送所有的命令和数据时,都是字节的低位在前,高位在后。①复位和应答脉冲时隙每个通信周期起始于微控制器发出的复位脉冲,其后紧跟DS18B20发出的应答脉冲,在写时隙期间,主机向DS18B20器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。在每一个时隙,总线只能传输一位数据。时序图见图图3-4-5-1DS18B20复位时序图②写时隙当主机将单总线DQ从逻辑高拉到逻辑低时,即启动一个写时隙,所有的写时隙必须在60~120us完成,且在每个循环之间至少需要1us的恢复时间。写0和写1时隙如图所示。在写0时隙期间,微控制器在整个时隙中将总线拉低;而写1时隙期间,微控制器将总线拉低,然后在时隙起始后15us之释放总线。3-4-5-2DS18B20写时序图③读时隙8B20器件仅在主机发出读时隙时,才向主机传输数据。所以在主机发出读数据命令后,必须马上产生读时隙,以便DS18B20能够传输数据。所有的读时隙至少需要60us,且在两次独立的读时隙之间,至少需要1us的恢复时间。每个读时隙都由主机发起,至少拉低总线1us。在主机发起读时隙之后,DS18B20器件才开始在总线上发送0或1,若DS18B20发送1,则保持总线为高电平。若发送为0,则拉低总线当发送0时,DS18B20在该时隙结束后,释放总线,由上拉电阻将总6线拉回至高电平状态。DS18B20发出的数据,在起始时隙之后保持有效时间为15us。因而主机在读时隙期间,必须释放总线。并且在时隙起始后的15us之内采样总线的状态。3-4-5-3DS18B20写读序图2.4.6DS18B20的电路采用集成温度传感器DS18B20。该传感器结构简单,不需外接电路,数据传输采用one-wire。总线,可用一根I/O数据线即供电又传输数据,在-10℃--+85℃范围内精度为±0.5℃,分辨率较高,重复性和可靠性好。图3-3DS18B20电路DS18B20为单总线器件,数据和命令在一根线上传输,先向温度传感器写入转换命令,延长一段时间,再发送读命令,将温度值读回单片机,单片机进行数据处理,送显示。转换关系为:T=temperature*6.25T为单片机要显示的温度,temperature为从DS18B20读回的数字量。图中TEM接单片机P0^6口2.5液晶显示模块LCD12864是一款具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论7硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。2.5.1模块接口说明管脚号名称LEVEL功能1VSS0V电源地2VDD+5V电源正(3.0V-5.5V)3VO-对比度(亮度)调整4CSH/L模组片选端,高电平有效5SIDH/L串行数据输入端6CLKH/L串行同步时钟:上升沿时读取SID数据15PSBLL:端口方式17/RESETH/L复位端19AVDD背光源电压+5V20KVSS背光源负端0V图2.5.1液晶模块借口说明2.5.2并行接口说明图2.5.2液晶并行借口说明82.5.2控制器接口信号说明①RS,R/W的配合选择决定控制界面的四种模式表2.5.2控制界面模式②BF忙标志位③字形产生ROM④显示数据RAM⑤字形产生RAM⑥地址计数器AC92.5.3指令说明2.5.3液晶指令说明2.5.4读写时序图①数据传输过程10②时序图③串口读写时序112.5.5液晶电路图D0—D7接单片机P2口,RES接高电平,RS、RW、LCD-E分别接P0^3,P0^4,P0^5口。图2.5.5液晶电路接口3、系统软件设计3.1C51语言的优缺点现在有四种语言支持8051系列单片机编程,即汇编、PL/M,C和BASIC,在开发中最常用的是汇编语言,但随着程序复杂程度的提高,汇编语言逐渐暴露了它的不足,BASIC适合于初学者或要求编程简单而对编程效率和运行速度不高的场合。PL/hi对8051系列单片机来讲,不支持复杂的算术运算和浮点变量,无丰富的库函数支持。C语言是一种源于编写UNIX操作系统的语言,是一种结构化语言,可产生紧凑代码。为了更好地实现对单片机的开发,C51应运而生。每个不同公司开发的C51不尽相同,本系统采用的是KeilElektronikGmbh开发的KeiluVision3工具软件来进行系统软件编写和调试的。在嵌入式系统中,相对于汇编语言,C语言作为一种高级语言主要存在两个不足:一,生成的可执行代码冗长,效率不高。对于这一点,随着处理芯片运算速度的提高、集成ROM的扩大,特别编译系统的不断优化,冗长已经不再是问题。这也是C在嵌入式系统中逐渐成为主流编程语12言的主要原因之一。二,C生成的可执行代码在时序上不容易控制,比如本系统中要实现的时序控制。一般的解决方案是在C程序中嵌入汇编语句,但其实只要充分挖掘C
本文标题:18B20温度采集LCD12864显示
链接地址:https://www.777doc.com/doc-4174206 .html