基于单片机的温度控制系统论文最完整版格式已改好_第1页
基于单片机的温度控制系统论文最完整版格式已改好_第2页
基于单片机的温度控制系统论文最完整版格式已改好_第3页
基于单片机的温度控制系统论文最完整版格式已改好_第4页
基于单片机的温度控制系统论文最完整版格式已改好_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、德州学院 物电学院 2014届 电子信息工程专业 毕业设计基于单片机的温度控制系统李岩(德州学院物电学院 山东德州253023)摘 要 温度控制系统在科学研究以及人们的生活领域中越来越广泛被应用,所以设计出一种较为理想的温度控制系统具有不凡的价值和意义。本设计从硬件和软件两方面讲述了温度自动控制的过程。它可以实时的显示和设定温度,实现对温度的自动控制。本设计对温度的控制主要是通过DS18B20数字温度传感器采集环境温度,把单片机作为核心控制部件调整温度高低,最后通过LCD液晶显示器来显示实时温度。在软件方面,为节省存储空间提高指令执行速度,采用汇编语言来进行程序设计。另一方面,为了便于扩展和更

2、改,软件设计采用的是模块化结构,使程序设计的逻辑关系更加简洁明了,同时使硬件可以在软件控制下协调运作。关键词 AT89S51单片机; 温度传感器DS18B20; 数据采集; LCD液晶显示器 1 绪论温度是日常生活中经常遇到的一个物理量,它也是科研和生产中最常见、最基本的常量之一。在很多场合都需要对温度进行测控,而温度测控离不开温度传感器,因此,掌握正确的测温方法及温度传感器的使用方法极为重要。温度的检测与控制在科学研究以及人们的生活领域中有着广泛的应用。通过单片机AT89S51和数字温度传感器DS18B20等原件构成的系统可以构建一个简易的温度控制系统。AT89S51是一种低功耗高性能的8位

3、单片机,片内带有一个4KB的Flash在线可编擦除只读储器,它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统和51系列单片机兼容。片内的存储器允许在线重新编程或用常规的非易失性存储器编程器来编程。同时已具有三级程序存储器保密的性能。在众多的51系列单片机中,要算ATMEL公司的AT89S51更实用,因为它不仅和MCU-51系列单片机指令、管脚完全兼容,而且它将通用CPU和在线可编程Flash集成在一个芯片上。这种单片机对开发设备的要求很低,开发时间也大大缩短。温度检测与控制在自动控制领域占有很重要地位。测量温度、控制温度和保持温度是单片机温度测量系统中的

4、关键之处。温度测量是工业对象中主要的被控参数之一。本次我毕业设计的题目是基于单片机的温度控制系统设计。它是多种技术知识的结合,不仅涉及到软件的设计,而且还将应用电子技术与单片机的应用技术有机结合,使其具有精度高、测量误差小、稳定性好等特点。本文介绍了对温度的显示、控制及报警,实现了温度的实时显示及控制。控制部分,提出了用DS18B20、AT89S51单片机及LED的硬件电路完成对温度的实时检测及显示,利用DS18B20与单片机连接由软件与硬件电路配合来实现对加热电阻丝的实时控制及超出设定的上下限温度的报警系统。该控制系统的硬件部分,包括:温度检测电路、温度控制电路、键盘电路与显示电路和一些接口

5、电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。温度控制系统采用AT89S51八位机作为微处理单元进行控制1。单片机能够连续测量温度值,实现温度的自动控制。采用4X4键盘把设定温最高值和最低值存入单片机的数据存储器。通过按键来控制温度的设定值,数值采用液晶显示器显示。通过键盘完成温度检测功能的转换。温度传感器把采集的信号与单片机里的数据相比较来控制温度控制器。软件部分采用模块化结构,主要模块有温度设定和中断程序的设定。2 课题方案设计电源模块温度检测模块温度控制模块LCD液晶显示模块矩阵键盘报警模块 AT89S51 主控制器 图2-1 温度控制系统框图本设计系统框图如图2-1所示,

6、采用AT89S51作为主控芯片,主要原因在于它是一种低功耗高性能的8位单片机,采用了CMOS工艺和高密度非易失性存储器技术,而且通用CPU和在线可编程Flash集成在一个芯片上。这种单片机对开发设备的要求很低,使用方便,能够满足设计的需要;温度传感模块采用的是DS18B20芯片,DS18B20 数字温度传感器具有线路简单,体积小的特点。DS18B20采用单总线专用技术,既可通过串行口线,也可通过硬件。另外,其内部集成了A/D转换器,可以使电路结构更加简单,可以减少温度测量转换时的精度损失,使得测量温度更加精确。它的测温范围为-55-+125,测量分辨率为0.0625,满足工作范围。采用行列式矩

