毕业设计44576_第1页
毕业设计44576_第2页
毕业设计44576_第3页
毕业设计44576_第4页
毕业设计44576_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、目录第1章 绪论1.1 单片机的概述1.2 单片机研究现状1.3 温度控制的研究意义和目的1.4 课题设计任务和要求第2章单片机温度控制系统的概述2.1 MCS-51单片机简介 MCS-51 单片机的特点及应用2.2 外围电路 振荡电路 复位电路 键盘电路设计 显示电路设计2.3 本章小结第3章 系统设计思想及主要应用器件3.1 系统设计的总体思想3.2 系统硬件简介 硬件设计思想3.3 系统主要器件 核心控制器件 AT89C52 DS1820内部结构及工作原理 LCD1602A 内部结构及工作原理3.4 本章小结第4章 系统软件设计4.1 软件设计总体思路及主程序流程图4.2 测温模块 温度

2、的采集 温度的测量4.3 显示模块流程图4-4所示4.4 键盘扫描流程图结论谢 辞参考文献附录1 原理图和仿真测试附录2 软件程序第1章 绪论1.1 单片机的概述 随着现代工业的逐步发展,在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制。然而,用常规的控制方法,潜力是有限的,难以满足较高的性能要求。采用单片机来对它们进行控制不仅具有控制方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质

3、量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。在人类的生活环境中,温度扮演着极其重要的角色。 单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。 1.2 单片机研究现状 纵观我们现在生活的各个领域,从导 弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据 处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,

4、这些都离不开单片机。以前没有单片机时,这些 东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用, 元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们 只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成 本也降低了,长期使用也不会担心精度达不到了。所以,它的魔力不仅是在现在,在将来将会有更多的 人来接受它、使用它。据统计,我国的单片机年容量已达13 亿片,且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1%。特别是沿海地区的玩具厂等

5、生产产品多数用到单片机,并不断地辐射向内地。 所以,学习单片机在我国是有着广阔前景的6。1.3温度控制的研究意义和目的 温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。1.4 课题设计任务和要求 本文所要研究的课题是基于单片机

6、温度控制及报警系统的设计,介绍了对温度的显示、控制及报警,实现了温度的实时显示及控制。温度控制部分,提出了用DS18B20、89C52单片机及LED的硬件电路完成对温度的实时检测及显示,利用DS18B20与单片机连接由软件与硬件电路配合来实现实时控制及超出设定的上下限温度的报警系统。课题设计的目的:1.掌握用51单片机控制LCD显示字符的方法。 2.掌握用单片机进行显示系统开发的方法。3.掌握单片机软件、硬件调试技术。4.了解单线器件DS18B20的驱动方法。 5.了解LCD显示器的一般驱动原理。第2章 单片机温度控制系统的概述2.1 MCS-51单片机简介 MCS-51系列单片机无论是片内R

7、AM容量,I/O口功能,系统扩展能力还是指令系统和CPU的处理功能都非常的强。尤其是MCS-51系列就是所特有的布尔处理机,在逻辑处理和控制方面具有突出优点。MCS-51系列单片机适合于实时控制,可构成工业控制器、智能仪表、智能接口以及通用的测控单元等。 MCS-51 单片机的特点及应用MCS-51系列单片机主要产品及特点如2-1所示。表2-1 MCS-51系列单片机特点子系列片内ROM形式片内ROM容量片内RAM容量寻址范围I/O特性中断源无ROMEPROM计数器并行口串行口518031805187514KB128B264KB216481580C3180C5187C514KB128B264K

8、B2164815528032805287528KB256B264KB316481680C3280C5287C528KB256B264KB3164816MCS-51单片机(此处以8051为例)芯片的基本组成如图2-2所示:图2-28051芯片的内部组成框图图中各组成部分:a.中央处理器(CPU)。它是单片机的核心,包括运算器和控制器两个主要组成部分,用于实现运算和控制功能。运算器主要包括算术逻辑运算部件(ALU)、位处理器、累加器A、寄存器B、缓存器TMP1和TMP2、程序状态字寄存器PSW以及十进制调整电路等。其主要功能是实现数据的算术运算、逻辑运算、位操作及数据传送等。控制器主要由时钟和时序

