武夷山职业学院
毕业论文(设计)
题 目: 基于单片机的热水控制器
系 别: 电子信息工程技术 专业(班级): 09级电信 姓 名: 王勇 学 号: 20092202110 指 导 教师 : 刘梅卿 完 成 时间 : 2012 年 6 月 5 日
目 录
摘要 ............................................................... 3 1 绪论 ............................................................. 3 2 系统的总体设计 ................................................... 3 3 系统的主要硬件介绍 ............................................... 4
3.1 单片机介绍 .................................................. 4
3.1.1单片机概述 ............................................. 4 3.1.2 单片机编程语言介绍 .................................... 5 3.1.3 系统选择 .............................................. 6 3.1.4 AT89C51引脚功能介绍 ................................... 8 3.2 温度传感器DS18B20 ......................................... 10
3.2.1 DS18B20简介 .......................................... 10 3.2.2 DS18B20的硬件连接 .................................... 11
4 热水控制器的系统设计 ............................................ 12
4.1硬件设计 ................................................... 12
4.1.1 温度检测部分 ......................................... 12 4.1.2 LED数码管显示电路 .................................... 13 4.1.3 报警及控制输出部分 ................................... 14 4.1.4 单片机及按键电路设计 ................................. 14 4.2 软件系统设计 ............................................... 16
4.2.1 系统程序流程图 ....................................... 16 4.2.2 单片机软件开发语言 ................................... 17 4.2.3 DS18B20驱动程序 ...................................... 18 4.2.4 系统的程序源代码 ..................................... 21
参考文献 .......................................................... 27 附:系统整体硬件电路图 ............................................ 28
摘要
本文以单片机AT89C51为核心,从DS18B20温度检测的数据采集、设定值调整、LED数码管显示电路、报警及输出控制电加热器等几个方面出发,详细研究和设计了基于单片机的热水控制器的各个部分内容,设计了单片机及其外围电路,并结合一套经典的程序算法。给出了一套合理的基于单片机的热水控制器软硬件解决方案。
关键字 温度检测 DS18B20 单片机 温度控制
1 绪论
单片机在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到温度检测和温度控制。基于单片机的热水控制器较传统的温度控制器具有更高的智能性,并且系统的功能更加易于扩展和升级,是一种低成本的温度检测、控制方案。
在一些温控系统电路中,广泛采用的是通过热电偶、热电阻或PN结测温电路经过相应的信号调理电路,转换成A/D转换器能接收的模拟量,再经过采样/保持电路进行A/D转换,最终送入单片机及其相应的外围电路,完成监控。但是由于传统的信号调理电路实现复杂、易受干扰、不易控制且精度不高。本文介绍单片机结合DS18B20热水控制器设计,本系统用一种新型的可编程温度传感器(DS18B20),不需复杂的信号调理电路和A/D转换电路能直接与单片机完成数据采集和处理,实现方便、精度高,可根据不同需要用于各种场合。 2 系统的总体设计
单片机的热水控制器需要完成温度的检测并可以通过按键设定调整最高温度和最低温度值、能够显示当前温度值、最高温度和最低温度值,同时要实现水温超过最高温度+3度时,停止电热棒加热并报警;当水位低于最低温度-3度时,启动电热棒加热等功能。需要系统包括单片机最小系统电路和按键电路、LED显示电路、温度检测部分、报警和控制输出等主要部分,系统地总体设计狂徒如下图所示:
DS18B20 温度检测部分 按键 电路 单片机 LED 数码管显示 报警和 输出控制部分
图2.1 系统整体设计框图
3 系统的主要硬件介绍
3.1 单片机介绍 3.1.1单片机概述
单片微机(Single-Chip Microcomputer)简称单片机,通常统称微控制器
(Micro-Controller 简写μC)或微型处理部件(Micro Controller Unit 简写MCU)。一般的说,单片机就是在一块硅片上集成CPU、RAM、ROM、定时器/计数器、和多种I/O的完整的数字处理系统。二十世纪,微电子、IC集成电路行业发展迅速,其中单片机行业的发展最引人注目。单片机功能强、价格便宜、使用灵活,在计算机应用领域中发挥着极其重要的作用。从INTEL公司于1971年生产第一颗单片机Intel-4004开始,开创了电子应用的“智能化”新时代。单片机以其高性价比和灵活性,牢固树立了其在嵌入式微控制系统中的“霸主”地位,在PC机以286、386、Pentium、PⅢ高速更新换代的同时,单片机却“始终如一”保持旺盛的生命力。例如,MCS-51系列单片机已有十多年的生命期,如今仍保持着上升的态势就充分证明了这一点。 1.单片机的结构与组成
目前,单片机的系统结构有两种类型:一种是将程序和数据存储器分开使用, 即哈佛(Harvard)结构,当前的单片机大都是这种结构。另一种是采用和PC机的冯.诺依曼(Von Neumann)类似的原理,对程序和数据存储器不作逻辑上的区分,用来存放用户程序,可分为EPROM、OTP、ROM和FLASH等类。
EPROM型内存编程后其内容可用紫外线擦除,用户可反复使用,故特别适用于开发过程,但EPROM型单片机价格很高。具有ROM型(掩膜型)内存的单片机价格最低,它适用于大批量生产。由于ROM型单片机的代码只能由生产厂商在制造芯片时写入,故用户要更改程序代码就十分不便,在产品未成熟时选用ROM型单片机风险较高。OTP型(一次可编程)单片机介于EPROM和ROM型单片机之间,它允许用户自己对其编程,但只能写入一次。OTP型单片机生产多少完全可由用户自己掌握,不存在ROM型有最小起订量和掩膜费问题,另外,该类单片机价格已同掩膜型十分接近,故特别受中小批量客户的欢迎。Flash型(闪速型)单片机允许用户使用编程工具或在线快速修改程序代码,且可反复使用,故一推出就受到广大用户的欢迎。Flash型单片机,即可用于开发过程,也可用于批量生产,随着制造工艺的改进,Flash型单片机价格不断下降,使用越来越普遍,它已是现代单片机的发展趋势。 随机内存(RAM):用来存放程序运行时的工作变量和数据,由于RAM的制作工
艺复杂,价格比ROM高得多,所以单片机的内部RAM非常宝贵,通常仅有几十到几百个字节。RAM的内容是易失性(也有的称易挥发性)的,掉电后会丢失。最近出现了EEPROM或FLASH型的数据存储器,方便用户存放不经常改变的数据及其它重要信息。单片机通常还有特殊寄存器和通用寄存器,它们是单片机中存取速度最快的内存,但通常存储空间很小。 2.中央处理器(CPU)
是单片机的核心单元,通常由算术逻辑运算部件ALU和控制部件构成。CPU就象人的大脑一样,决定了单片机的运算能力和处理速度。 并行输入/输出(I/O)口:通常为独立的双向口,任何口既可以用作输入方式,又可以作输出方式,通过软件编程来设定。现代的单片机的I/O口也有不同的功能,有的内部具有上拉或下拉电阻,有的是漏极开路输出,有的能提供足够的电流可以直接驱动外部设备。I/O是单片机的重要资源,也是衡量单片机功能的重要指针之一。串口输入/输出口:用于单片机和串行设备或其它单片机的通信。串行通信有同步和异步之分,这可以用硬件或通用串行收发器件来实现。不同的单片机可能提供不同标准的串行通信接口,如UART、SPI、I2C、Micro Wire等。 3.定时器/计数器(T/C)
单片机内部用于精确定时或对外部事件(输入信号如脉冲)进行计数,有的单片机内部有多个定时/计数器。 4.系统时钟
通常需要外接石英晶体或其它振荡源来提供时钟信号输入,也有的使用内部RC振荡器。
以上是单片机的基本构成,现代的单片机又加入了许多新的功能部件,如模拟/数字转换器(A/D)、数字/模拟转换器(D/A)、温度传感器、液晶(LCD)驱动电路、电压监控、看门狗(WDT)电路、低压检测(LVD)电路等等。 3.1.2 单片机编程语言介绍
对于51系列单片机,现有四种语言支持,即汇编、PL/M,C和BASIC。
BASIC通常附在PC机上,是初学编程的第一种语言。一个新变量名定义之后可在程序中作变量使用,非常易学,根据解释的行可以找到错误而不是当程序执行完才能显现出来。BASIC由于逐行解释自然很慢,每一行必须在执行时转换成机器代码,需要花费许多时间不能做到实时性。BASIC为简化使用变量,所有变量都用浮点值。BASIC是用于要求编程简单而对编程效率和运行速度要求不高的场合。