7、阵键盘用于密码输入,可减少键盘使用的I/O口数目,节省空间;采用LCD作为显示器,LCD液晶显示器是一种低压、微功耗的显示器件,只要23伏就可以工作,工作电流仅为几微安,是任何显示器无法比拟的,同时可以显示大量信息。而且没有复杂的机械结构以及锁舌的构造,接线方便;电源模块采用12V蓄电池作为总电源,使用方便,可循环利用,节约能源,能够满足设计的基本要求。 本设计的主要任务是能对温度进行自动的检测和控制,此系统能测量温度,并能在超限的情况下进行控制、调整,并报警。要实现系统的设计要用到的知识点有单片机的原理及其应用,温度传感器的原理和应用,及键盘和显示电路的设计等。 3 硬件电路设计3.1 单片

8、机最小应用系统 3.1.1 单片机的选择随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,Digital SignalProcessing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的µnSP(Microcontroller and Signal Processor)16位微处理器芯片(以下简称µnSP)。围绕µnSP所形成的16位µnSP系列单片机(以下简称µnSP家族)采用的是模块式集成结构,它以µnSP内核为中心集成不同规模的R

9、OM、RAM和功能丰富的各种外设接口部件。µnSP内核是一个通用的核结构。除此之外的其它功能模块均为可选结构,亦即这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合。这样做无疑会使每一种派生产品具有更强的功能和更低的成本2。 利用凌阳单片机有一定的好处凌阳的优势是硬件性能,抗干扰能力强,但凌阳单片机我们没有系统的学习,这对于刚接触单片机的我们来说不是很容易上手,其价格也要比89S51昂贵一些,因此我们并没有将其作为首选。 MCS系列单片机集成了几乎完善的中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用

10、寄存器,这给我们利用单片机提供了极大的便利。51的优点是价钱便宜,I/O口多,程序空间大。因此,测控系统中,使用51单片机是最理想的选择。单片机的开发环境要求较低,软件资源十分丰富,开发工具和语言也大大简化。单片机的典型代表是Intel公司在20世纪80年代初研制出来的MCS51系列单片机。与AT89C51相比,AT89S51有更突出的优点,AT89S51增加了在线可编程功能ISP(In System Program),字节和页编程,现场程序调试和修改更加方便灵活;另外,其数据指针增加到两个,方便了对片外RAM的访问过程;其次,增加了看门狗定时器,提高了系统的抗干扰能力;还有AT89S51增加

11、了断电标志并且可以在掉电状态下终端恢复模式3。 AT89S51是一个低功耗,高性能CMOS 8位单片机,CPU对各种功能部件的控制是采用特殊功能寄存器(SFR,Special Function Register)的集中控制方式。片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统供给高性价比的解决

12、方案。 AT89S51把作为控制应用所必需的基本功能部件都集成在一个尺寸有限的集成电路芯片上。其硬件组成包括8位微处理器(CPU)、数据存储器(128B RAM)、程序存储器(4KB Flash ROM)、4个8位可编程并行I/O口(P0口、P1口、P2口和P3口)、1个全双工的异步串行口、2个可编程的16位定时器/计数器、1个看门狗定时器、中断系统具有5个中断源、5个中断向量、特殊功能寄存器(SFR)26个、低功耗模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式、3个程序加密锁定位。 AT89S51有40引脚双列直插(DIP)形式。其与80C51引脚结构基本相同,其逻引脚图如图3-1

13、。图3-1 AT89S51逻辑引脚图各引脚功能叙述如下:(1)电源和晶振VCC运行和程序校验时加+5VGND接地XTAL1输入到振荡器的反向放大器XTAL2反向放大器的输出,输入到内部时钟发生器XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。当输入至内部时钟信号时要通过一个二分频触发器,而对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输

14、出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置04。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。 (2)I/O(4个口,32根)单片机芯片内有一项主要功能就是并行I/O口。51系列共有4个8位的并行I/O口,分别记作P0、P1、P2、P3每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。P0口8位