9、电路以及一些控制寄存器组成。其主要功能是协调整个单片机的工作,产生时序脉冲和提供控制信号等。b.数据存储器。MCS-51系列单片机芯片数据存储器共有128个存储单元,用于存放可读写的数据。为了与外部扩展的数据存储器相区别,通常称芯片内部的数据存储器为内部数据存储器,简称内部RAM。c.程序存储器。8051芯片内部有4KB掩膜ROM,8751芯片内部有4KB EPROM,用来存放程序和原始数据。通常称之为内部程序存储器或内部ROM。d.定时器/计数器。MCS-51共有两个16位的定时器/计数器,以实现定时和计数功能。e.并行I/O口。MCS-51共有四个8位的I/O口(即P0、P1、P2和P3)

10、,用以完成数据的并行输入/输出。f.串行I/O口。MCS-51有一个全双工串行口,以实现单片机和其他计算机或设备之间的串行数据传送。g.中断控制系统。MCS-51共有5个中断源,分高和低两个优先级别3。2.2 外围电路单片机的外围电路如图2-3所示,主要包括振荡电路,复位电路。 图2-3 单片机外围电路 振荡电路 AT89C52的XTAL1和XTAL2引脚分别为单片机内反相放大器的输入和输出端,其频率范围上限为24MHz。这个内部反相器与外部元件组成皮尔斯振荡器, C1,C2是30pF的电容。C1,C2没有严格要求,但电容容量的大小会轻微影响振荡频率的高低、振荡工作的稳定性、起振的难易程度及温

11、度稳定性,通常选择在1030pF左右。在任何情况下,振荡器始终驱动内部时钟发生器向主机提供时钟信号。因为时钟发生器的输入是个二分频触发器,所以对外部振荡信号的脉宽无特殊要求,但必须保证高低电平的最小宽度。在外接晶振11.0592MHZ时,一个机器周期为ls,一个振荡周期为1/12s。 复位电路RST为复位信号输入端口引脚,它是斯密特触发器的一个输入端。复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即两个机器周期)以上。复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送斯密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对斯密特触发器的输出进行采样,然后才得到内部

12、复位操作所需要的信号。本设计中的复位电路。由C3,R1,R2和按键组成按键电平复位。复位端经电阻与Vcc电源接通。主控制芯片的复位电路是采用的按键复位,而从机采用的是上电复位。 键盘电路设计根据设计任务书中要求实现的功能,我选择了3个键盘来设置温度的上、下限值,此键盘设计符合系统设置要求,所以我选择此键盘完成本设计。矩阵键盘结构:键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。键盘结构能够有效的提高单片机系统中I/O口的利用率。它的结构和产生的波形如图2-4所示。图2-4 键盘结构及产生的波形图显示电路设计温度显示工作原理: LCD1602可以采用两种方式与单

13、片机连接,一种是采用8位数据总线D0D7,和RS、R/W、EN三个控制端口;另一种是只用D4-D7作为四位数据分两次传送。本实验将使用并采用八位数据方式来控制1602显示。 进行LCD设计主要是LCD的控制/驱动和外界的接口设计。控制主要是通过接口与外界通信、管理内/外显示RAM,控制驱动器,分配显示数据;驱动主要是根据控制器要求,驱动LCD进行显示。控制器还常含有内部ASCII字符库,或可外扩的大容量汉字库。2.3 本章小结 单片机具有全电脑功能,且体积小、可靠性高、价格便宜、简单易学和开发应用方便,深受广大科技人员的欢迎。单片机具有众多的I/O口线,丰富的操作指令,较强的逻辑能力,特别适用

