毕业设计论文基于DS18B20 AT89S51的数字温控器设计.docx
《毕业设计论文基于DS18B20 AT89S51的数字温控器设计.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于DS18B20 AT89S51的数字温控器设计.docx(30页珍藏版)》请在冰豆网上搜索。
毕业设计论文基于DS18B20AT89S51的数字温控器设计
分类号密级
UDC
毕业设计
基于DS18B20&AT89S51的
数字温控器设计
学生姓名辛雨学号920040888
指导教师王喜
系(中心)信息工程系
专业电子信息工程年级通信5041
论文答辩日期年月日
长江大学文理学院
摘要
在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
其中,温度控制也越来越重要。
在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。
单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。
因此,单片机广泛用于现代工业控制中。
本论文侧重介绍“单片机温度控制系统”的软件设计及相关内容。
论文的主要内容包括:
采样、滤波、键盘、LED显示和报警系统,加热控制系统等。
作为控制系统中的一个典型实验设计,单片机温度控制系统综合运用了微机原理、自动控制原理、模拟电子技术、数字控制技术、键盘显示技术等诸多方面的知识,是对所学知识的一次综合测试。
关键词:
单片机;数字控制;温度计;DS18B20;AT89S51
Designofdigitaltemperaturecontroller
basedonDS18B20&AT89S51
Abstract
Inindustrialproduction,current,voltage,temperature,pressure,andflowrate,velocity,andtheswitchquantityarecommonmainaccusedofparameters.Amongthem,thetemperaturecontrolisbecomingmoreandmoreimportant.Inmanyareasofindustrialproduction,peopleneedtoallkindsofheatingfurnace,heattreatmentfurnace,reactorandboilertemperatureofinspectionandcontrol.Adoptssingle-chipmicrocomputercontroloftemperaturehasnotonlycontrolconvenient,simpleandflexible,andadvantagesofcouldincreasethetechnicalindexesofaccusedoftemperature,whichcangreatlyimprovethequalityandquantityofproducts.Therefore,themonolithicintegratedcircuittothecontrolofthetemperatureisanissuethatweoftenencounterindustrialproductioncontrolproblem.
SCMisakindofsettheCPU,RAM,ROM,I/Ointerfaceandinterruptsystempartsinoneofthedevices,onlyrequireadditionalpowerandcanberealizedvibrationofdigitalinformationprocessingandcontrol.Therefore,microcontrolleriswidelyusedinmodernindustrialcontrol.
Thisthesisfocusesonintroducing"single-chipmicrocomputertemperaturecontrolsystem"softwaredesignandrelatedcontent.Themaincontentsinclude:
papersampling,filtering,keyboard,LEDdisplayandalarmsystem,heatingcontrolsystem,etc.Asacontrolsystemofatypicalexperimentdesign,Single-chipmicrocomputertemperaturecontrolsystemcomprehensiveusingmicrocomputerprinciple,automaticcontrolprinciple,analogelectronictechnology,digitalcontroltechnology,keyboarddisplaytechnologyofmanyaspects,suchasknowledge,isalearnedknowledgeofcomprehensivetest.
Keywords:
Microcontroller;Digitalcontrol;Thermometers;DS18B20;AT89S51
1绪论
1.1课题的背景及意义
温度控制系统在国内各行各业的应用虽然己经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。
成熟的温控产品主要以“点位”控制及常规的PID控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少.随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家,企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。
目前,温度控制器产品从模拟、集成温度控制器发展到智能数码温度控制器。
智能温控器(数字温控器)是微电子技术、计算机技术和自动测试技术的结合,特点是能输出温度数据及相关的温度控制量,适配各种控制器,并且它是在硬件的基础上通过软件来实现控制功能的,其智能化程度也取决于软件的开发水平,现阶段正朝着高精度高质量的方向发展,相信以我国的实力,温控技术在不久的将来一定会为于世界前列!
本文重点对该系统的硬件、软件进行分析设计。
在硬件上对各部分电路一一进行了理论分析与方案论证进行了设计,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图,最终设计完成了该系统的硬件电路。
在软件设计上根据硬件电路和该温度采集系统所需要实现的功能,经过反复的模拟运行、调试、修改,最终完成了该系统的软件设计。
通过硬件与软件的密切配合,最终设计完成达到了题目所要求的功能。
本设计采用的是AT89S51单片机,对多点温度进行采集。
通过集成温度传感器DS18B20将温度值转换为电量输出。
通过键盘实现增加或减少温度上下限模式的切换,可以利用小键盘设定温度的最大值和最小值,当温度高于设定的上限值时,单片机停止加热器加热,同时点亮红色发光二极管,当温度低于设定的下限时,单片机启动加热器加热,同时点亮绿色发光二极管。
在软件上进行主程序和子程序的编程,使该温度控制系统实现智能化发展,精度更高。
1.2相关技术的发展概况
单片机诞生于20世纪70年代,象fairchid公司研制的F8单片微型计算机。
所谓单片机是利用大规模集成电路技术把中央处理单元(CenterProcessingUnit,也即常称的CPU)和数据存储器(RAM)、程序存储器(ROM)及其他I/O通信口集成在一块芯片上,构成一个最小的计算机系统,而现代的单片机则加上了中断单元,定时单元及A/D转换等更复杂、更完善的电路,使得单片机的功能越来越强大,应用更广泛。
20世纪70年代,微电子技术正处于发展阶段,集成电路属于中规模发展时期,各种新材料新工艺尚未成熟,单片机仍处在初级的发展阶段,元件集成规模还比较小,功能比较简单,一般均把CPU、RAM有的还包括了一些简单的I/O口集成到芯片上,象Farichild公司就属于这一类型,它还需配上外围的其他处理电路方才构成完整的计算系统。
类似的单片机还有Zilog公司的Z80微处理器。
1976年INTEL公司推出了MCS-48单片机,这个时期的单片机才是真正的8位单片微型计算机,并推向市场。
它以体积小,功能全,价格低赢得了广泛的应用,为单片机的发展奠定了基础,成为单片机发展史上重要的里程碑。
在MCS-48的带领下,其后,各大半导体公司相继研制和发展了自己的单片机,象Zilog公司的Z8系列。
到了80年代初,单片机已发展到了高性能阶段,象INTEL公司的MCS-51系列,Motorola公司的6801和6802系列,Rokwell公司的6501及6502系列等等,此外,日本的著名电气公司NEC和HITACHI都相继开发了具有自己特色的专用单片机。
80年代,世界各大公司均竞相研制出品种多功能强的单片机,约有几十个系列,300多个品种,此时的单片机均属于真正的单片化,大多集成了CPU、RAM、ROM、数目繁多的I/O接口、多种中断系统,甚至还有一些带A/D转换器的单片机,功能越来越强大,RAM和ROM的容量也越来越大,寻址空间甚至可达64kB,可以说,单片机发展到了一个全新阶段,应用领域更广泛,许多家用电器均走向利用单片机控制的智能化发展道路。
单片机发展趋势
现在可以说单片机是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。
纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:
1.低功耗CMOS化
MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。
象80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。
CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。
所以这种工艺将是今后一段时期单片机发展的主要途径。
2.微型单片化
现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。
甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。
此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。
现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。
3.主流与多品种共存
现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。
所以C8051为核心的单片机占据了半壁江山。
而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。
此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。
在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。
2总体设计方案
2.2设计思路:
AT89S51为核心、DS18B20为温度传感元件。
只要在所设定的上下温度界限内,就会在显示设备中精确的显示出来,如果温度超过了所设定的温度上下限,就会自动发出报警信号。
另外此温度控制器操作简单,灵敏度高,测温范围宽,一般能满足日常测温的需求,用四位7段数码管显示故具有直观的特点。
2.2数字温控器设计方案论证
1.2.1方案一
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
1.2.2方案二
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦
2.3方案选择
从以上两种方案,很容易看出,采用方案一,电路比较简单,软件设计也比较简单,故采用了方案一。
2.4总体设计框图
温度计电路设计总体设计方框图如图2-1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用四位7段数码管实现温度显示。
显示电路
报警电路
测温电路
复位电路
AT89S51单片机
图2-1 总体设计方框图
3主要芯片概述
3.1单片机AT89S51
1.AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
2.功能特性:
兼容MCS-51指令系统32个双向I/O口,2个16位可编程定时/计数器,全双工UART串行中断口线,2个外部中断源,中断唤醒省电模式,看门狗(WDT)电路,灵活的ISP字节和分页编程,4k可反复擦写(>1000次)ISPFlashROM,4.5-5.5V工作电压,时钟频率0-33MHz128x8bit内部RAM,低功耗空闲和省电模式,3级加密位软件设置空闲和省电功能。
3.系统中所用一些引脚的简介
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.2数字温度传感器DS18B20
1、适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电.
2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯
3、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温
4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内
5、温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃
6、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温
7、在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快
8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力
9、负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2、DS18B20的外形和内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的外形及管脚排列如下图:
图3-1DS18B20引脚图
DS18B20的管脚排列如下:
DQ为数字信号输入/输出端;
GND为电源地;
VDD为外接供电电源输入端。
图3-2DS18B20内部结构图
3、DS18B20工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理如图3所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3-3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
图3-3DS18B20测温原理框
3.3二四译码器
译码的的含义就是把输入的二进制代码的特定含义翻译成被编码的信息。
译码器是以一种常见的组合逻辑电路,它的输入代码组合会在某一个输出端产生特定的信号。
译码器按照用途可分为3类:
变量译码器、码制编码器和显示译码器。
本系统用到了变量译码器,所以在这里我们只介绍变量译码器。
变量译码器有n个输入端,m个输出端,它们的关系应满足:
m<=
。
变量译码器的一般以二进制出现,输出端只有与输入二进制码对应的那个输出才为1.本系统所用的译码器有使能端
。
当
=1时,译码器的4个输出均为1,译码器停止工作;当
=0时,译码器才处于正常的工作状态。
带使能端的2-4译码器的真值表如表3-1所示。
表3-1译码器真值表
1
d
d
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
1
0
即根据真值表可以写出函数表达式如下:
=
根据该表达式,可以画出带使能的2-4译码器的逻辑电路图,如图3-4所示。
图3-4译码器的逻辑电路图
4硬件电路设计
4.1主模块
单片机控制模块是温度控制器的核心,它控制了温度的采集、处理与显示、温度上下限值的设定与温度越限时加热器的启动与停止。
本文选用AT89S51作为控制器件。
AT89S51单片机是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统。
功能强大的AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
图4-1主模块
4.2温度采集模块
数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
DS18B20、数字化温度传感器DS18B20也,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
并且还可选更小的封装方式,更宽的电压适用范围。
图4-2为温度
R?
RES2
VCC
3
DQ
2
GND
1
U2
DS18B20
采集模块
图4-2温度采集模块
4.3温度传感与单片机的连接
温度传感器的单总线(1-Wire)与单片机的P2.0连接,P2.0是单片机的高位地址线A8。
P2端口是一个带内部上拉电阻的8位双向I/O,其输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对该端口写“1”,可通过内部上拉电阻将其端口拉至高电平,此时可作为输入口使用,这是因为内部存在上拉电阻,某一引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器时,如执行MOVXDPTR指令,则表示P2端口送出高8位的地址数据。
在访问8位地址的外部数据存储器时,可执行MOVXRI指令,P2端口内容即为特殊功能寄存器(SFR)区中R2寄存器内容,整个访问期间不改变。
在Flash编程和程序校验时,P2端口也接收高位地址和其他控制信号。
图4-3温度传感与单片机的接口电路
4.4显示模块
采用技术成熟的74HC164实现串并转换。
LED显示分为静态显示和动态显示。
这里采用静态显示,系统通过单片机的串行口来实现静态显示。
串行口为方式零状态,即工作在移位寄存器方式,波特率为振荡频率的1/12。
当器件执行任何一条将SBUF作为目的寄存器的命令时,数据便开始从RXD端发送。
在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时允许从TXD端输出移位脉冲。
单片机与报警电路系统中的报警电路是由发光二极管和限流电阻组成,并与单片机的P1.2端口连接。
P1端口的作用和接法与P2端口相同,不同的是在Flash编程和程序校验期间,P1接收低8位地址数据。
图4-4显示电路
4.5报警电路
路由一个三极管和蜂鸣器组成。
当温度值在设定的范围