15、、漏极开路的双向I/O口。当使用片外存储器(ROM、RAM)时,作地址和数据分时复用。在程序校验期间,输出指令字节(需加外部上拉电路)。P0口(作为总线时)能驱动8个LSTTL负载。P1口8位、准双向I/O口。在编程/校验期间,用于输入低位字节地址。P1口可驱动4个LSTTL负载。对于80C51,P1.0T2,是定时器的计数端且位输入;P1.1T2EX,是定时器的外部输入端。这时,读两个特殊输入引脚的输出锁存器应由程序置1。P2口8位、准双向I/O口。当使用片外存储器(ROM及RAM)时,输出高8位地址。在编程/校验期间,接收高位字节地址。P2口可以驱动4个LSTTL负载5。P3口8位、准双向

16、I/O口,具有内部上拉电路。P3口提供各种替代功能。在提供这些功能时,其输出锁存器应由程序置1。P3口可以输入/输出4个LSTTL负载。(3)串行口P3.0RXD(串行输入口),输入。P3.1TXD(串行输出口),输出。(4) 中断系统 中断系统是单片机的重要组成部分。实时控制、故障自动处理、单片机与外围设备间的数据传送往往采用中断系统。中断系统大大提高了系统的效率。 S51系统有关中断的寄存器有4个,分别为中断源寄存器TCON和SCON、中断允许控制寄存器IE和中断优先级控制寄存器IP;中断源有5个,分别为外部中断0请求INT0、外部中断1请求INT1、定时器0溢出中断请求TF0、定时器1溢

17、出中断请求TF1和串行中断请求R1或T1。5个中断源的排列顺序由中断优先级控制寄存器IP和顺序查询逻辑电路共同决定,5个中断源分别对应5个固定的中断入口地址。中断的特点是分时操作,实时处理和故障处理。本次设计所需的单片机芯片AT89S51的中断系统中要用到外部中断源、定时器溢出中断源、串行口中断源、中断标志几种终端类型。 AT89S51有INT0和INT1两条外部中断请求输入线,用于输入两个外部中断源的中断请求信号,并允许外部中断源以低电平或负边沿两种中断触发方式来输入中断请求信号。AT89S51究竟工作于哪种中断触发方式,可由用户对定时器控制寄存器TCON中IT0和IT1位状态的设定来选取。

18、AT89S51在每个机器周期的S5P2时对INT0、线上中断请求信号进行一次检测,检测方式和中断触发方式的选取有关。若AT89S51设定为电平触发方式(IT0=0或IT1=0),则CPU检测到INT0、INT1上低电平时就可认定其上中断请求有效;若设定为边沿触发方式(IT0=1或IT1=1),则CPU需要两次检测INT0、INT1线上电平方能确定其上中断请求是否有效,即前一次检测为高电平和后一次检测为低电平时中断请求才有效。 定时器溢出中断由AT89S51内部定时器分的中断源产生,故它们属于内部中断。AT89S51内部有两个16位定时器/计数器,受内部定时脉冲(主脉冲经12分频后)或T0/T1

19、引脚上输入的外部定时脉冲计数。定时器T0/T1在定时脉冲作用下从全“1”变成全“0”时可以自动向CPU提出溢出中断请求,以表明定时器T0或T1的定时时间已到6。 串行口中断由AT89S51内部串行口的中断源产生,也是一种内部中断。串行口中断分为串行口发送中断和串行口接收中断两种。在串行口进行发送/接收数据时,每当串行口发送/接收完一组串行数据时串行口电路自动使串行口控制寄存器SCON中的RI或TI中断标志位置位,并自动向CPU发出串行口中断请求,CPU响应串行口中断后便立即转入串行口中断服务程序执行。因此,只要在串行口中断服务程序中安排一段对SCON中RI和TI中断标志位状态的判断程序,便可区

20、分串行口发生了接收中断请求还是发送中断请求7。 AT89S51在S5P2时检测(或接收)外部(内部)中断源发来的中断请求信号后先使相应中断标志位置位,然后便在下个机器周期检测这些中断标志位状态,以决定是否响应该中断。P3.2INT0外部中断0,输入。P3.3INT1外部中断1,输入。 (5)定时器/计数器 定时器/计数器(Timer/Counter)是单片机中的重要部件,其工作方式灵活、编程简单,使用它对减轻CPU的负担和简化外围电路都大有好处。S51系列包含有两个16位的可编程定时器/计数器分别称为定时器/计数器T0和定时器/计数器T1;在S51部分产品中,还包含有一个用做看门狗的8位定时器