14、于各类工业测控系统。今后一段时期内,单片机发展的总趋势将是不断推出高档和高性能的机型;重点提高8位单片机的性能;采用新工艺,实现低功耗、宽电压、高速度、高可靠性;以及日趋单片化。 单片机以其高可靠性、高性能价格比广泛地用于各种实时控制系统中,将测量技术、自动控制技术和单片机技术相结合,充分发挥数据处理和实时控制的功能,使系统处于最佳状态,在工业控制系统、数据采集系统、智能化仪表等诸多领域得到广泛应用。目前,可用于单片机开发的硬件越来越多,与之配套的开发系统和各种应用软件也日趋完善。第3章 系统设计思想及主要应用器件3.1 系统设计的总体思想 根据单片机温度控制要实现的功能,设计了基于ATMEL

15、公司的AT89C52芯片的温度测量系统。这是一种低成本的利用单片机多余I/O口实现的温度检测电路。整个系统硬件部分包括温度检测系统、信号放大系统、A/D转换、单片机、I/O设备、控制执行系统等.。温度控制部分用DS18B20、89C52单片机及LED的硬件电路完成对温度的实时检测及显示。3.2 系统硬件简介硬件大致构成:核心控制器件AT89C52 ,温度传感器DS18B20,显示器1602A 报警控制LED。 硬件设计思想 本设计是以AT89C52为单片机作为控制核心,提出了一种基于DS18B20的单总线多点温度测控系统,多个温度传感节点通过单总线与单片机相联形成分布式系统。单片机通过实时监控

16、温度的变化,通过LCD1602字符型液晶显示各节点温度的数值,当温度值超出所设定的值时,报警器开始报警,从而远程实现对整个温度系统的管理和控制。这种分布式温度测量系统具有成本低廉、传感精度高、系统稳定、易于管理等优点。3.3 系统主要器件 核心控制器件AT89C52 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为

17、您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本1。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。主要功能特性: 兼容MCS51指令系统 32个双向I/O口 3个16位可编程定时/计数器中断 2个串行中断 2个外部中断源 2个读写中断口线 低功耗空闲和掉电

18、模式 AT89C52各引脚及管脚如图3-1所示图3-1 AT89C52各引脚概述:AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20

19、 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。P0 口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路

20、,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为

21、定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1 接收低8 位地址。 P1.0和P1.1的第二功能如表3-2所示。表3-2 P1.0和P1.1的第二功能引脚号功能特性P1.0T2,时钟输出P1.1T2EX(定时/计数器2) P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储

22、器或16 位地址的外部数据存储器时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能P3 口还接收一些用于Flash 闪速存储器编程和程序校验

23、的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。

24、此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+1

25、2V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端5。 DS1820内部结构及工作原理 DS18B20数字温度传感器是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。1.DS18B20产品的特点:l 只要求一个端口即可实现通信。l 在DS18B20中的每个器件上都有独一无二的序列号。l 实际应用中不需要外部任何元器件即可实现测温。l 测量温度范围在55.C到

26、125.C之间。l 数字温度计的分辨率用户可以从9位到12位选择。l 内部有温度上、下限告警设置。TO92封装的DS18B20的引脚排列见图3-3所示。 图3-3 DS18B20的引脚排列DS18B20引脚功能描述见表3-4所示。表3-4 DS18B20引脚功能序号名称引脚功能描述1GND地信号2DQ数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源3VDD可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地2. DS18B20的内部结构DS18B20的内部框图下图3-5所示。64位ROM存储器件独一无二的序列号。暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度

27、传感器的数字输出。暂存器还提供一字节的上线警报触发(TH)和下线警报触发(TL)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。暂存器的5、6和7字节器件内部保留使用。第八字节含有循环冗余码(CRC )。 图3-5 DS18B20的内部框图3.DS18B20的4个主要数据部件:光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻RO

28、M的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个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即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H

