《毕业设计(论文)-基于单片机的温度控制系统设计(33页).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于单片机的温度控制系统设计(33页).doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-毕业设计(论文)-基于单片机的温度控制系统设计-第 21 页厦门工学院本科生毕业设计(论文)题 目:基于单片机的温度控制系统设计 姓 名: 学 号: 系 别: 专 业: 测控技术与仪器 年 级: 指导教师: 2017年 4 月 25 日独创性声明本毕业设计(论文)是我个人在导师指导下完成的。文中引用他人研究成果的部分已在标注中说明;其他同志对本设计(论文)的启发和贡献均已在谢辞中体现;其它内容及成果为本人独立完成。特此声明。论文作者签名: 日期: 关于论文使用授权的说明本人完全了解厦门工学院有关保留、使用学位论文的规定,即:学院有权保留送交论文的印刷本、复印件和电子版本,允许论文被查阅和借阅
2、;学院可以公布论文的全部或部分内容,可以采用影印、缩印、数字化或其他复制手段保存论文。保密的论文在解密后应遵守此规定。论文作者签名: 指导教师签名: 日期: 基于单片机的温度控制系统系统设计摘要长久以来,温度都是人们生活中经常谈到的一个话题。如何掌握温度对人们的生产和生活,如何利用温度创造价值的人的生产,是一个耐人寻味的事情。温度在工业生产以及许多的领域中起着重大的因素,并且影响着它们的生产,尤其是在农业的养殖方面,温度是相当重要的因素之一。本次设计着重从人民日常生活中所关心的温室温度的控制方面启程,最终设计出了一个能够检测外界环境温度值继而做出相对处理的温度控制系统。此系统以模块化的方式运行
3、,让人清楚地了解此设计所具有的功能。最后借助了仿真器材软件Proteus和单片机的程序编程软件Keil完成了这个温控体系的软、硬件的交互仿真,达成了了毕业设计命题的目标。本论文介绍了AT89C51单片机的构造和特征,与此同时,还具体的概述了DS18B20的内部布局及工作原理。并且分别从硬件部分和软件方面讲述了此次设计的原理,温度控制系统是怎样完成的。另外,还进行了系统的整体设计、程序的编程,又做了调试,加以绘制系统的电路原理图并经过仿真软件来达到预期的设计成果。关键词:AT89C51,单片机,DS18B20TemperaturecontrolsystembasedonMCUAbstractSi
4、nce ancient times, temperature is a topic that people often talk about in their lives. How to master the temperature for peoples production and life, how to use the temperature to create the value of peoples production, is a thought-provoking thing. In the field of industrial production, temperature
5、 is the decisive factor that affects the production of products. Based on the control of greenhouse, the design of a temperature control system which can detect the temperature of the external environment and then make the relative response. The system operates in a modular manner, giving a clear un
6、derstanding of the functionality of the design. Finally, with the help of the simulation tool Proteus and the programming software Keil, the software and hardware of the system are simulated.This paper describes the structure and characteristics of AT89C51 microcontroller, at the same time, but also
7、 about the internal structure and working principle of DS18B20. And from the hardware and software aspects of the design of the principle, is how to achieve temperature control. In addition, the system is designed, programmed and debugged, and the circuit schematic diagram of the system is drawn.Key
8、 Words: AT89C51,SCM,DS18B20目 录第1章 绪论11.1 研究背景11.2 研究意义11.3 研究内容2第2章 AT89C51系列单片机介绍及硬件介绍32.1 AT89C51系列单片机介绍32.1.1 AT89C51系列基本组成及及特性32.1.2 AT89C51系列引脚功能42.1.3 AT89C51系列的功能单元62.2 硬件设计72.2.1 主控制单元72.2.2 温度信号采集电路82.2.3 测温操作92.2.4 报警信号操作102.2.5 DS18B20的供电102.3 显示部分122.3.1 显示概述122.3.2 显示原理12第3章 软件及仿真设计153.
9、1 主程序的设计153.2 仿真功能设计153.3 程序仿真分析16结论19参考文献20谢辞21附录1 系统原理图22附录2 部分关键源代码23第1章 绪论1.1 研究背景在如今社会的工业生产建设当中,各个领域对实时温度的掌控在日常的生产中有着严格的要求。只有做到温度的实时监测和数据资料的收集,才能够提高产品的生产效率,保证产品的生产合格率。由于现在生活中人们的生活质量的提升加上科技的不断进步,使得温度控制技术广泛应用到人们生活的各种地方,不在局限于工厂生产方面,而且人们对温度控制的精度要求越来越高,就像是非常细微的差别,会对一些领域的生产造成很大的影响。所以,逐渐的就迫切的需要研究设计出能广
10、泛应用的温度控制的设备来在不同的场景中充当一种监测系统,这台设备需要能够实时的监测温度,帮助使用的人更好的了解当前环境的温度数据值,并且能够感应出温度的升降。这就能够更好的帮助人们由生产或者生活的需要来及时的做出适当的调整,满足人们对温度控制的需求。温度在现在的生活中是用来表现环境冷热的程度,它在工农业的生产中被作为主要的控制数据。温度的测量在产品生产、工业设计和节能等方面起着重要的作用。由于科学技术的提高和生产的需求,使得温度控制器在不断地更新和多样化。在工业生产当中,很多方面都会影响它的生产效率,而且方方面面都需要不同的约束才能保证正常的生产,但是在所有的约束中,温度的控制是最为主要的。正
11、是因为这种原因,虽然市场上面有各式各样的传感器,但是存在数目最多的传感器依然是是温度传感器。现今由于计算机数据处理行业的高速发展,在很多环境下对温度数据的掌控与采集有可能只需要一个数据采集芯片,采集温度数据的时候把这张芯片放在控制的计算机的卡槽中,通过操控计算机上面的控制软件来实现采集数据。相对于这种温度数据采集系统,单片机在这方面是有优势的,首先计算机可以工作的环境有限,而且设备通常体型比单片机大,实施操控起来较为复杂,而且单片机总体下来比计算机成本低很多,所以现在很多行业中的温度控制系统都会首选使用单片机。1.2 研究意义二十一世纪是电子科技快速发展的时代,人类生活的质变,特别是随着大规模
12、集成电路电脑的兴起,让人类社会进入了一个新的时代。就目前情况来看,在很多的工作和机械生产当中,用的设备普遍是计算机控制的,但是整体一套设备成本很高,对一个工厂来说保养起来也十分的麻烦,所以不能大规模的实行。所以微控制器出现在人们的视野中。它是一个简化的微机,计算机的中央处理单元,存储单元,I/O接口,定时器/计数器等集成在一个芯片上。与微机相比,单片机的价格低廉,适合工业控制的多种场合。相对而言,单片机运行起来十分的稳定,并且能够在各种环境当中可靠的工作。单片集成电路已广泛应用于工业控制,工业生产,家用电器等领域。在设计系统中把温度作为一种虚拟的数据,结合编程软件和单片机设计的知识,就可以令它
13、以数字信号的形式在软件中表现出来。温度测量是温度控制系统的重点,单片机温度测量的设计是一样的。所以具体要如何达成一种数字电路能够掌控温度的变化,是此次研究的意义所在。1.3 研究内容本文主要研究的内容是对基于单片机的温度控制系统的设计,在设计中,首先给程序设定一个初始的温度值,然后分别设定上限与下限,当超过上限的时候程序会做出一种调整与反应,当低于下限的时候也会做出相应的功能。在研究设计中分别对所用到的AT89C51,与传感器DS18B20还有显示部分的LCD显示屏进行了深入的研究与介绍。本文以温度采集为例,采用AT89C51微控制器为核心,在MCU中写入硬件设备的控制程序,首先通过建立一个总
14、体的温度控制系统的模板,当由单片机为核心之后,还需一个重要的组成部位,就是DS18B20温度传感器,当DS18B20温度传感器检测到运行温度采集指令时,就会启动工作,对环境温度进行温度的采集和检测,温度传感器通过LCD液晶显示器检测温度值,通过传感器和模拟升温降温的部分,使系统报警时的温度控制在设定的正常范围内,达到最终的控制。当然,数据采集和显示需要相应的硬件和软件一起来完成,系统设计的重点在于温度传感器温度采集和显示,经过查阅相关资料加以单片机的设计和程序编程的仿真模拟,用软件可以实现设计需求的系统。第2章 AT89C51系列单片机介绍及硬件介绍2.1 AT89C51系列单片机介绍 2.1
15、.1 AT89C51系列基本组成及及特性 AT89C51 / 52是低电压,高性能CMOS8位微处理器的4K字节闪存可编程可擦除只读存储器(FPEROM - Falsh和可擦可读只读存储器),大多被叫做为scm。在51系列的ATMEL中,AT89C51更加方便,是一款效率极高的微型控制器,因为它不单单是作为8051指令,而且全都能够匹配与这些引脚,并且这种核心存储软件用的是操作性很高的动画与应用开发技术,开拓性与自由性很高。使用者们可以任意的编写使用。所以不难发现,这样的单片机设备在研究设计的过程中门栏很低就节约了很多的编程时间。AT89C51的一些基本作用如下:AT89C51是消耗很少,具有
16、优越性能的CMOS八位微型处理器,而且以较快速度写入于电影或者在线4K字节的可编程闪存程序存储器中,写入或者擦除重复能够达到1000次,保存数据的期限为十年。它能够使系统中需要做出的指令和引脚上的全部吻合,在实现MCS-51系列单片机的所有功能的基础之上,还能够做到MCS-51系列单片机所不能够完成的应用,比它更加完善。 AT89C51能够组成单片机的实际操作系统,降低系统所需体积,增加系统的实用稳定性,减少系统成本。只要程序长度不大于4K,用户就可以使用四个I/O端口。可编程电压是5V,它在工作时不仅写入只需要很短的时间,在擦除时也只要很短的时候就能够完成。8751/87C51,与12V87
17、51/87C51的电压做对比的好处是不容易损坏硬件设施,重新输入程序命令的时候操作简单,功耗比较小,能用应用的环境很广。 AT89C51单片机的系统芯片组安全性是极高的,自身带多重加密的功能,而且加密操作快捷简单,能够保证系统或者程序不会丢失、拷贝。另外MCS-51系列单片所具备的几乎所有优点AT89C51都拥有甚至更好。AT89C51系列单片机主要有五部分组成,跟常见的计算机一样,分别有一个运算部件,一个存储RAM部件,一个核心控制部件,加上一个输入和一个输出部件。它的操作也有两种模式,一种是断电操作模式还有一种断续操作模式。断续操作模式是指单片机的外部装置在保持正常运行的时候,单片机的核心
18、控制器能够有规律的进入待机状态,这种模式是需要人为来通过软件设定的。该状态可以由任何中断或硬件重置来终止。掉电模式是VCC电压受到低于电源约束,在振荡器停止振动时候,CPU停止实施操作命令。在断电模式停止之前,具有特殊功能的寄存器SFR和片上存储器RAM可以维持正常的原状。如果想要使断电模式停止,首先要让VCC电压在正常的数值区间中工作,然后保持振荡器的稳定,这样才能启动复位电路来停止。 2.1.2 AT89C51系列引脚功能89C52 / C51是一款高性能微控制器,由于引脚数量有限,因此许多引脚具有第二功能。其逻辑如图2.1.2:图2.1.2 AT89C52逻辑引脚图 每个引脚的功能描述如
19、下:VCC:电源电压;GND:接地;P0口:P0口是一个有8位泄漏电平开路双向I/O口,每个引脚都能够吸取8TTL栅极电流。定义内容为在P1端口引脚第一次写入1时候,高电阻输入被定义为0并且可用于外部程序数据存储器,可定义为数据/地址的第八位,在FLASH编程中,P0端口输入被视为原码,当FLASH进行检验的时候,P0在这时则输出原码,P0一定要拉出外部;P1端口:P1端口实际上是一个内部上拉的电阻是8位双向I/O端口,P1端口缓冲器可接收的输出为4TTL门的电流,P1端口引脚写入1,内部需要拉高,可以被用作是输入,P1端口为外部下拉的低电平,输出电流则是由于内部电压上拉所引起的,在FLASH
20、进行编程和实验的过程中,P1端口被视为第八位地址;P2端口:P2端口实际上是一个内部上拉电阻为8位的双向I/O端口,能够接收P2端口的缓冲区,输出TTL门电流,在P2端口写入1的时候,引脚被拉由内部上拉电阻和作为输入。并且由于输入,P2端口引脚被外部拉低,输出电流,这是由于内部拉,P2端口应用于外部程序存储器或者是访问16位地址外部数据存储器,P2端口输出地址为高8位,当给出地址1时,它会很好利用内部上拉的独特优点,外部8位地址数据存储器进行读写任务时,P2端口输出其寄存器的独特的功能内容,P2端口在FLASH编程和检验的过程中接收对应的高8位地址信号以及控制信号;P3端口:P3端口引脚是8位
21、,内部带有上拉电阻的双向I/O端口,能够收输出4 TTL门的电流,当P3端口写入为1时,它就会被内部拉高来用作输入,作为输入功能外部下拉电平低使得P3端口能够输出电流;P3端口同时可以成为一些特殊功能AT89C52口,如下图所示: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(外部数据存储器写选通);P3.7(外部数据存储器读选通);P3端口用于闪存编程和程序验证以接收一些控制信号;RST:复位输入。当振荡器工
22、作复位相应器件时,RST引脚需要在两个机器周期的高电平下运行;ALE/PROG:当访问设备外部存储器的时候,地址锁存器输出电平的作用是锁存地址对应的地址字节,该引脚被用在FLASH编程的时候输入编程脉冲,ALE侧到恒频周期输出正脉冲信号,振荡频率为1/6,因此可用于外部输出脉冲或用于计时,但值得注意的是,每当用与外部数据存储器的时候,就会跳过一个ALE脉冲,如果要停止ALE的输出,那么在SFR8EH地址中就为0。此时,ALE仅运行MOVX程序时,MOVC指令才是ALE所需要的作用;PSEN:外部程序存储器的选则性通道,在取出外存储器的时候,每一个机器都为周期两次PSEN,但当在对外部数据存储器
23、访问的条件下,两个有作用的 PSEN信号都不会出现;EA/VP:在这个时间段保持较低电平时,应警惕外部程序的存储器(0000H-FFFFH)还有是否存在内部程序存储器。关注加密的方法,RESET是内部锁;在终端保持在较高电平时,内部程序存储器在起作用,在做FLASH编程的时候,12V编程电源也可用于这个引脚;XTAL1:输入到反相振荡器和放大器以及输入到内部时钟工作的电路;XTAL2:反相振荡器的输出,例如外部时钟源的驱动器,不应该连接。 2.1.3 AT89C51系列的功能单元(1)复位电路在单片机的系统中有两种复位方式,一种是系统中的上电复位,一种按键复位。在单片机的上电运行时会复位一次,
24、这就是上电复位;当按下系统中复位键时又会复位一次,如果松开按键后这时又会复位一次,这就是按键复位。所以在一般情况下可以使用单片机中的按键断开与接触来控制系统的复位。复位电路的存在有着很大的意义,可以说如果一个系统中没有复位电路,那么这个系统就不可能正常稳定的运行。通用微控制器电路工作需要5V 5的电源,即从4.75到5.25V。要使这种电路能够开始正常的工作,就需要它的电压VCC小于5.2V并且大于4.7V,因为它是一种时序电路;还要把电路里面的复位电路给去除,去除的条件是要求电路的晶体振荡器能够正常的运行。所以当接地端安插上一个电阻之前,VCC的电容端口必须安插上一个复位RST的引脚输出。对
25、于CMOS微控制器,由于RST侧有一个下拉电阻,可以从外部电阻中去除外部电容,使其为10uF。电容决定了充电时间在RST高电平进行时间的长短。为了确保系统能准确稳定地复位,RST端的高电平信号一定要保持较长时间。在系统电路上电的时候,系统电压VCC的上升时间大约为10ms左右,它的振荡频率就决定了振荡器的振荡时间的长短。例如晶体振荡器频率是10MHz,启动所需时长为1ms,晶体的振频率是1MHz,启动时间为10ms。在一个电路当中,如果要使元器件在VCC电压断电时不会受到损坏,就必须要保证复位电路RES端的电压立即降至0V以下,在系统总电路的约束条件中,0V以下的电压是一个安全的情况。除此之外
26、,在复位的时候,端口引脚位于一个比较随机的状态,复位,那么系统会设置为端口“L”状态。在单片机系统中,核心处理器CPU会在一种特殊情况下运行一种未知的命令,这种情况就是系统在开始运行的时候没有被赋予一个正确的开始命令的数值。(2)时钟电路XTAL1是反向放大器的和输入XTAL2则是其输出。反向放大器的用处有很多,在很多元器件内都能够见到,它能够应用到多种不同类型的振荡器当中。如果使用外部时钟源驱动程序,则不应连接XTAL2。两个单独的振荡周期会形成一个完整的状态周期,由于一个总的机器周期里面包含了六个不同形态的周期,所以在一个单片机的系统机器周期中就会存在有十二个不同的振荡周期。假如石英晶振的
27、振荡周期是1/12us,它的外部振荡频率是12MHZ,那么机器的周期就便是1us。MCU操作需要时钟电路作为支持,就好比具有CPU一样的电脑,假如没有通过时钟电路来生成时钟驱动芯片那么微控制器就不能执行程序。 MCU也可以被当作一种有时序的电路而且是在时钟电路的影响下。图2.1.3-1 时钟电路(3)声音报警电路蜂鸣器装置是一种以三极管为核心控制的装置,它的正极接入到输出端的正极,它的负极则接地,当这一整套电路与单片机的电路汇合时,如果遇到低电平则会形成一个导通的状态,蜂鸣器就会发声,相反如果是高电平就不会工作。报警电路:为了能够实时掌握一套体系是不是能够正常的运行,方便使用者可以更好的了解系
28、统的工作趋向,所以一般都会在系统中加入报警电路。图2.1.3-2 声音报警器2.2 硬件设计2.2.1 主控制单元本设计使用键盘作为输入控制,温度采样单元通过LM358放大器和ADC0832转换器通过主机AT89C52收集温度信息,实际温度和设定温度值显示在LCD液晶数字显示管中。硬件的主要控制单元是8K的AT89C52,这在市场上是常见的,由美国的ATMEL开发的。 AAT89C52是一种比较高级的微型计算机,在使用起来方便快捷,且相对安全,能够保证输入的程序的安全。单芯片可擦除只读存储能够做到擦除1000次。也可以说此种控制元件是由功能相类似的MCS-51升级优化而来的,它们之间有很多共通
29、的部分,但是在开发此种元器件的时候有很多比较高级,更为先进的技术是MCS-51所不具备的。8位CPU以及闪存在一块芯片上组合起来,ATMEL AT89C51是一款具有较高性能的微控制器,AT89C2051是一款非常流线并且平滑的版本。AT89C51单片机的使用让许多嵌入式控制系统有了高可变性和实惠的解决思路办法。2.2.2 温度信号采集电路该设计采用DS18B20作为采集温度和信号的传感器,此项是温度控制设计的关键部分,以下是对DS18B20些详细介绍:DS18B20传感器是一种功能十分优良的元器件,不仅具有通常需要的温度数据的收集功能,还可以保障在断电的情况下能够继续报警的功能。 DS18B
30、20接收的信息是通过单线借口发出的,所以CPU和DS18B20之间只需要地线以及一条连接线。温度范围是0100,温度采集误差浮动在5之间。另外,DS18B20可以直接从1线通信线路吸取能量,无需外部供电。每个DS18B20具有唯一的64位序列号,即使在1线总线中同时允许超过DS18B20;因此,使用微控制器可以很容易地控制大面积DS18B20的大量覆盖。在很多的工作环境中都能够用到这一元件的这种特殊的功能,因为它可以很好地帮助使用者进行不同方面的监测,适应性强。DSl8B20具有3引脚PR35封装或8引脚SOIC封装,其内部结构框图如4所示:图2.2.2-1 DS18B20内部结构DS18B2
31、0元件通常由一个温度传感器和一个程序存储器ROM,再加上一个配置寄存器和报警装置四部分组成。DSl8B20具有2种封装形式:3引脚TO-92和8引脚SOIC引脚排列如图5所示:图2.2.2-2 DS18B20的引脚结构引脚说明:GND接地DQ数据 I/OVDD可选电源电压NC无连接2.2.3 测温操作DS18B20的主要功能是能够较为直接读数字温度传感器。温度传感器的精度为9,10或12,用户可编程自定义设置,增量减量的量大概分别为0.5,温度0.25,温度为0.125,温度为0.0625。当系统电路开始工作的时候,DS18B20已经开始等待接受指令了,它会根据总控制器发出的指令不同而选择工作
32、;总控制器发出一道指令的时候,在一套完整的电路系统中,这条指令是飞速的从各个元器件中有选择性的传递下去的。DS18B20不仅需要读取等待接受命令,而且还要转换指令给总控制器反馈。DS18B20的运行,跟总电路电源供电也有很大的关系,如果DS18B20接受到外部电源供电时就会工作并且开始转换指令反馈到总电路,但是如果电源是来自于寄生电源的话就不会这样工作了。详细介绍DS18B20电源部分总线的寄生电源要求。图2.2.3 温度寄存器2.2.4 报警信号操作DS18B20传感器在完成电路系统中发出的指令时,会根据系统由开始设定的上下限值来判断数值的定义并作出反馈。在运行程序时,由0或者1来标记DS1
33、8B20得到的数值。TH和TL寄存器是非易失性的,因此在断电时可以保存数据。在DS18B20的寄存元器件中,下一节会有介绍到寄存元件是如何实现有效的配合电路工作暂存的。图2.2.4 TH和TL寄存器由单片机的原理可以知道,TH与TL是有特殊功能的寄存器SFR,在DS18B20当中TH和TL的字节分别为8位的时候,温度数据寄存器的TH和TL是用四位字节的温度寄存器11位来进行比对的。如果测量温度高于TH或低于TL,报警条件建立后,DS18B20将放置在警告信号中。系统开始运行时,DS18B20也会开始工作,这是电路中的报警装置就会开始对接收到的数值进行比对,每一次的报警数据都会被刷新,而且每次接
34、收到的数值都会从报警装置中被赋予一个定义。为了实时掌握电路总线路中的所有有关温度传感器的报警命令,就需要利用总控制器来来发出一道具有检测报警信号功能的命令ECR。设置报警标志的任何DS18B20都将响应命令,因此总线控制器能够准确定位满足报警条件的每个DS18B20。当电路中定义了报警条件时,温度转换的报警状态会随着系统中的程序寄存器中的数值而有所变化。2.2.5 DS18B20的供电DS18B20可以由VDD引脚的外部电源供电,也可以在寄生电源模式下工作,这样可以在没有外部电源状态的情况下使DS18B20工作1。电路中的这种方式的对温度传感器DS18B20的供电是十分有用的,这种方式也可以被
35、看作一种片面的循环充电方式的供电,当电路通电时,DS18B20会从总电路中吸取一部分电源能量存入到它自身的寄生电容器(CPP)当中,当没有外部电源对温度传感器供电的时候,储存在电容器当中的电量就会为自身供电。在寄生电源的情况下,对于DS18B20的大多数操作,1线总线和Cpp可以提供足够的电流以满足规定的时序和电压(见DC和AC特性部分)。但是,当DS18B20进行温度转换或将数据从高速寄存器传输到EPPROM时,工作电流可高达1.5mA。该电流可能导致连接到1线总线的弱上拉电阻的不可接受的电压降,这需要更大的电流,这在Cpp处不可用。为了确保DS18B20由足够的电源供电,当温度转换或复制数
36、据到EEPROM操作时,必须单线提供强拉。I / O可以通过直接使用漏极开路电源来实现。在48h之后的温度转换指令44h或复制暂存指令中,必须将单总线开关强拉至高达10us,温度转换时间(tconv)或复制数据序列(ter=10MS)必须保持强劲的上拉。当强拉的状态得到维持时,不允许采取其他行动。电路给DS18B20温度传感器的另一种的供电方式就是使用外部电源的连接供电。这样做的优点是单个总线不需要强力的拉力。而且在温度转换过程中,总电源不一定要保持高水平。当温度高于100时,不建议使用寄生电源,因为DS18B20在此温度下的漏电流相对较大,可能无法进行通讯2。在这种情况下,强烈建议使用DS1
37、8B20 VDD引脚。对于总线控制器,直到总线上的DS18B20由寄生电源或外部电源供电,DS18B20提供了指示电源的预期用途的信号。总线控制器发送一个跳转命令ROM CCh,然后读取电源B4h指令,发出指令,控制器发送读取时序,寄生电源总线拉低,外部电源保持高电平。如果总线被拉低,总线控制器知道在温度转换期间需要在1线总线上提供强拉。图2.2.5 DS18B20供电图2.3 显示部分2.3.1 显示概述单片机的显示部分最主要的元件是LCD1602液晶显示屏,这种显示屏主要是用来显示电路中系统要反映的数据内容,和符号内容等等。显示屏的电路模板是有多位点阵的字符位组合而成的,对应的每一个单位字
38、符序列位都可以正确的显示一个系统命令中的字符,字符与字符之间都会相应的存在一个间隔,这样就能够很好的使使用者能够清楚地区分开来液晶显示的屏幕上现实的内容。正是因为1602液晶显示屏在单片机以及电路设计中的方便优秀的功能,所以市场上广泛的应用这种科学液晶显示屏。在日常生活中,人们并不是很熟悉液晶显示器。但是液晶显示器在人们的生活中随处可见,如计算器,万用表,电子手表和许多家用电子产品可以看到,显示主要数字,特殊符号和图形3。SCM在人机界面中,一般产品有以下几种类型:发光管,LED数码管,液晶显示屏。发光管和LED数码管比较常用,硬件和软件都比较简单,这里不介绍。主体使用字符型lcd。在本设计当
39、中在SCM系统中应用液晶显示器作为输出设备具有以下优点:液晶显示器的高显示质量:因为接收信号中的每个点都已经保持了颜色和亮度的种类3。恒亮,而不是需要不断刷新新亮点的阴极射线管(CRT)。因此,LCD显示屏质量高,不会闪烁。数字接口:LCD1602液晶显示屏大多数都是数字形式的,这种形式的显示屏再和单片机的电路系统连接起来运行的时候就会很稳定也很便捷。体积小,重量轻:液晶显示屏通过屏幕上的电极来控制液晶分子的状态,达到显示的目的,显示区域的重量比传统显示器要轻得多4。LCD1602液晶显示屏的电源消耗是用来给内部一些简单的结构供电,比如电极和驱动的消耗,所以液晶显示屏在功率消耗这一方面明显要低
40、于别的型号的显示屏。2.3.2 显示原理LCD1602液晶显屏的显示原理是借助液晶在物理学方面的性质的以实现其显示功能的,显示的过程主要是利用显示屏的电路模块的电压来进行控制的,最终可以使图形文字在显示屏上呈现出来。液晶显示器厚度薄,适合大规模集成电路直接驱动,易于实现全彩显示,已被广泛应用于便携式计算机,数码相机,PDA,移动通信工具等众多领域5。在单片机的电路中液晶显示屏的显示方式分类有很多种,最常见的方式有片段形式的以及字、点形式的。在液晶显示屏的单元中,如果要显示的内容有64行,并且每行包含有128列,所以就会得到一个字符对应的就有八列八位。每行16字节,总共在屏幕上为16 * 8 =
41、 128点,64 * 16显示单元RAM 1024字节对应于显示内容,并显示相应亮度和对应位置的每个字节。例如,屏幕亮度的第一行由RAM 000H-00FH区域的16个字节的内容,当(000H)= FFH时。屏幕的左上角显示短的亮线长度为8点;当(3FFH)= FFH时,屏幕右下角显示一条短线;当(000H)= FFH(001H)= 00H时6。(002H)= 00H,.(00EH)= 00H,(00FH)= 00H,虚线由8条亮线和8条线屏幕顶部这是液晶显示器的基本原理。字符显示:具有字符的LCD显示更复杂,因为一个字符由6 * 8或8 * 8点阵组成,需要在屏幕上找到并显示RAM 8个字节
42、的几个对应位置7。而且使每个字节不同于“1”,另一个“0”,“1”指示灯,“0”不亮。这样一来 就组成某个字符,但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在 LCD 上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码8。汉字显示:显示汉字一般使用图形,电脑提前提取显示汉字格码(通常用字体提取软件),每个汉字占32B,分为左右两半,各占16B, 1号,3号,5号左边.右边是2号,4号,6号.根据列数设置光标显示液晶显示列数,每行可以发现相应的RAM地址,并发送显示前1个字节的汉字,光标位置,发送第二个字节,行列
43、对齐,发送第三个字节.你可以在LCD上得到一个完整的汉字直到32B完成9。LCD1602显示屏的电路系统是一种运行相对来说比较慢的元件设备,当显示器件系统受到总电路控制的命令的时,需要作出反应之前每一次都要确定一下这条命令是否符合自身显示限制的要求,如果达不到显示标准,则会否定这条命令。例如,第一个字符的第二行地址是40H,那么40H可以直接写入光标,可以位于第二行的第一个字符位置吗?不是这样,因为需要将D7的最大值写入显示地址到1的高电平01000000B(40H)+ 10000000B(80H)= 11000000B(C0H)10。当LCD显示模块需要运行之前,首先需要对显示系统做初始化设
44、置,以便于确保系统的正确运行值,这些系统命令都会自动运行处理。每次输入命令以确定LCD模块是否处于忙碌状态。当系统初始化结束之后,就会处于一个待命的状态,等待系统总控制器传递下来指令,此时LCD模块中的所有字符显示与运算功能都已准备就绪,只要LCD的读取模块接收到指令时就会开始处理这些指令,并在显示屏上呈现出来。 1602 LCD模块进行读写操作,屏幕和光标操作通过指令编程实现。(注:1为高,0为低)指令1:清零显示,指令01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I / D:光标移动方向,高位右移,低位左移S:屏幕全部文本是左移或右移。
45、高电平表示有效,低电平无效。说明4:显示开关控制。 D:控制整体显示开关,表示高电平开启显示,低电平表示关闭显示C:光标控制开关,高电平表示低电平表示无光标光标,B:控制光标闪烁闪烁高电平,低电平不闪烁。指令5:光标或显示移位S / C:大功率移动显示文字,低功耗移动光标。命令6:功能设置命令DL:4位总线的高电平,N位为低位,低位单线显示,高电平双显示F:低显示5x7点阵字符,高电平显示5x10点阵字符。指令7:字符发生器RAM地址设置。说明8:DDRAM地址设定。指令9:读取忙信号和光标地址BF:对于忙标志位,高电平忙,此时模块无法接收命令或数据,如果低电平不忙。指令10:写入数据。指令1
46、1:读取数据。第3章 软件及仿真设计3.1 主程序的设计在基于单片机的温度控制系统的整体设计中需要分别用硬件和软件使设计的程序功能实现,在软件进行研究以及确认一些基本功能的时候就可以对硬件设计调试。在软件的部分考虑到不同形式的功用,具体有主要程序的软件设计,这个程序的设计才是设计的系统的核心内容,它控制着整个设计的方向与功能,只有它可以控制着操作者与系统整体之间的互动关系。这两个类别是子程序(执行软件),用于实现测量,计算,显示,通信等各种实质功能。在整个软件系统当中每一块的软件模块都是被赋予不同功能的意义,它们相互之间都是会直接或者间接运行的。在下面列出了软件程序中的主要功能元器件模块,并解
47、释了它在程序中的意义。规划每个模块的实施,可以监控程序的规划,首先,根据系统的整体功能选择最合适的监控程序结构,然后根据要求实时,合理安排监控软件和实现模块之间的调度关系11。AT89C51单片机液晶显示蜂鸣器报警升温处理及降温处理温度传感器图9 系统程序总流程图图3.1 模块图3.2 仿真功能设计每个模块的操作设计应统一听从微控制器的命令。另外还有四个液晶显示模块,温度处理,温度采集和液晶显示。该系统基于MCU,通过读写4个并行I/O端口实现ROM程序存储器的控制。系统中的温度数据工作模块的工作方式就是通过程序中元器件的采集模块来采集当前工作环境中的温度数据,而后再通过温度控制元件将收集到的温度数据发送到总控制线路当中进行数据分析。 AT89C51微控制器将温度传感器的温度值进行处理,将数据发送到LCD,然后通过液晶显示器显示处理后的温度值12。继电器控制与电机连接的温度处理模块,以加热或冷却温度。 LCD温度显示模块显示当前温度值。当测量的温度值