21、。定时器/计数器的核心是一个加1计数引脚上施加器,其基本功能是加1功能。在单片机的定时器T0或T1中,有一个定时器发生由0到1的跳变时,计数器增1,即为计数功能;在单片机内部对机器周期或其分频进行计数,从而得到定时,这就是定时功能。在单片机中,定时功能和计数功能的设定和控制都是通过软件来进行的。定时器/计数器内部结构及其原理:由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。当定时器/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器加1,直至计满溢出。定时器的定时时间与系统的振荡频率紧密相关,因为C51系列单片机的一个机器周期由12个振

22、荡脉冲组成,所以,计数频率fc=fosc/12。如果单片机系统采用12MHz晶振,则计数周期为: 这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。当定时器/计数器设置为计数工作方式时,计数器对来自输入引脚T0和T1的外部信号计数,外部脉冲的下降沿将触发计数。在每个机器周期的S5P2期间采样引脚输入电平,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。新的计数值是在检测到输入引脚电平发生1到0的负跳变后,于下一个机器周期的S3P1期间装入计数器中的,可见,检测一个由1到0的负跳变需要两个机器周期,所以最高检测频率为振荡频率的1/24。计数器对外部输入信号的占空比没

23、有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上8。 P3.4T0定时器/计数器0的外部输入,输入。P3.5T1定时器/计数器1的外部输入,输入。(6)数据存储器选通P3.6WR低电平有效,输出,片外存储器写选通。P3.7RD低电平有效,输出,片外存储器读选通。(7)控制线(共4根)输入:RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。EA/Vpp片外程序存储器访问允许信号,低电平有效。在编程时,其上施加21V的编程电压。注意:在加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引

24、脚也用于施加12V编程电源(VPP)。输入、输出:ALE/PROG地址锁存允许信号,输出。ALE以1/6的振荡频率稳定速率输出,可用作对外输出的时钟或用于定时。在EPROM编程期间,作输入,输入编程脉冲(PROG)。ALE可以驱动8个LSTTL负载。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的9。注意:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE

25、只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。输出:PSEN片外程序存储器选通信号,低电平有效。在从片外程序存储器取址期间,在每个机器周期中,当PSEN有效时,程序存储器的内容被送上P0口(数据总线)。PSEN可以驱动8个LSTTL负载。 3.1.2 单片机最小应用系统的设计目前的单片机开发系统只能够仿真单片机,却没有给用户提供一个通用的最小系统。由设计的要求,只要做很小集成度的最小系统应用在一些小的控制单元。其应用特点是:(1)全部I/O口线均可供用户使用。 (2)内部存储器容量有限(只有4KB地址空间)。 (3)应

26、用系统开发具有特殊性。图3-2 最小系统图 单片机最小系统如图3-2所示,包括单片机、电源回路、晶振回路、复位回路。其中有4个双向的8位并行I/O端口,分别记作P0、P1、P2、P3,都可以用于数据的输出和输入,P3口具有第二功能为系统提供一些控制信号。时钟电路用于产生MCS-51单片机工作所必须的时钟控制信号,内部电路在时钟信号的控制下,严格地按时序指令工作。MCS-51内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片的引脚XTAL1,输出端为XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。电路中的微调电容通常选择为30pF左右,

27、该电容的大小会影响到振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率为12MHz。把EA脚接高电平,单片机访问片内程序存储器,但在PC值超过0FFFH(4Kbyte地址范围)时,将自动转向执行外部程序存储器内的程序10。MCS-51的复位是由外部的复位电路来实现。采用最简单的外部按键复位电路。按键自动复位是通过外部复位电路的来实现的.我们选用时钟频率为12MHz,C1取47f。3.2 温度传感电路 3.2.1 DS18B20的介绍DS18B20 数字温度传感器是DALLAS 公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,在一根通信线,

28、可以挂很多这样的数字温度计,十分方便。除此之外,DS18B20采用单总线专用技术,既可通过串行口线,也可通过硬件。DS18B20与单片机的连接有两种方法,一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻.其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值。 DS18B20产品的性能特点:数字温度传感器DS18B20内部集成了A/D转换器,可以使电路结构更加简单,可以减少温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感

29、器DS18B20只用一个引脚就可以和单片机进行通信,极大的减少了接线麻烦,同时又使单片机有了更好的扩展性。由于DS18B20芯片具有小型化的特点,通过单跳数据线和主电路连接就变得更加简便。把数字温度传感器DS18B20做成探头,探入到狭小的地方,即增加了实用性又能串接多个数字温度传感器DS18B20进行范围的温度检测。在 DS18B20 中的每个件上都有独一无二的序列号。采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值。(9位二进制数,含符号位)测温范围为-55-+125,测量分辨率为0.0625,内含64位经过激光修正的只读存储