29、,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。DS18B20温度数据表表如3-6所示。表3-6 DS18B20温度数据表TEMPERATUREDIGITAL OUTPUTDIGITAL OUTPUT+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 111

30、1 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90HDS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。配置寄存器表3-7 配置寄存器0R1R011111低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,

31、如下表3-8所示。(DS18B20出厂时被设置为12位)表3-8 R1与R0确定传感器分辨率设置表R1R0传感器精度/bit转换时间/ms00993.750110187.5101137511127504.DS18B20的工作过程l 初始化l ROM命令跟随着需要交换的数据;l 功能命令跟随着需要交换的数据。访问DS18B20必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,DS18B20都不会响应主机(除了Search ROM 和Alarm Search这两个命令,在这两个命令后,主机都必须返回到第一步)。a初始化:DS18B20所有的数据交换都由一个初始化序列开始。由主机发出的复位脉冲和

32、跟在其后的由DS18B20发出的应答脉冲构成。当DS18B20发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。b. ROM命令:ROM命令通过每个器件64-bit的ROM码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。DS18B20的ROM如表3-4所示,每个ROM命令都是8 bit长。c. 功能命令:主机通过功能命令对DS18B20进行读/写Scratchpad存储器,或者启动温度转换。DS18B20的功能命令如表3-9所示。表3-9 DS18B20的功能命令指令协议功能读ROM33H读DS18B20中的编码(即64位地址)符合ROM55H发出此命令后,

33、接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之作出响应,为下一步对该DS18B20的读写作准备搜索ROM0F0H用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备跳过ROM0CCH忽略64位ROM地址,直接向DS18B20温度转换命令,适用于单个DS18B20工作报警搜索命令0ECH执行后,只有温度超过庙宇值上限或下限的片子才做出响应温度转换44H启动DS18B20进行温度转换,转换时间最长为500ms(典型为200ms),结果丰入内部9字节RAM中读暂存器BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的第3、4

34、字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据复制暂存器48H将RAM中第3、4字内容复制到E2PROM中重调E2PROM0B8H将E2PROM中内容恢复到RAM中的第3、4字节读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1”5.DS18B20的信号方式DS18B20采用严格的单总线通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、写1、读0和读1。除了应答脉冲所有这些信号都由主机发出同步信号。总线上传输的所有数据和命令都是以字节的低位在前。a.初始化序列:复位脉冲和应答脉冲在初始

35、化过程中,主机通过拉低单总线至少480s,以产生复位脉冲(TX)。然后主机释放总线并进入接收(RX)模式。当总线被释放后,5k的上拉电阻将单总线拉高。DS18B20检测到这个上升沿后,延时15s60s,通过拉低总线60s240s产生应答脉冲。初始化波形如图3-10所示。 图 3-10 初始化脉冲b.读和写时序在写时序期间,主机向DS18B20写入指令;而在读时序期间,主机读入来自DS18B20的指令。在每一个时序,总线只能传输一位数据。l 写时序存在两种写时序:“写1”和“写0”。主机在写1时序向DS18B20写入逻辑1,而在写0时序向DS18B20写入逻辑0。所有写时序至少需要60s,且在两

36、次写时序之间至少需要1s的恢复时间。两种写时序均以主机拉低总线开始。产生写1时序:主机拉低总线后,必须在15s内释放总线,然后由上拉电阻将总线拉至高电平。产生写0时序:主机拉低总线后,必须在整个时序期间保持低电平(至少60s)。在写时序开始后的15s60s期间,DS18B20采样总线的状态。如果总线为高电平,则逻辑1被写入DS18B20;如果总线为低电平,则逻辑0被写入DS18B20。l DS18B20读/写时序图3-11所示。 图3-11 DS18B20读/写时序 DS18B20只能在主机发出读时序时才能向主机传送数据。所以主机在发出读数据命令后,必须马上产生读时序,以便DS18B20能够传

