1、. .本 科 生 毕 业 设 计题目:水温检测与存储系统设计姓 名:XXXXXX学 号:XXXXXXXXXXXX所在学院:信息工程学院专业班级:XXXXXXXXXXXXXXXXX班 指导教师:XXXXXX20XX年 X月 XX日. .word.zl. .声 明本人X重声明:所呈交的毕业论文设计,是本人在指导教师指导下,独立进展研究工作所取得的成果。尽我所知,除文中已经注明引用的内容外,本毕业论文设计的研究成果不包含任何他人享有著作权的内容。对本论文设计所涉及的研究工作做出奉献的其他个人和集体,均已在文中以明确方式标明。本人签名: 日 期: 年 月 日目 录摘 要- 3 -Abstract- 4
2、 -前 言- 5 -第一章 系统整体设计方案- 6 -1.1硬件总体设计- 6 -1.1.1 硬件系统子模块- 6 -1.2软件总体设计- 6 -第二章 硬件系统设计- 7 -2.1硬件电路分析和设计报告- 7 -2.1.1 单片机最小系统电路- 7 -2.1.2 键盘电路- 12 -2.1.3 LCD12864显示电路- 13 -2.1.4 温度采集电路- 20 -2.1.5数据存储电路- 25 -2.1.6加热控制电路- 28 -第三章 软件系统设计- 29 -3.1 系统软件设计整体思路- 29 -3.1.1 主程序- 29 -3.1.2 LCD12864液晶显示- 32 -3.1.3
3、AT24C02数据存储模块- 38 -3.1.4 18B20温度模块软件设计- 41 -3.1.5 键盘扫描处理流程- 48 -第四章 系统调试- 53 -4.1硬件电路调试- 53 -4.2软件调试- 53 -4.3 系统操作说明- 54 -总结- 55 -参考文献:- 56 -致 谢- 57 -附录A:水温检测与存储系统设计原理图- 58 -附录B:软件程序- 59 -摘 要随着现代工业的飞速开展,生产流程的技术提高和加工工艺的不断完善。温度这一在工业生产中不可或缺的因素,一次又一次影响着、甚至很大程度上决定着生产产品质量的优劣。随之而来的,温度的检测与控制-这一延续多年的课题依旧在日益扩
4、X的工业化进程中起着举足轻重的作用。同样作为温度监测监控分支的水温监测监控系统,也在居民生活和工农业生产中发挥着它不可或缺的作用。本系统已STC89C52RC单片机为控制核心,由显示电路、存储电路、按键电路、测温电路、晶闸管温控电路等组成。通过LCD12864显示温度和按键组成人机交互页面,使用单总线温度传感器DS18B20采集温度,使用晶闸管电路控制加热功率从而来实现调节温度。本文详细阐述了基于单片机的温度控制系统的硬件组成、软件设计及相关的接口电路设计。并且充分考虑了系统的可靠性,采取了相应的措施予以保证。关键词:LCD12864 DS18B20 晶闸管 测温The water tempe
5、rature detection and data storageAbstract With the rapid development of modern industry, production processes and technology to improve the process of continuous improvement. Temperature - The industrial production indispensable factor, once again affecting, even to a large extent determine the prod
6、uction quality of the pros and cons. Followed, temperature measurement and control - continue for many years to this subject still plays an important role in the expanding industrialization process. The same as the temperature monitoring and control system for monitoring the temperature of the water
7、 branch, but also residents and industrial and agricultural production, it plays an indispensable role. The system has been STC89C52RC microcontroller core, the show circuit, memory circuit, key circuit, temperature measurement circuit, thyristor temperature control circuit. By LCD12864 display the
8、temperature and position of interactive buttons page, single-bus temperature sensor DS18B20 collecting temperature, using a thyristor circuit controls the heating power so as to achieve temperature control. This paper describes the position of the microcontroller-based temperature control system har
9、dware, software, design and related interface circuit design. And fully consider the reliability of the system, take the appropriate measures to guarantee.Keywords:LCD12864 ;DS18B20; temperature ;Thyristor前 言随着社会的开展、科技的进步、以及测温仪器在各个领域的应用,自动化已是现代温度控制系统开展的主流方向。特别是近年来,温度控制系统已广泛应用于人们生活的各个方面。及时准确地得到温度信息并对
10、其进展适时的控制,在许多工业场合中都是重要的环节.水温的变化影响各种系统的自动运作,例如冶金、机械、食品、化工各类工业中,广泛使用的各种加热炉、热处理炉、反响炉等,对工件的水处理温度要求严格控制。对于不同控制系统,其适宜的水质温度总是在一个X围。超过这个X围,系统或许会停顿运行或遭受破坏,所以我们必须能实时获取水温变化。对于,超过适宜X围的温度能够报警。同时,我们也希望在适宜温度X围内可以由检测人员根据实际情况加以改变。单片机对对温度的控制是工业生产中经常使用的控制方法.自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速开展时期,近年来,随着大规模集成电路的开展,单片
11、机继续朝快速、高性能方向开展。单片机主要用于控制,它的应用领域普及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据构造、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表构造设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个
12、测量电路进展管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、本钱低,制造、安装、调试及维修方便。传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线性度和准确度都不理想,抗干扰能力弱。现在常用的温度传感器芯片不但功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用起来方便。第一章 系统整体设计方案1.1硬件总体设计设计并制作一个基于单片机的水温检测和数据存储的电路其构造框图如图1-1所示电源单片机stc89c52LCD12864显示可控硅驱动温度传
13、感器DS18B20存储键盘指示灯图1-1 硬件构造框图1.1.1硬件系统子模块(1) 单片机最小系统电路局部(2) 键盘扫描电路局部(3) 液晶LCD12864温度显示(4) 温度采集电路局部(5) 晶闸管控制局部(6) 存储局部1.2软件总体设计良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。本系统的设计方案和步骤如下:(1) 根据需求按照系统的功能要求,逐级划分模块。(2) 明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试。(3) 确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。(4) 按照开发式软件设计构
14、造,将各模块有机的结合起来,即成一个较完善的系统。首先接通电源系统开场工作,系统开场工作后,通过按键设定温度值的上限值功率的上限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开场实时检测,调用显示子程序显示检测结果,调用比拟当前显示温度值与开场设定的温度值比拟,如果当前显示值低于设定值就通过晶闸管起动加热装置,直到到达设定值停顿加热,之后进展保温。第二章 硬件系统设计2.1硬件电路分析和设计报告本次设计主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度外加驱动电路显示出来,包括对继电器的控制,进展升温。P2.0和P2.1是设定功率增加和减小的,P2.2和P2.3是设定
15、温度上升和下降的,P2.4是用来存储数据的,P2.5是用来调用存储数据的。整个电路都是通过软件控制实现设计要求。2.1.1单片机最小系统电路本系统采用的单片机为STC89C52RC。STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下:增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.工作电压:5.5V3.3V5V单片机/3.8V2.0V3V单片机工作频率X围:040MHz,相当于普通8051的080MHz,实际工作
16、频率可达48MHz用户应用程序空间为8K字节片上集成512字节RAM通用I/O口32个,复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。ISP在系统可编程/IAP在应用可编程,无需专用编程器,无需专用仿真器,可通过串口RxD/P3.0,TxD/P3.1直接下载用户程序,数秒即可完成一片具有EEPROM功能具有看门狗功能共3个16位定时器/计数器。即定时器T0、T1、T2外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒通用异步串行口UART,还可用定时器
17、软件实现多个UART工作温度X围:-40+85工业级/075商业级PDIP封装STC89C52RC单片机的工作模式掉电模式:典型功耗低I/O缓冲DR配合/W进展写数据或指令高DRI/O缓冲配合R进展读数据或指令低/低高无动作 忙标志:BF BF标志提供内部工作情况.BF=1表示模块在进展内部操作,此时模块不承受外部指令和数据.BF=0时,模块为准备状态,随时可承受外部指令和数据.利用STATUS RD 指令,可以将BF读到DB7总线,从而检验模块之工作状态. 字型产生ROMCGROM 字型产生ROMCGROM提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示DISPLAY
18、 ON),DDRAM 的内容就显示在屏幕上,DFF=0为关显示DISPLAY OFF)。DFF 的状态是指令DISPLAY ON/OFF和RST信号控制的。 显示数据RAMDDRAM模块内部显示数据RAM提供642个位元组的空间,最多可控制4行16字64个字的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H0006H的编码中其代码分别是0000、0002、0004、0006共4个将选择CGRAM的自定义字型,02H
19、7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5A140D75F,GBA1A0-F7FFH。 字型产生RAM(CGRAM) 字型产生RAM提供图象定义(造字)功能, 可以提供四组1616点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。 地址计数器AC地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0时而R
20、/W为“1时,地址计数器的值会被读取到DB6DB0中。光标/闪烁控制电路此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。LCD12864的写数据时序,如图2-4所示图2-4 液晶写数据时序LCD12864的读数据时序,如图2-5所示图2-5 液晶读数据时序LCD12864的指令集如表格所示指令表1:RE=0:根本指令指 指 令 码功 能令RSR/WD7D6D5D4D3D2D1D0去除显示0000000001将DDRAM填满20H,并且设定DDRAM的地址计数器(AC)到00H地址归位000000001X设定DDRAM的地址计数器(AC)到00H,并且将游标
21、移到开头原点位置;这个指令不改变DDRAM 的内容显示状态开/关0000001DCBD=1: 整体显示 ONC=1: 游标ONB=1:游标位置反白允许进入点设定00000001I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容功能设定00001DLXREXXDL=0/1:4/8位数据RE=1: 扩大指令操作RE=0: 根本指令操作设定CGRAM地址0001AC5AC4AC3AC2AC1AC0设定CGRAM 地址设定DDRAM地址0010AC5AC4AC3AC2AC1
22、AC0设定DDRAM 地址显示位址第一行:80H87H第二行:90H97H读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写数据到RAM10数据将数据D7D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM)读出RAM的值11数据从内部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)指令表2:RE=1:扩大指令指 指 令 码功 能令RSR/WD7D6D5D4D3D2D1D0待命模式0000000001进入待命模式,执行其他指令都棵终止待命模式卷动地址开关开启000
23、000001SRSR=1:允许输入垂直卷动地址SR=0:允许输入IRAM和CGRAM地址反白选择00000001R1R0选择2行中的任一行作反白显示,并可决定反白与否。初始值R1R000,第一次设定为反白显示,再次设定变回正常睡眠模式0000001SLXXSL=0:进入睡眠模式SL=1:脱离睡眠模式扩大功能设定00001CLXREG0CL=0/1:4/8位数据RE=1: 扩大指令操作RE=0: 根本指令操作G=1/0:绘图开关设定绘图RAM地址0010AC60AC50AC4AC3AC3AC2AC2AC1AC1AC0AC0设定绘图RAM先设定垂直(列)地址AC6AC5AC0再设定水平(行)地址A
24、C3AC2AC1AC0将以上16位地址连续写入即可该系统的LCD12864液晶硬件电路的复位电路采用上电复位,比照度的调节采用精细电位器调节。液晶电路如图2-7所示。图2-7 液晶电路2.1.4温度采集电路1 DS18B20介绍Dallas最新单线数字温度传感器DS18B20简介新的“一线器件体积更小、适用电压更宽、更经济。Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1822“一线总线数字化温度传感器同DS18B20一样,DS18B2
25、0也支持“一线总线接口,测量温度X围为 -55+125,在-10+85X围内,精度为0.5。DS1822的精度较差为2。现场温度直接以“一线总线的数字方式传输,大大提高了系统的抗干扰性。其DS18B20的管脚配置和封装构造如图2-8所示。图2-8 DS18B20封装引脚定义: DQ为数字信号输入/输出端; GND为电源地; VDD为外接供电电源输入端在寄生电源接线方式时接地。 2DS18B20的单线1wire bus系统单线总线构造是DS18B20的突出特点,也是理解和编程的难点。从两个角度来理解单线总线:第一,单线总线只定义了一个信号线,而且DS18B20智能程度较低这点可以与微控制器和SP
26、I器件间的通信做一个比拟,所以DS18B20和处理器之间的通信必然要通过严格的时序控制来完成。第二,DS18B20的输出口是漏级开路输出,这里给出一个微控制器和DS18B20连接原理图。这种设计使总线上的器件在适宜的时间驱动它。显然,总线上的器件与wired AND关系。这就决定:1微控制器不能单方面控制总线状态。之所以提出这点,是因为相当多的文献资料上认为,微控制器在读取总线上数据之前的I/O口的置1操作是为了给DS18B20一个发送数据的信号。这是一个错误的观点。如果当前DS18b20发送0,即使微控制器I/O口置1,总线状态还是0;置1操作是为了是I/O口截止cut off,以确保微控制
27、器正确读取数据。2除了DS18B20发送0的时间段,其他时间其输出口自动截止。自动截止是为确保:1时,在总线操作的间隙总线处于空闲状态,即高态。2时,确保微控制器在写1的时候DS18B20可以正确读入。由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 DS18B20的复位时序,如图2-9图2-9 DS18B20的复位时序图 DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20
28、的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的读时序图如图2-10所示。图2-10 DS18B20的读时序 DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。如图2-11所示。图2-11 DS1
29、8B20的写时序图3DS18B20的供电方式在图2-12中示出了DS18B20的寄生电源电路。当DQ或VDD引脚为高电平时,这个电路便“取的电源。寄生电路的优点是双重的,远程温度控制监测无需本地电源,缺少正常电源条件下也可以读ROM。为了使DS18B20能完成准确的温度变换,当温度变换发生时,DQ线上必须提供足够的功率。有两种方法确保 DS18B20 在其有效变换期内得到足够的电源电流。第一种方法是发生温度变换时,在 DQ 线上提供一强的上拉,这期间单总线上不能有其它的动作发生。如图2-8 所示,通过使用一个 MOSFET 把 DQ 线直接接到电源可实现这一点,这时DS18B20 工作在寄生电
30、源工作方式,在该方式下 VDD 引脚必须连接到地。图2-12 DS18B20供电方式1另一种方法是 DS18B20 工作在外部电源工作方式,如图2-13 所示。这种方法的优点是在 DQ 线上不要求强的上拉,总线上主机不需要连接其它的外围器件便在温度变换期间使总线保持高电平,这样也允许在变换期间其它数据在单总线上传送。此外,在单总线上可以并联多个 DS18B20,而且如果它们全部采用外部电源工作方式,那么通过发出相应的命令便可以同时完成温度变换。图2-13 DS18B20供电方式24DS18B20设计中应注意的几个问题DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进展补偿,由于DS18B20 与微处理器间采用