30、器ROM,适配各种单片机或系统机,用户可分别设定各路温度的上、下限11。DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。DS18B20的管脚排列如图3-3所示。 图3-3 DS18B20管脚图 DS18B20的4个主要数据部件:光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码。64 位光刻 ROM 的排列是:开始 8 位(28H)是产品类型标号,接着 的 48 位是该DS18B20自身的序列号, 最后8位是前面 56 位的循环冗余校验码。 光刻 ROM 的作用是使每一个DS18

31、B20都各不相同,这样就可以实现一根总线上挂接多个 DS18B20 的目的。 DS18B20 中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以 0.0625/LSB 形式表达,其中S为符号位这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM 中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625 即可得到实际温度。 DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存

32、 RAM 和一个非易失性的可电擦EEPROM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 配置寄存器,五位一直都是"1",TM 是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0 用来设置分辨率。 DS18B20的三个工作过程 :第一是初始化,DS18B20所有的数据交换都由一个初始化序列开始。由主机发出的复位脉冲和跟在其后的由DS18B20发出的应答脉冲构成DS18B20发出响应主机的应答脉冲时,当即向主机表明它已处在总线上并且准备工作。第二是ROM 命令,ROM命令通过每个器件64

33、-bit的ROM码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信DS18B20,每个 ROM命令都是8bit长。第三个工作过程是功能命令,主机通过功能命令对DS18B20进行读/写 Scratchpad存储器,或者启动温度转换。 DS18B20的信号方式:DS18B20采用严格的单总线通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、写1、读0 和读1。除了应答脉冲所有这些信 号都由主机发出同步信号。总线上传输的所有数据和命令都是以字节的低位在前。(1)初始化序列:复位脉冲和应答脉冲 在初始化过程中,主机通过拉低单总线至少480µs,

34、以产生复位脉冲(TX)。然后主机 释放总线并进入接收(RX)模式。当总线被释放后,4.7k的上拉电阻将单总线拉高。 DS18B20检测到这个上升沿后,延时15µs60µs,通过拉低总线 60µs240µs 产生应答 脉冲。(2)读和写时序 在写时序期间,主机向DS18B20 写入指令,而在读时序期间,主机读入来自 DS18B20 的指令。在每一个时序,总线只能传输一位数据。 写时序:存在两种写时序:“写 1”和“写 0” 。主机在写 1 时序向DS18B20写入逻辑1,而在写0时序向DS18B20写入逻辑0。所有写时序至少需要60µs,且在两次

35、写时序之 间至少需要 1µs 的恢复时间。两种写时序均以主机拉低总线开始。产生写 1 时序:主机拉低总线后,必须在 15µs 内释放总线,然后由上拉电阻将总 线拉至高电平。 产生写"0"时序: 主机拉低总线后,必须在整个时序期间保持低电平 (至少60µs)。在写时序开始后的 15µs60µs 期间,DS18B20采样总线的状态。读时序:DS18B20 只能在主机发出读时序时才能向主机传送数据。所以主机在发出读数据 命令后,必须马上产生读时序,以便 DS18B20 能够传送数据。所有读时序至少 60µs, 且在两次独

36、立的读时序之间至少需要1µs的恢复时间。 3.2.2 温度传感电路的设计在硬件上,DS18B20与单片机的连接有两种方法,一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻.我们采用的是第一种连接方法,如图3-4所示:把DS18B20的数据线与单片机的13管脚连接,再加上上拉电阻。图3-4 温度传感电路图 CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每

37、一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。DS18B20有六条控制命令,如表3-1所示:表3-1 DS18B20控制命令指    令 约定代码 操      作    说      明 温度转换 44H 启动DS18

38、B20进行温度转换 读暂存器 BEH 读暂存器9个字节内容 写暂存器 4EH 将数据写入暂存器的TH、TL字节 复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU 3.3 温度控制电路 3.3.1 温度控制的主要方法温度测量的方法多种多样,而温度测控技术又包括温度测量技术和温度控制技术两个方面。温度的测量和控制技术也因为分类的不同而被划分成不同的种类。使用集成的半导体模拟温度传感器是常用的温度测量方法。由于传感器输出的电压或电流