37、送数据。所有读时序至少60s,且在两次独立的读时序之间至少需要1s的恢复时间。每次读时序由主机发起,拉低总线至少1s。在主机发起读时序之后,DS18B20开始在总线上传送1或0。若DS18B20发送1,则保持总线为高电平;若发送0,则拉低总线。当传送0时,DS18B20在该时序结束时释放总线,再由上拉电阻将总线拉回空闲高电平状态。DS18B20发出的数据在读时序下降沿起始后的15s内有效,因此主机必须在读时序开始后的15s内释放总线,并且采样总线状态。DS18B20 在使用时,一般都采用单片机来实现数据采集。只需将DS18B20 信号线与单片机1 位I/O线相连,且单片机的1 位I/O 线可挂

38、接多个DS18B20,就可实现单点或多点温度检测9。6.DS18B20的温度计算DS18B20允许通过程序对传感器的分辨率,温度报警的上、下限等参数进行配置。它的内部存储器包括一个高速暂存存储器和一个非易失性可擦除EPROM。速暂存存储器共有8个字节(byte),每个字节8位(bit)。根据温度的计算方法如下:S S S S S = 11111 b 温度值:T = (MSB and 7) 256 + LSB 0.0625 SSSSS = 00000 b 温度值:T = - (256 - MSB) 256 - LSB 0.0625 如果,存储器高位寄存器MS的S S S S S 均为1 ,则被测

39、温度为正值,用上面第1个公式来计算温度。如果存储器高位寄存器MSB的S S S S S均为0,则被测温度为负值,用上面第2个公式来计算温度。在这里,有两点应当注意:一是公式中中括号内的数值为二进制,在计算口号内计算完成后应转化为十进制;二是这里的7与0.0625是假设传感器的分辨率设置0.0625时的计算值。如果分辨率的设置值不是0.0625,那么就应当作相应的变化。第3和第4个字节分别用来存放温度报警的上限(TH)和下限值(TL)。DS18B20在完成温度变换后,会将所测温度值与贮存在TH和TL内的上下限值相比较,如果测温结果高于TH或低于TL,DS18B20内部的告警标志就会被置位,表示温

40、值超出了测量范围。并且该值在掉电后不会丢失,而是记忆其设定的上下限值。第5字节是配置寄存器,该寄存器用于对温度转换值的分辨率进行设置。其中,最高位用于设置传感器是工作模式还是测试模式,是生产厂家为便于检验使用。其出厂时的默认值为0,为工作模式(即用户使用时的模式)。并且在用户使用中,该位总是保持为0。R1与R0确定传感器的分辨率,DS18B20有4种分辨率可供选择。使用时可以根据实际需要来设置,出厂时的默认设置是12位。最后5位总保持为18。 LCD1602A内部结构及工作原理工作原理 LCD内部结构:由CGRAM(自建字型产生器)、DDRAM(数据显示存储器)、CGROM(内含字型产生器)、

41、指令寄存器、数据寄存器、地址计数器、指令译码器等组成 LCD显示原理:利用旋光效应对光进行偏转,再利用偏振片滤去不需要透过光的相应像素,从而实现图像显示。 LCD驱动原理:分成两大步,即写指令,写数据,其中写数据之前要找到显示的位置。本实验所采用的液晶型号为LCD1602A 。它位数多,可显示32位,32个数码管体积相当庞大了,显示内容丰富,可显示所有数字和大、小写字母,程序简单,如果用数码管动态显示,会占用很多时间来刷新显示,而LCD1602A自动完成此功能。1602A采用标准的16脚接口如图3-12所示。图3-12 1602A的接口图第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:

42、V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度(建议接地,弄不好有的模块会不显示)第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第1516脚:空脚(有的用来接背光) 1602A液晶模块内部的字符发生存储器(CGROM)已经存储了不同的点阵字符图形,这些字符有,阿拉伯数字、英文字母的大小写、常用的符号

