1、独 创 性 声 明本人声明所呈交的学位论文是本人在老师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。学位论文作者签名: 日期: 学位论文版权使用授权书本学位论文作者授权长江师范学院可以将学位论文的全部或部分内容编入有关数据库进行检索,允许论文被查阅和借阅,可以采用影印、缩印或其它复制手段保存、汇编学位论文。(保密的学位论文在解密后适用本授权书)学位论文作者签名: 指导教师签名: 日 期: 日 期: I摘 要本设计主要研究的是基于单片机的恒温控制
2、,通过对单片机添加外围电路并编程来达到设计目的。其主要分为了软件系统和硬件系统两个部分,然而软件系统的设计是建立在硬件系统的基础上进行的。设计最终达到了恒温控制功能的目的。包括实际温度的测量及显示、温度上下限范围设定、超过上下限温度报警并亮灯以及处理。本设计是把 AT89C52 单片机作为控制中心,把 DS18B20 温度传感器作为温度传感器。它的测量范围在 0100之间, 分辨率为 0.1 摄氏度且误差不大于 1 摄氏度;采用继电器作为弱电控制强电输出。作为恒温控制系统,它将温度探测、单片机控制和弱电控制强电技术相结合,从而达到恒温控制系统的目的。本设计不但能够设置目标温度的上下限值范围,并
3、且当实际温度不高于设定目标温度下限值的时候,继电器一吸合灯亮开始加热,蜂鸣器响且灯亮;当温度不低于设定目标温度上限值的时候,继电器一断开灯灭停止加热,同时继电器二吸合灯亮开始降温,蜂鸣器响且灯亮。关键字:51单片机;恒温控制系统;DS18B20温度传感器IIAbstractThis design study is based on single-chip temperature control, by adding external circuit and microcontroller programming to meet the design objectives. The main s
4、oftware system is divided into two parts and hardware systems , however, the design of software systems is based on the hardware system performed . Designed to ultimately achieve the purpose of temperature control function , including measurement and abc the actual temperature , upper and lower temp
5、erature range is set , over the lower temperature alarm and lighting and processing .This design is the AT89C52 microcontroller as the control center, the DS18B20 temperature sensor as a temperature sensor , its measurement range between 0 100 , with a resolution of 0.1 degrees Celsius and the error
6、 is less than 1 degree Celsius ; using the relay as a weak control the strong electric output. As temperature control system, it will detect the temperature , single-chip control and weak control technology combined with strong power , so as to achieve a constant temperature control system. This des
7、ign can not only set the target temperature of the upper and lower limits , and when the actual temperature is not higher than the target set temperature limits when the relay a pull start heating lights , buzzer and lights, when the temperature is not lower than set the target temperature limit , w
8、hen a broken lamp relay stops heating , while the relay pull two lights began to cool , the buzzer sounds and lights.Keywords: 51 microcontroller; temperature control system; DS18B20 temperature sensor目 录摘 要 IABSTRACT II1 绪论 11.1 课题背景 11.2 研究的目的和意义 11.3 本文研究的主要内容 11.4 本文的章节安排 12 方案选择 22.1 温度测量部分 22.
9、2 主控部分 22.3 显示部分 22.4 数据掉电存储部分 32.5 弱电控制强电部分 32.6 控制算法分析 33 系统设计 53.1 硬件设计 53.1.1 中央控制器设计 53.1.2 数据掉电保护电路 63.1.3 键盘电路 83.1.4 加热器控制电路 83.1.5 温度测量芯片 DS18B20 93.1.6 1602LCD 显示电路 113.2 软件设计 123.2.1 主程序 133.2.2 温度读取子程序 133.2.3 上下限温度比较子程序 133.2.4 AT24C02 掉电保护子程序 143.2.5 温度计算子程序 143.2.6 温度数据显示子程序 153.3 测试及
10、分析 154 设计总结 16参考文献 17致 谢 18附录 A C 语言源程序 19长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 1 页 共 28 页1 绪论1.1 课题背景随着社会的进步和工业的快速发展,在工业生产过程中以及日常生活中,都对各种温度、压力、流量以及液位这四种过程变量有着更高的要求。其中,温度的过程变量是最为重要,也是应用最为广泛的。在很多地方,都需要用到对温度的控制。然而,使用常规的方法来进行控制是没有多少发展潜力的,而且还不能够满足用户所想要的性能要求。因此,本设计将利用 51 单片机和温度传感器来设计一个恒温控制系统。1.2 研究的目的和意义恒温控制系统的设
11、计,可以满足较高的性能要求,具有控制方便、简单和灵活性大、降低消耗、控制成本等优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量,从而提高生产效率。为了能够对温度传感器有进一步的认识和了解,研究其用法与用途。因此,本人利用51单片机再结合温度传感器技术而设计了这一恒温控制系统。本设计适用范围比较广,不但可以作为工业锅炉的温度控制还能够用于室内监控系统、大棚恒温控制系统、水温控制系统等等。课题主要任务是完成恒温控制,利用单片机实现温度在一定范围内实现恒温且具有操作方便,控制灵活的优点。1.3 本文研究的主要内容本文简单介绍了温度智能控制系统的历史发展,重点介绍如何用单片
12、机和温度传感器实现恒温控制系统的设计和制作,并且分析其算法。并通过 KeilC 编译软件来对设计的程序进行仿真调试,从而实现本次毕业设计。本文重点部分主要体现在对单片机最小系统的设计,包括实时温度测量电路的设计,单片机时钟电路的设计,单片机复位电路的设计,掉电保护数据电路的设计,键盘输入电路的设计,LCD 显示电路的设计,弱电控制强电的设计等。以及这些电路工作的各个子程序。本文重点强调的是原理和实用性,原理结合实例,综合分析了恒温控制系统的工作原理和实现方法。1.4 本文的章节安排 本文分为 3 章:第 1 章是绪论,作为引子,介绍文章用到的一些简单概念,介绍恒温智能控制系统的历史背景,应用以
13、及各种工业传感器的其它一些知识,说明恒温控制系统的应用以及本文的意义。第 2 章为关键技术,介绍测量电路、主控电路、显示电路等各个方案的优缺点,并从几个方案中选择一个最优的方案进行系统设计。第 3 章为电路设计,分为硬件设计和软件设计及测试结果,电路的硬件设计,包括 AT89C52 单片机电路、键盘电路、加热器控制电路、温度测量电路、LCD1602 显示电路等。程序设计主要介绍恒温控制系统的主程序和各个子程序,子程序包括:读取温度子程序、温度上长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 2 页 共 28 页下限比较子程序、温度计算子程序、显示温度数据子程序等。简要介绍了测试恒温
14、控制系统的测试方法和测试结果。2 方案选择2.1 温度测量部分温度测量电路设计可以采用 AD590 温度传感器,温度范围在-55+150之间,精度较高,在温度范围内非线性误差在0.3内。AD590 可以承受 44V 正向电压和 20V 反向电压,因而器件反接也不会损坏,使用可靠。它能够在只有直流电源的环境下工作,无需进行线性校正,使用方便,接口简单。和电压输出型相比,它有很强的抗外界干扰能力,测量信号可远传百余米。但是 51 单片机没有 A/D 接口,如果采用 AD590 就要增加硬件成本。温度测量电路设计可以采用 DS18B20 温度传感器,DS18B20 数字温度传感器是 DALLAS 公
15、司生产的单总线器件,它具有线路简单,体积小的特点 4;该芯片直接向单片机传输数字信号,便于单片机处理及控制。本制作的最大特点之一就是直接采用温度传感器对温度进行测量,使电路更简单操作更方便。因此,本设计采用温度传感器 DS18B20 进行温度测量,体现了设计制作的集成化趋势。使总体设计电路更简洁,有效地减少了一些不必要的干扰,提高精准度。2.2 主控部分设计中采用 AT89C52 是一个低电压,高性能 CMOS 8 位单片机,它除具有了 89C51 单片机所具有的优点外,AT89C52 单片机的内部 RAM 存储器还扩展为 256 字节,相比 89C51 单片机的容量增大了;AT89C52 单
16、片机的内部 FLASH PERAM 也增加 1 倍,达到 8K。额外在 89C51 单片机的基础上还多了一个定时器/计数器 T2。且价格便宜,再编程方便,在工业控制中有广泛的应用,因此在本次毕业设计中采用 AT89C52 作为主控器。2.3 显示部分显示电路设计中可以采用 LED 数码管显示器件来作为显示模块,然而 LED 不同位显示的时间间隔局限性较大,间隔太短,由于发光二极管从导通到发光有一定的延时,使导通时间太短,发光太弱没有办法看清。间隔太长,由于要受到临界闪烁频率的限制,时间越长,占用 CPU 时间也越多。它的优点是 LED 数码管价格便宜,显示清晰并且编程较简单。由于选用数码管显示
17、会占用许多 CPU 的时间所以我没有采用它。显示电路设计中也可以采用液晶显示器件作为显示模块,它具有体积小,功耗低,显示内容丰富等特点。在单片机系统中使用 LCD 液晶显示器件作为显示输出模块有以下优点:(1) 数字式接口:LCD1602 液晶显示器一般采用数字式的接口,使用起来更加简单快捷。(2) 体积小,重量轻。(3) 功率消耗小:相比 LED 数码管显示器件 LCD1602 液晶显示器占用 CPU 时间少,功率消耗比其长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 3 页 共 28 页它显示器要小。(4) 显示效果好:在收到信号后,LCD1602 液晶显示器上的每一个点都将保
18、持原有的色彩和亮度,使其恒定发光,屏幕不会出现闪烁现象。1602 型 LCD 显示模块具备这么多优点,所以这次设计采用了 1602LCD 作为显示模块。2.4 数据掉电存储部分数据掉电存储电路在很多地方都是需要用到的,比如,电子日历等一些需要电源的电子产品,如果没有设置数据掉电保护电路,那么在突然掉电后,它的数据将得不到保护,就会自动回到初始状态的数据设置,在下一次通电时用户需要再一次的去设置各种数据,增加了用户的操作,使整个产品变得不适用,然而数据掉电存储电路设计中采用 I2C 总线式串行器件,它有体积小、抗干扰、低功耗等特点,而且能够完美的解决上面所提到的种种问题。所以本次设计选用 AT2
19、4C02 芯片作为数据掉电存储芯片。2.5 弱电控制强电部分毕业设计中有一部分电路是弱电控制强电的,它的作用是用单片机的输出信号去控制继电器的断开与吸合,然后把继电器的控制端接在电热丝或压缩机上。在设计中用继电器作为弱电控制强电输出,其实还可以用可控硅作为弱电控制强电输出。常用的继电器有电磁继电器、固体继电器、舌簧继电器等几种,然而在实际应用的时候要根据实际的情况来做出选择,用途不一样,所选择的继电器也不一样。如何选择合适的继电器是关键。下面简要介绍几种继电器的工作原理:1)电磁继电器:它主要是利用电磁铁铁芯与衔铁间产生的吸力作用来使电路吸合(通)和断开的一种电气继电器。2)固体继电器:它是使
20、电源的输入和输出相隔离从而达到通、断的效果的一种继电器。3)舌簧继电器:它是利用触电簧片和衔铁磁路在一个密封的空间内产生双重作用的舌簧动作来使电路通、断或者转换的一种继电器因为电子市场电磁继电器比较便宜而且控制简单,因此在本设计中采用电磁继电器作为弱电控制强电输出。电磁继电器参数为:输入为 5V,可以和单片机接口相匹配,输出额定驱动电流为 10A、驱动电压为 250V,能满足我的设计要求,而且额定驱动电流和电压越大,价格越高。51 单片机的驱动电流小,不能直接驱动电磁继电器工作,还要在电路设计中加上继电器的驱动电路。继电器的驱动电路可以采用 ULN2803 作为继电器驱动电路,因为它具有很多优
21、点。ULN2803,是采用 AP=DIP18,AFW=SOL18 封装方式的八路 NPN 达林顿连接晶体管阵系列特别适用于低逻辑电平数字电路(诸如 TTL, CMOS 或 PMOS/NMOS)和较高的电流/电压要求之间的接口,广泛应用于计算机,工业用和消费类产品中的灯、继电器、打印锤或其它类似负载中;所有器件具有集电极开路输出和续流箱位二极管,用于抑制跃变。ULN2803 的设计与标准 TTL 系列兼容,而 ULN2804 最适于6 至 15 伏高电平 CMOS 或 PMOS18。继电器的驱动电路也可以采用三极管驱动,它具有电路简单,抗干扰能力强等优点。长江师范学院本科毕业论文(或设计)基于单
22、片机恒温控制系统第 4 页 共 28 页2.6 控制算法分析下面先简要描述一下 PID 算法:PID 是工业控制上的一种常见的、实用性强的控制算法,其中 P 表示的是比例,I 表示的是积分,D 表示的是微分。以温度控制的 PID 程序为例:其公式为:Uo(N)=P*E(N)+I*E(N)+E(N-1)+.+E(0)+D*E(N)-E(N-1)E-表示的是误差值。P-表示的是比例,它可以提高主机的响应速度并且减小静态误差值,但是如果 P 的值太大也是会增大超调量以及稳定时间的,因此在应用的时候要注意其值得大小合适。I表示的是积分,它的作用与 P 大致相同,然而它确可以使静态误差值小到 0。D-表
23、示的是微分,它的作用与 P 和 I 的刚好相反,它是为了减小超调和稳定时间的。然而,在实际应用中我们要综合性的对 P、I、D 进行考虑,在通常情况下先把 I、D 的值设定为零,这样就方便我们把 P 的值调好,在调好 I 的值,把误差降到最低,这时我们再把 D 的值加进去,这是一个繁杂的过程要有耐心反复调试,这样才能达到较好的结果。控制不同的对象所采用的算法也是不同的,而且在对 P、I、D 进行调试的时候难度差异也是比较大的。因此在应用时要结合实际的情况灵活运用。本次毕业设计是对继电器进行控制因此没有采用上述的 PID 控制算法,但是这种控制算法在工业生产中得到了广泛的应用。而使采用了反馈式温度
24、控制系统,组成部分见下图。其中数字控制器的功能由 51 单片机 AT89C52 来实现。图2-1 反馈式控制系统方框图综上所述我设计的恒温控制系统实际采用电路方案如下图:长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 5 页 共 28 页图 2-2 总体设计方框图长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 6 页 共 28 页3 系统设计3.1 硬件设计3.1.1 中央控制器设计本设计中,采用了 AT89C52 单片机作为中央控制器。从图 3-1 中,我们可以看出 AT89C52 单片机内部主要包括了 CPU,定时器/计数器,I/0 接口等多个部分,然而每一个部分都
25、是不可缺少的,都有着各自的作用。下图是 AT89C52 单片机的内部结构总框图。图 3-1 AT89C52 单片机内部结构框图P3 口除可作为一般的 I/O 口线外,更重要的用途是它的第二功能,如表 3-1 所示:表 3-1 P3 口第二功能端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外中断 0)P3.3 /INT1(外中断 1)P3.4 T0(定时/计数器 0)P3.5 T1(定时/计数器 1)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)下图是这次毕业设计中的单片机设计原理图:RAM ROM 定 时
26、器 计 数 器/中 断 系 统 串 行 接 口寄 存 器P0P1P2P3振 荡 电 路CPUXTAL1XTAL2/PSENALEEA并 行 接 口长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 7 页 共 28 页图 3-2 AT89C52 外围电路图图中单片机的 P0 口接在 LCD1602 液晶显示器的数据端口,P25 口、P26 口、P27 口分别接 LCD1602液晶显示器的 RS 口、R/W 口、EN 口。单片机的 P10 口、P11 口、P12 口、P13 口分别接上一个按键,这样单片机就有四个输入设备,分别用来进行温度上下限参数的设置。单片机的 P20 口、P21 口
27、分别用于控制一路继电器,一路用于控制电热丝加热,一路用于控制压缩机降温。单片机 P37 口接在温度传感器 DS18B20 的数据端口,P36 口用于控制蜂鸣器和 LED 报警指示灯。3.1.2 数据掉电保护电路数据掉电保护电路,是为了保护整个设计的系统在工作中所设置的数据在人为断电或者突然地异常断电后能够被保存,使系统在下次运行时不用重新设置,减少了人工操作,让整个设计系统更简单、方便。数据掉电保护电路设计中 AT24C02 芯片硬件电路及与单片机接口如图 3-3:长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 8 页 共 28 页图 3-3 AT24C02 与单片机接口电路图由上
28、图可以看出,本设计的数据掉电保护电路是非常简单的,其中 AT24C02 的 1、2、3 三个脚分别是 A0、A1、A2 三条地址线,都是用来接地的,主要作用是用来确定 AT24C02 芯片的硬件地址;8 脚和 4 脚分别是为 AT24C02 芯片提供+5V 电源以及接地的,不然芯片没有电源不能正常工作;5 脚 SDA 是作为串行数据的输入/输出,在本设计电路中与单片机的 P2.4 口相连接;6 脚 SCL 是作为串行时钟的输入线,在本设计电路中是与单片机的 P2.3 口连接;在+5V 电源与 5 脚、6 脚间各需要接一个 10K 的上拉电阻;而 7 脚则与 1、2、3、三个脚一样需要接地。长江
29、师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 9 页 共 28 页3.1.3 键盘电路 本次恒温控制系统设计中,除了复位按键有专门的电路及专一的功能外,还需要四个设置恒温上下限范围的按键,这四个按键的电路我们称为键盘电路,它们都是以开关状态的形式来工作的。本系统采用的是非编码键盘硬件电路,它的电路非常简单。当有键按按下时,系统开始执行一个时长为10ms的延时程序,然后再来判断该键的现在的电平状态,如果现在呈现出来的是闭合状态电平那么系统就会认为有按键按按下。本设计中的四个设置按键的一端接地,而另一端分别与AT89C52单片机的P10,P11,P12,P13链接。具体如下图3-4所示:
30、图3-4 按键与单片机接口电路图3.1.4 加热器控制电路本设计采用的AT89C52单片机的驱动电流小,不能直接驱动电磁继电器工作,还要在电路设计中加上继电器的驱动电路。本设计从成本及电路方面考虑,决定采用三极管来作为继电器的驱动电路。三极管驱动继电器控制电路如图3-5所示:图3-5 三极管驱动继电器控制电路图长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 10 页 共 28 页3.1.5 温度测量芯片 DS18B20本次毕业设计中采用的是DS18B20温度传感器,它是一种集成芯片,能减小干扰,提高精准度,简化电路,它可以直接读出被测物的温度,并根据用户要求实现912位的数字值读数
31、方式,其性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20温度传感器可以并联在一起使用,检测多个地方的温度;无须外部器件;允许电压范围在3.05.5之间,可以采用数据线供电;零待机功耗;温度以9或12位数字;用户可定义报警设置;电源极性接反时,不会损坏元器件,只是无法正常工作;它的内部结构框图如图3-6所示。图 3-6 DS18B20 温度传感器内部结构框图DS18B20 温度传感器中的高速暂存 RAM 的结构如表 3-2 所示。表3-2 DS18B20温度传感器高速暂存RAM的结构温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRCTM R
32、1 R0 1 1 1 1 1长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 11 页 共 28 页由表3-3可见,DS18B20温度传感器在使用的过程中需要不短的转换时间,而且当分辨率越高的情况下,所需要的转换时间就会越长。因此,在实际应用中需要考虑这两个因素。表3-3是一部分温度值对应的二进制温度数据。表3-3 DS18B20温度转换时间表R1 R0 分辨率/位 温度最大转向时间/MS0 0 9 93.750 1 10 187.51 0 11 3751 1 12 750本设计中DS18B20温度传感器完成温度转换后,就会进行温度比较,把DS18B20温度传感器测得的温度值T与用户
33、设定在RAM中的TH、TL范围作比较。当发生TTH或者TTL的情况下,则对主机发出的报警命令作出相应的响应。在DS18B20温度传感器中,低温度系数晶振的振荡频率用来产生固定频率的脉冲信号并送给计数器1;高温度系数晶振产生的振荡频率所产生的信号作为计数器2的脉冲输入。下面是一部分温度对应值表格3-4。表3-4 一部分温度对应值表温度/ 二进制表示 十六进制表示+125 0000 0111 1101 0000 07D0H+85 0000 0101 0101 0000 0550H+25.0625 0000 0001 1001 0001 0191H+10.125 0000 0000 1010 001
34、0 00A2H+0.5 0000 0000 0000 1000 0008H0 0000 0000 0000 0000 0000H-0.5 1111 1111 1111 1000 FFF8H-10.125 1111 1111 0101 1110 FF5EH-25.0625 1111 1110 0110 1111 FE6FH-55 1111 1100 1001 0000 FC90H本设计中DS18B20温度传感器的电路设计非常简单,主要是在3脚加了一个+5V的电源和一个10K的电阻。具体的电路及与单片机的接口如图3-7。图 3-7 DS18B20 温度传感器硬件电路以及与单片机的接口电路图长江师范
35、学院本科毕业论文(或设计)基于单片机恒温控制系统第 12 页 共 28 页3.1.6 1602LCD 显示电路 随着用户的需要,液晶显示模块已经成为最常用的显示器件。LCD1602液晶显示模块的体积小而且功耗低最重要的是它显示的内容比其他显示模块丰富。1. 外型尺寸:80X36X13(LXWXH)2. 接口信号说明表3-5 LCD1602显示器的引脚介绍序号 符号 引脚名称 序号 符号 引脚名称1 VSS 电源地 9 D2 Data I/O2 VDD 电源正极 10 D3 Data I/O3 VL 液晶显示偏压信号 11 D4 Data I/O4 RS 数据/命令选择端 12 D5 Data
36、I/O5 R/W 读写选择端 13 D6 Data I/O6 E 使能信号 14 D7 Data I/O7 D0 Data I/O 15 BLA 背光源正极8 D1 Data I/O 16 BLK 背光源负极3. 主要技术参数表3-6 LCD1602液晶显示器的主要技术参数显示容量 16X2个字符芯片工作电压 4.55.5V芯片工作电流 2.0mA模块最佳工作电压 5.0V尺寸大小 2.95X4.35mm4数据指针设置AT89C52单片机内部设有一个数据地址指针,用户可以根据需要通过它们访问RAM。表3-7 数据指针设置长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 13 页 共
37、28 页5其它设置表3-8 其它设置6LCD1602本次电路设计图如下:图 3-8 LCD1602 硬件电路以及与单片机接口电路图图中单片机的 P0 口接在 LCD1602 液晶显示器数据端口,P25、P26、P27 分别接 LCD1602 的RS、R/W、EN。LCD1602 液晶显示器 1 脚和 16 脚接地,2 脚和 15 脚接+5V 电源。VL 为 LCD 对比度调节端口。通过改变 10K 电位器阻值可以改变显示屏的对比度。3.2 软件设计软件设计是一个系统的核心,就像人吃的食物一样,如果没有它,那么就什么都做不了,有的就只是一个空壳,因此,本设计中为了达到恒温控制的目的,也设计了相应
38、的软件程序,整个程序的设计分为了主程序和子程序,下面我们就介绍一下各个程序所存在的目的以及他的流程图和部分源程序。3.2.1 主程序本设计中主程序的主要功能是实时显示温度、读取并处理DS18B20温度传感器所测得的当前温度值,长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 14 页 共 28 页DS18B20温度传感器每10ms重新进行一次测量。其程序流程见图3-9所示。图 3-9 主程序流程图 图 3-10 读出温度流程图3.2.2 温度读取子程序温度读取子程序主要是读出RAM中的字节,并校验CRC,当有不正确时则不进行温度数据的改写。其程序流程图如图3-10所示。3.2.3 上
39、下限温度比较子程序上下限温度比较子程序时用来判断当前温度是否在设定温度范围内,若低于设定的温度则加热继电器吸合,进行温度升高,若高于设定的温度则加热继电器断开,降温继电器吸合,开始降温。具体如下图所示:调用初始化 DS18B20 子程序DS18B20 初始化成功单片机各个端口及显示初始化NY调用读取温度值子程序调用显示温度值子程序调用实际温度值和设置的上下限比较子程序调用键盘扫描子程序调用读 AT24C02 子程序初始化 DS18B200CCH 跳过读序号列号的操作44H 启动温度转换0CCH 跳过读序号列号的操作0BEH 读取温度暂存器 9 字节读取温度低 8 位、高 8 位返回长江师范学院
40、本科毕业论文(或设计)基于单片机恒温控制系统第 15 页 共 28 页温度是否超过范围是超温还是低温返回返回 返回吸合降温继电器 吸合加热继电器Y超温Y低温N进入比较子程序图3-11 上下限温度比较流程图3.2.4 AT24C02 掉电保护子程序AT24C02掉电保护子程序是负责初始化AT24C02芯片,然后对芯片进行数据的读写。当单片机设置好温度的上下限值后,按键处理子程序调用数据存储子程序,对数据进行掉电保护。如果某种原因断电了,下次开机上电后程序自动调用数据读子程序把温度的上下限值放入相应RAM存储。其程序流程见图312所示。 图3-12 24C02掉电保护子程序3.2.5 温度计算子程
41、序温度计算子程序是将从RAM中读取的值进行BCD码的转换运算并进行温度值正负的判定,其程序流程图如图3-13所示。长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 16 页 共 28 页图 3-13 温度计算子程序流程图 图 3-14 温度数据显示子程序流程图3.2.6 温度数据显示子程序温度数据显示子程序主要是对显示器显示数据进行刷新,当最高=0时,则将符号显示位移入下一位。其程序流程图如图3-14。3.3 测试及分析恒温控制系统因为涉及到220V强电,所以没有加上电热丝加热,是用继电器的通与断来模拟加热与不加热,实际的控制效果和连接上电热丝效果一样。测试环境为室内常温度。测试仪器
42、为标准数字温度计量程 0-100 摄氏度。测试过程为使恒温系统运行,采用温度计同时测量温度变化情况,得出系统的温度指标。由测试知,温控报警电路的输出与实际温度值误差不大于 0.5 度。另外设置好温度的上下限值,当温度低于下限值时继电器吸合表示开始加热同时蜂鸣器响提示温度过低,当温度高于上限值时继电器断开表示停止加热同时蜂鸣器响提示温度过高。测试效果明显,达到了预期的设计效果长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 17 页 共 28 页4 设计总结通过本次对恒温控制系统的设计制作,使我在各个方面都得到了进一步的提升,在整个设计制作过程中,一定要注意对每一个细小的环节都做到认真
43、的检查,只有这样才能够确保制作能够顺利完成。然而一般在出现错误后的检查顺序为:原理图PCB 图装配情况焊接工艺,一步一步的仔细检查,要有耐心。从整体来说这是一个复杂枯燥的过程,但是,只要细心谨慎,反复的检查,也就不是什么太大的问题。本次毕业设计的制作历时好几个星期,从一开始的确定题目,到后来的不断查阅资料查找相关文献、理论学习,再到近来的调试和测试过程,这一切的一切都使我在理论知识和动手能力上都得到进一步的提升。在整个的设计制作过程中我也不是一帆风顺的,也遇到过各种的问题,在这种时候,遇到的问题越多就应该要越保持一个良好的心态,心态很重要。我在遇到问题的时候一般都是先自己在网上查阅相关资料,翻
44、阅相关的书籍,如果遇到这样都还不能解决的问题时,我就会请教一些我的朋友、同学、老师,就这样再联系书本理论知识积极地思考,所有的问题也都不再是问题,虽然在制作过程中不可避免地遇到很多问题,但是最后还是在老师以及同学的帮助下以及自己的努力下圆满解决了这些问题,实现了整个系统的设计与最后调试,很好地完成了本次设计任务。经过四年学习的积累,在已经了解和掌握相关专业方面知识及其它各方面知识的情况下,我严肃认真的完成了毕业设计。本次设计制作在整个过程中我一次次的失败,又一次次的重新开始,有时候真想放弃,最后还是坚持了下来,在这一个充满了挑战性也伴随挫折感,充满了热情又伴随打击的过程中,我逐渐成长,它不仅仅
45、是一个对我四年学习情况和我动手能力的检验,它还是对我面对困难的心态,做事的毅力和耐心的考验。在这个过程中我深深的感受到了做毕业设计的真正意义所在。长江师范学院本科毕业论文(或设计)基于单片机恒温控制系统第 18 页 共 28 页参考文献1徐爱钧.单片机高级语言 C51 应用程序设计M. 北京:电子工业出版社,2002 2全国大学生电子设计竞赛组委会编.第五届全国大学生电子设计竞赛获奖作品选编(2001), 北京:北京理工大学出版社,20033金伟正.单线数字温度传感器的原理与应用 J.电子技术应用.2000(6):30-454金发庆等编. 传感器技术与应用M. 北京:北京机械工业出版社,200
46、25林伸茂.8051单片机彻底研究基础篇M.北京:人民邮电出版社 20046夏路易等.电路原理图与电路板设计教程M.北京:北京希望电子出版社 20027赵晶.Protel99高级应用M.北京:人民邮电出版社 20008李霞.秦建敏.张志栋 数字温度传感器 DS18B20 在冰情测报系统中的应用 J .太原理工大学学报.2008(1):3-59M. Palumbo, C. Pearson, J. Nagel, M.C. Petty. A single chip multi-channel surface plasmon resonance imaging system. J. 2003 : 5-
47、1510樊建明.陈渊睿 基于数字温度湿度传感器的温室多点测量系统设计 J.传感器与微系统.2007(7):21-3011王俊杰等.DS18B20在粮仓测温系统中的应用 J.郑州轻工业学院学报.2007(10):5-812顾振宇.刘鲁源.杜振辉 DS18B20接口的C语言程序设计 J.单片机与嵌入式系统应用.2002(7):5-17 13张勇.PROTEL 99SE 电路设计技术入门与应用(第一版)M.北京:电子工业出版社,200214刘和平.单片机原理及应用M.重庆:重庆大学出版社,2002 15何力民编. 单片机高级教程M.北京:北京航空大学出版社,200016B.D. Theelen, A
48、.C. Verschueren b, V.V. Reyes Su_arez c, M.P.J. Stevens a, A. Nunez. A scalable single-chip multi-processor architecture with on-chip RTOS kernel. J. 2003: 22-3017Jayanta Mukherjee, Manfred K. Lang b, S.K. Mitra. Demosaicing of images obtained from single-chip imaging sensors in YUV color space. J. 2005:13-1818http:/ 19 页 共 28 页致 谢大学生活到这里即将划上一个句号,而对我来说这是一个结束但也是我人生的另一个开始。求学生涯在各位老师、同学、亲友的大力支持下一直走到了现在,索然走得辛苦却也收获满囊。在论文即将付梓之际,思绪万千,心情久久不能平静。我要把我的敬意和赞美献给栽培我四年的母校和老师,是你们用汗水和知识哺育了我,从一个懵懂女生到一个懂知识、有素质有理想的大学生,老师的孜孜教诲让我懂得了怎么样去做人、做事和学习思考。老师为我们营造了一个良好的学习氛围。耳濡目染,潜移默化