39、与温度在一定范围呈线性关系,所以经过放大后采样就可以被测量。另外,热电偶也是一种常用的温度测量方法。这种方法测量精度较高,但测试过程复杂并且测量时间较长,采用电桥测量的系统抗干扰能力较差,误差也就较大12。 从敏感元件和被测介质接触与否来看,温度控制技术可以分为接触式与非接触式两大类。接触式检测的方法主要包括基于物体受热体积膨胀性质的膨胀式温度检测仪表。它在温度控制技术中发展较早,这种发法简单、可靠、低廉、测量精度较高,一般能够测得真实温度。但是该方法不适宜于对腐蚀性介质测温,不能用于超高温测量,难于测量运动物体的温度。并且受热惯性的影响,这种方法响应时间较长,难以实现对热容量小的物体进行精确

40、测量。 而非接触式检测方法是利用物体的热辐射特性与温度之间的对应关系,对物体的温度进行检测,主要有亮度法、全辐射法和比色法等。它是通过对辐射能量的检测来实现温度测量的方法,其优点是不破坏被测温场,可以测量热容量小的物体,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。但也存在测量误差较大,仪表指示值一般仅代表物体表观温度,测温装置结构复杂,价格昂贵等缺点。因此,在实际的温度测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少投入。随着集成电路技术的迅速发展,新型的数字化温度传感器其精度、稳定性、可靠性及抗干扰能力都优于模拟的温度传感器。数字温度传感

41、器也越来越的到广泛的应用。 按照控制目标的不同又可以将温度控制技术分为两类动态温度跟踪与恒值温度控制两类。动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。在发酵过程控制,化工生产中的化学反应温度控制和冶金工厂中燃烧炉中的温度控制等恒值温度控制的过程都需要用到动态控制。本文所讨论的基于单片机的温度控制系统就是要实现对恒值温度的控制要求。从工业控制器的发展过程来看,温度控制技术大致可分以下几种。 PID温度控制法:PID温度控制其实是一套闭环控制系统,所谓的闭环控制就是通过信号传感器采集信号,然后反溃给控制器,最后控制器再输出信号。这种控制方式一般用于蒸汽水的换热,主要具

42、备三个控制元件:调节阀、PID控制器、热电阻。这种控制具有接线简单,操作方便成本低的优点,能够取代PLC控制,为小型用户节约了成本,所以应用也比较广泛。这种控温方法是基于经典控制理论中的调节器控制原理,控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好、可靠性高等优点被广泛应用工业过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。由于调节器模型中考虑了系统的误差、误差变化及误差积累三个因素,因此,其控制性能大大地优越于定值开关控温。其具体控制电路可以采用模拟电路或计算机软件方法来实现调节功能。前者称为模拟控制器,后者称为数字控制器。其中数字控制器的参数可以在现场实现在线整定,因

43、此具有较大的灵活性,可以得到较好的控制效果。采用这种方法实现的温度控制器,其控制品质的好坏主要取决于三个参数比例值、积分值、微分值。只要PID参数选取的正确,对于一个确定的受控系统来说,其控制精度是比较令人满意的。但是,它的不足也恰恰在于此,当对象特性一旦发生改变,三个控制参数也必须相应地跟着改变,否则其控制品质就难以得到保证。 智能温度控制法:为了克服线性控温法的弱点,人们相继提出了一系列自动调整参数的方法,如参数的自学习,自整定等等。并通过将智能控制与控制相结合,从而实现温度的智能控制。智能控温法以神经网络和模糊数学为理论基础,并适当加以专家系统来实现智能化。其中应用较多的有模糊控制、神经

44、网络控制以及专家系统等。尤其是模糊控温法在实际工程技术中得到了极为广泛的应用。目前已出现一种高精度模糊控制器,可以很好的模拟人的操作经验来改善控制性能,从理论上讲,可以完全消除稳态误差。所谓第三代智能温控仪表,就是指基于智能控温技术而研制的具有自适应算法的温度控制仪表。目前国内温控仪表的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别主要还是在控制算法方面,具体表现为国内温控仪在全量程范围内温度控制精度比较低,自适应性较差。这种不足的原因是多方面造成的,如针对不同的被控对象,由于控制算法的不足而导致控制精度不稳定。 定值开关温控法:通过硬件电路或软件计算判别当前温度值与设定目标

45、温度值之间的关系,进而对系统加热装置或冷却装置进行通断控制的方法就是定值开关温控法。通过这种方法,可以在当前温度值比设定温度值高时,关断加热器或者开动制冷装置来降低温度。还有,在当前温度值比设定温度值高时,通过开启加热器并同时关断制冷器升高温度。这种方法优势是比较简单,而且在没有计算机参与的情况下,用很简单的模拟电路就能够实现。本次实验采用的就是这种方便间接地温控方法。 3.3.2 温度控制电路的设计 图3-5 温度控制电路温度控制电路的实际电路如图3-5所示,通过键盘设定温度的上下限。把实际测量的温度和设定的上下限进行比较,来控制P0.0、P0.1端口的高低电平。把P0.0、P0.1端口分别