43、、和日文假名等,每一个字符都有一个固定的代码,其中数字与字母同ASCII码兼容。其内部还有自定义字符(CGRAM),可用业存储自已定义的字符。3.4 本章小结本章简单介绍了系统的设计思想、硬件组成及主要器件的工作原理。第4章 系统软件设计4.1 软件设计总体思路及主程序流程图本系统采用C语言编写,主程序主要由四部分构成,系统通电后首先初始化系统,依次完成温度采集、温度处理、数据显示、键盘处理等四项功能。温度采集部分主要完成温度测试点的温度数据采集任务;温度处理部分主要是将采集到的温度数据与用户设定的各点上下限温度值进行比较处理,并判断是否超出设定的上下限值,如果超出则led灯亮报警;数据显示部

44、分主要实现温度数据的显示,显示方式根据设计要求支持温度测试点的轮流循环显示和固定显示两种方式;键盘处理部分主要实现用户对系统参数的设置,结合显示部分,实现用户与系统之间的人机接口。系统软件主流程如图4-1所示。 开始系统初始化温度采集温度处理数据显示键盘处理图4-1 系统软件总流程图4.2 测温模块测温流程图4-2所示。读温度初始化温度传感器扫描键盘选定所需芯片选定所需芯片进行温度转换读取温度调试显示子程序子程序返回图4-2 DSl8B20操作流程图 温度的采集DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM中,主机在进入操作程序前必须逐一接入DSl8B20,用读

45、ROM(33H)命令将该DSl8B20的序列号读出并登录。当主机需要对众多在线DSl8B20的某一个进行操作时首先要发出匹配ROM命令(55H),紧接着主机提供64位序列(包括该DSl8B20的48位序列号)之后的操作就是针对该DSl8B20的,而所谓跳过ROM命令即为之后的操作,是对所有DSl8B20的框图中先有跳过ROM即是启动所有DSl8B20进行温度变换之后通过匹配ROM再逐一地读回每个DSl8B20的温度数据在DSl8B20组成的测温系统中主机在发出跳过ROM命令之后再发出统一的温度转换启动码44H就可以实现所有DSl8B20的统一转换再经过1s后就可以用很少的时间去逐一读取这种方式

46、,使其T值往往小于传统方式7。 温度的测量单总线已经挂接了DS18B20。由于已经在上面获取了DS18B20的ROM代码并在AT89C52单片机内部的中建立了测量位置点和传感器64位ROM代码之间的关系表,因此对温度的巡回测量的步骤如下:(1)发跳过ROM命令CCH。(2)发启动所有在线的DS18B20进行温度转换命令44H。(3)延迟1s。(4)发匹配ROM命令55H。(5)按照AT89C51中建立的关系表的顺序取出64位ROM代码发送到单总线。(6)发读温度值命令BEH,读取温度值。(7)进行CRC校验和数据处理后送LCD显示器显示。(8)重复第4步到第7步,直到所有的DS18B20测量处

47、理完。(9)再重复第1步到第8步,进行下一轮的巡回测量。温度测量电路流程如图4-3所示。初始化跳过ROM等待1S初始化设置18B20符合ROM读存储器缓冲指针增一初始化B1=0?否 图4-3 温度测量电路流程4.3 显示模块流程图4-4所示 忙判断P0.7=1?结束开始液晶初始化送显示地址写指令送显示字符Y忙判断P0.7=1?写数据YNN 图4-4 LCD显示流程图 4.4 键盘扫描流程图按键处理程序通过扫描按键情况,读取键值。主要完成各点温度传感器上下限报警参数设置和显示模式设置。(1)通过扫描键盘读取键值,流程图如图4-5所示。YN键盘扫描有键闭合延时去键抖动动扫描键盘找到闭合键计算键值闭