46、与三极管的基极连接来控制温度。当测量的温度超过了设定的最高温度,P2.2由高电平变成低电平,就相当于基极输入为“0”,这时三极管导通推动小风扇和控制电路工作,反之,当基极输入为“1”时,三极管不导通,控制电路不工作。只要控制单片机的P0.0、P0.1口的高低电平就可以控制模拟电路的工作。3.4 键盘电路键盘中阿拉伯数字09是数据输入键,A键是写上限的功能键,B键是写下限的功能键,C键是取消键,其他的键置空。用AT89S51的并行口P1接4×4矩阵键盘,以P1.0P1.3作输入线,以P1.4P1.7作输出线;液晶显示器上显示每个按键的“0F”序号。对应的按键的序号排列如图3-6所示:0

47、3214567BA98CDEF 图3-6 按键的序号排列图图3-7中微处理单元是AT89S51单片机,X1和X2接12M的两脚晶振,接两个30PF的起振电容,J1是上拉电阻.单片机的P1口8位引脚与行列式键盘输出脚相连,控制和检测行列式键盘的输入.行线通过上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,有键按下时,行线的电平状态将由与此行线相连接的列线的电平决定.键盘输入的信息主要进程是:(1)CPU判断是否有键按下.(2)确定是按下的是哪个键.(3)把此键所代表的信息翻译成计算机可以识别的代码或者其他的特征符号. 3.5 显示电路 3.5.1 显示器的选择LED显示器:LED显示屏(

48、LED panel),是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。采用传统的七段数码LED显示器。LED虽然价格便宜,但在现代的许多仪表、各种电子产品中逐渐被LCD所取代。 LCD液晶屏:LCD液晶显示器是一种低压、微功耗的显示器件,只要23伏就可以工作,工作电流仅为几微安,是任何显示器无法比拟的,同时可以显示大量信息,除数字外,还可以显示文字、曲线,比传统的数码LED显示器显示的界面有了质的提高。在仪 表和低功耗应用系统中得到了广泛的应用。优点为:显示质量高,由于液晶显示器的每一个点收到信号后就一直保持那种色彩和亮度恒定

49、发光,因此液晶显示器的画质高而且不会闪烁;数字式接口,液晶显示器都是数字式的,和单片机的接口简单操作也很方便;功率消耗小,相比而言液晶显示器的主要功耗在内部电极和驱动IC上,因而耗电量比其他器件要小很多。虽然LCD显示器的价格比数码管要贵,但它的显示效果好,是当今显示器的主流,所以采用LCD作为显示器。 图3-7 键盘硬件电路图3.5.2 显示电路的设计液晶显示器是一种将液晶显示器件,连接器件,集成电路,PCB线路板,背光源,结构器件装配在一起的组件。根据显示内容和方式的不同可以分为,数显LCD,点阵字符LCD,点阵图形LCD在此设计中我们采用点阵字符LCD,这里采用常用的2行16个字的160

50、2液晶模块。把8根数据线和P2口连接,把3根控制线和P2.5、P2.6、P2.7连接。给VCC端加上+5V的电压,GND端接地。VEE端的驱动电压不要过大,要调节滑动变阻器使VEE在0.7伏以下显示器才能工作。1602采用标准的14脚接口,其中:第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和

51、RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。 第1516脚:空脚。与单片机的连接如图3-8所示。图3-8 液晶显示电路图图3-9 硬件报警电路3.6 报警电路 单片机的P0.7分别与三极管的基极连接来构成报警电路。利用面包板搭了一个PNP9012的偏置电路电路如图3-9。基极输入为“0”时,三极管导通推动报警电路工作,当基极输入为“1”时,三极管不导通,报警器不工作。只要控制单片机的P0.7口的高低电平

52、就可以控制模拟电路的工作。4 整体电路设计整体电路如图4-1所示,首先用户通过键盘设定要求温度值和最高承受温度值。DS18B20检测环境温度,并通过P3.3引脚将采集到的温度信息输入到单片机中,单片机将该温度值与设定要求温度值进行比较,若温度低于设定值,单片机P0.0口输出低电平,三极管Q3导通,加热器开始工作,为周围环境升温;若温度高于要求温度值但低于最高承受温度值,单片机P0.1口输出低电平,三极管Q2导通,电风扇开始转动,为周围环境降温,若温度超过最高承受温度值,单片机P0.1口输出低电平的同时P0.7口输出低电平,使三极管Q1导通,蜂鸣器报警。同时显示器显示环境温度。图4-1 整体电路

53、原理图5 系统的软件设计5.1 系统的主程序设计主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括键盘程序,中断程序,以及各个控制端口的初始化工作。流程图如5-1 所示。系统在初始化完成后就进入温度测量程序,实时测量当前的温度并通过显示电路在LCD上显示。程序中以中断的方式来重新设定温度的上下限。根据硬件设计完成对温度的控制。按下4*4键盘上的A键可以设定温度上限,按下B键可以设定温度下限13。开始系统初始化开中断Int0=0?YN温度上下限设定温度测量温度测量显示系统图5-1 系统总体设计流程图5.2 中断程序的设计MCS-51单片机的中断系统有5个中断请求源,用户可以用关中断

54、指令“CLR EA”来屏蔽所有的中断请求,也可以用开中断指令“SETB EA”来允许CPU接收中断请求。在本设计中我们选用INT0 来作为中断请求源14。在P3.2(INT0)/P3.3(INT1)引脚输入一个负脉冲或低电平,TCON寄存器中的IE0/IE1标志位将自动置为“1”。ORG 0000HLJMP MAINORG 0003H (中断入口地址)JMP INT0ORG 0038H (主程序的起始地址) MAIN: (主程序)关 中 断现场保护开中断中断处理关中断现场恢复中断返回开中断MCS-51响应中断后,就进入中断服务程序,中断程序的基本流程如图5-215。图5-2 中断服务程序基本流

55、程6 总结 通过这次毕业设计,我有了很深的感触,通过本次设计学到了很多。本次设计从经济适用的角度出发,以AT89S51单片机为核心,由温度的采集电路,键盘显示电路,温控电路,报警电路等几个部分构成外围电路,基本的完成了设计要求,实现了对温度的控制。单片机温度控制系统结构简单、测温准确,具有一定的实际使用价值。以汇编语言作为编程语言,软件设计采用的是模块化结构,使程序设计的逻辑关系更加简洁明了,同时使硬件可以在软件控制下协调运作。通过测试表明系统的设计是正确可行的。但是由于设计者的设计经验和知识水平有限,系统还存在许多不足和缺陷。例如智能温度控制器只是DS18B20数字温度传感器在温度控制领域的

56、一个简单实例,可以将测得的温度通过单片机与通讯模块相连接,以手机短息的方式发送给用户能够随时对温度进行控制。 本次设计中,我进行了具体的方案论证,系统的硬件和软件的设计以及系统的调试。查阅了大量的关于传感器、单片机及其接口电路、以及控制方面的理论。经过了一番特殊的体验后,经历了失败的痛苦,也尝到了成功的喜悦。第一次靠用所学的专业知识来解决问题。检查了自己的知识水平,使我对自己有一个全新的认识。通过这次毕业设计,不仅锻炼自己分析问题、处理问题的能力,还提高了自己的动手能力。这些培养和锻炼对于我们这些即将走向工作岗位的大学生来说,是很重要的。参考文献1 王忠飞,胥芳.MCS-51单片机原理及嵌入式

57、系统应用.西安电子科技大学出版社,2007:57-632 张毅刚.单片机原理及应用.高等教育出版社,2008:76-783 高玉芹.单片机原理与应用及C51编程技术.机械工业出版社,2011:105-1124 杨美仙.单片机的发展及其应用J.科技信息(学术研究),2007:23-265 陈源.基于单片机原理的简易温度控制系统研究J.长江大学学报(自然科学版)理工卷,2009:13-176 郭改枝,张鹏举.单片机控制液晶屏接口电路的设计与实现J.内蒙古师范大学学报(自然科学汉文 版),2010年04期:5-97 何力民.单片机高级教程.北京航空大学出版社,2000:33-358 路而红.专用集成电路设计与电子设计自动化.清华大学出版社,2004:22-279 周润景,张丽娜.基于PROTEUS 的单片机系统设计与仿真.北京航空航天大学出版社,2006:5-710 陈奎,高玉芹.单片机原理及应用课程设计指导书.徐州工程学院出版社,2012:15-1911 秦曾煌.电子技术7版.北京高等教育出版社,2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论