48、合键释放建立有效标志返回建立无效标志NYNY图4-5 键盘扫描程序流程图(2)设置报警上、下限值 DS18B20设有温度上下限报警功能。DSl8B20的存储器由两部分组成:一个是9字节的静态RAM,其中第0和第1字节用于存储16位的温度转换值,第2(高温限TH)和第3字节(低温限TL)作为温度报警限值或通用存储器单元供用户使用;另一个是非易失性的EPROM。当静态RAM作为温度报警限值使用时,可以在系统安装和工作前,用写RAM命令4EH将高温限TH和低温限TL写入第2和第3字节单元。由于静态RAM掉电后信息即丢失,因此需要再通过拷贝RAM命令48H将第2和第3字节单元的温度报警限值拷贝到EPR

49、OM中。主程序只要在初始化部分使用重调EPROM命令B8H,就可以将EPROM中的温度报警限值重新拷贝到静态RAM中。读取DDRAM或CGRAM中的内容。结论经过几个月的不断学习和努力,在刘老师的谆谆教导下,在其他老师及同学们的热心帮助与指导下,基于单片机的温度测控系统的毕业实践报告即将结束,基本完成了老师所规定的各项工作任务。 本报告介绍了用单片机AT89C52控制DS18B20以及着重分析各单元电路的设计,以及各电路与单片机的接口技术。最后还给出系统的软件的设计过程,使用了C语言进行程序设计。本文是采用模块化的方式进行叙述,对各模块的设计进行了比较详细地阐述。通过本次温度监控系统的设计,我

50、大有收获,在制作过程中,一定要注意的每个工骤的检查,确保制作成功。比如在合理选择模块,检查装配无误的情况下,如果还出现电路无输出的情况,那么可以肯定是原理图错误,这时就要回到原理图进行检查。从整体来说这是一个复杂的过程,要细心谨慎,沉着冷静,反复检查,直到找到原因为止。经过三年学习的积累,在已经掌握相关专业方面知识及其它各方面知识的情况下,我认真严肃的完成了我的毕业实践报告。从得到题目到查找资料,从对题目的研究设定到程序的调试,从电路图的仿真调试到失败后再一次全部重新开始在这一个充满挑战伴随挫折,充满热情伴随打击的过程中,我感触颇深,它已不仅是一个对我学习知识情况和我的应用动手能力的检验,而且

51、还是对我的钻研精神,面对困难的心态,做事的毅力和耐心的考验。我在这个过程中深刻的感受到了做毕业设计的意义所在,和我一样真正投入了身心去做的人也一定会有同样的感触。本课题的重点、难点是:(1) 初步接触温度传感器,要对传感器的原理、结构、应用等各方面;(2) 考虑从非电量信号到电量信号的电路实现原理以及与单片机的接口;(3) 熟悉编程的技术;(4) 考究调整电路的实现过程以及怎么样通过单片机来间接的控制。通过做本课题,我了解并掌握了传感器的基本理论知识,更深入的掌握单片机的开发应用和PC编程控制。为以后从事单片机软硬件产品的设计开发、PC软件开发打下了良好的基础,树立独立从事产品研发的信心,并在

52、这种能力上得到了比较充分的锻炼。谢 辞在本次实践报告中,我得到了指导老师黄培老师的指导。自始至终关心督促进程和进度。帮助解决毕业设计(论文)中遇到的许多问题。还不断向我传授分析问题和解决问题的办法,并指出了正确的努力方向,使我在毕业设计(论文过程中少走很多弯路。并致以诚挚的谢意!另外,系里的领导和老师也给了我们很多的指导,我也向系和年级的领导们表示衷心的感谢!最后感谢学院对我这几年的培养。参考文献1何立民,单片机高级教程.北京航空航天大学出版社,2004.72 粟世明,刘湘涛.单片机原理与应用.电子工业出版社,2006.83 何立民,单片机中级教程.北京航空航天大学出版社,1999.124 李华,MCU-51系列单片机实用接口技术.北京:北京航空航天大学出版

温馨提示

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

评论

0/150

提交评论