测温系统设计毕业论文.doc_第1页
测温系统设计毕业论文.doc_第2页
测温系统设计毕业论文.doc_第3页
测温系统设计毕业论文.doc_第4页
测温系统设计毕业论文.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

电子与信息工程学院本 科 毕 业 论 文论文题目 基于单片机测温系统的设计 学生姓名 魏 凡 学 号 083521018 专 业 电气工程及其自动化 班 级 电气一班 指导教师 刘宏章 2012年5月摘 要摘 要温度是一个系统常需要测量,控制和保持的量。随着科学技术的发展,古老的测量仪器和控制仪器显然已经满足不了科学的精度和时间的要求,而单片机的应用已经渗透到了各个行业,但温度只是一个模拟量,不能直接与单片机交换信息。利用mcs-51单片机上多余的i/o口p1实现对温度的测量和采集,和对温度的显示报警等功能。关 键 词:温度 测量 控制 单片机 29abstractabstract the temperature need to be surveyed ,controled and maintained by a system frequently .with the development of science and technology, ancient measuring instruments and control instruments have clearly not for scientific accuracy and time required, and single-chip microcomputer application hasinfiltrated all sectors, but temperature is a analog, not directly exchange information with single-chip. mcs-51 excess i/o port p1 on the single-chip microcomputer realization for temperature measurement and collection,temperature display and alarm function. 目 录绪论目 录1 绪论12 方案设计52.1 方案的提出52.2 方案的设计52,3 方案的论证 63 系统设计63.1单片机的选择63.2 温度传感器的工作原理与单片机的连接63,3 单片机与报警电路3,4 电源电路3.5 显示电路 3.5.1 1620型液晶接口信号说明 3,5,2 液晶主要技术参数 3.5.3 基本操作时序4 软件系统的设计74.1 软件设计74.2 程序75 元器件的调试85.1 测试环境及工具85.2 温度检测部分测试85.3 电路主板测试6 结论和展望96.1 结论96.2 展望9致 谢11参考文献12附 录15在校期间取得的研究成果16即可):6 结论和展望1 绪论温度与人们生活是密切相关不可分开的,同时也是生产和科研中需要测量和控制的物理量。在科技飞速发展的21世纪,在各个领域中,尤其是在冶金、化工、机械和食品生产中都需要对温度进行严格的控制,尤其是在炼钢过程中,炼钢更是一个十分重要的参数,它直接关系到钢铁练成的成功率及钢铁内部质量的好坏。正是因为如此,一种好的测量法和测温工具才被迫切的需求。温度作为一个重要的参数之一,随着工业的发展,随着工业的不断发展,人们对温度的测量的要求越来越高,而且测量的范围也越来越广,对温度检测技术和控制技术的要求也越来越高,因此,温度的测量和控制技术是一个重要的研究课题。本文主要讲述如何利用mcs-51单片机为控制核心,结合其他元器件对温度进行测量和控制,以及高温报警等系统的设计。2 方案设计2.1方案的提出温度的检测有多种方法,考虑到实际应用的时候,需要把温度信号转变成电信号。本方案采用at89c51单片机和ds18b20传感器,以及1602液晶显示模块。2.2方案的设计 该方案使用了at89c51 单片机作为控制核心,以智能温度传感器ds18b20 为温度测量元件,对各点温度进行检测,设置温度上下限,超过其温度值就报警。显示电路采用1602 液晶模块显示,使用二极管,电阻和蜂鸣器组成的报警电路。2.3方案的论证 基于ds18b20 的温度测量系统是一种分布式的温度测量系统,它可以远程对温度实现测量和监控,广泛应用于电力工业、煤矿、森林、火灾、高层建筑等场合,按照ds18b20 的通信协议,由主机向ds18b20 发送命令,读取ds18b20 转换的温度,从而实现对环境的温度的测量,当温度超过一定的值时,报警器开始报警。采用智能温度传感器ds18b20,它直接输出数字量,精度高,电路简单,只需要模拟ds18b20 的读写时序,根据ds18b20 的协议读取转换的温度。此方案硬件电路非常简单,但程序设计复杂一些,但是在课外对ds18b20、字符型液晶显示有所了解,而且曾经在网上看到过此类程序程序设计,并且我已经使用过开发工具keil 用c 语言对系统进行了程序设计,用单片机开发板对系统进行了测试,达到了预期的结果。由此可见,该方案完成具有可行性,体现了技术的先进性,经济上也没有任何问题。3 系统设计3.1单片机的选择at89c51作为温度测试系统设计的核心器件。该器件是intel 公司生产的mcs-51 系列单片机中的基础产品,采用了可靠的cmos 工艺制造技术,具有高性能的8 位单片机,属于标准的mcs-51 的cmos 产品。不仅结合了hmos 的高速和高密度技术及chmos 的低功耗特征,而且继承和扩展了mcs 一48 单片机的体系结构和指令系统。(1)中央处理器at89c51 简介at89c51 的特点at89c51 具有以下几个特点:at89c51 与mcs-51 系列的单片机在指令系统和引脚上完全兼容;片内有4k 字节在线可重复编程快擦写程序存储器;全静态工作,工作范围:0hz24mhz;三级程序存储器加密;1288 位内部ram;32 位双向输入输出线;两个十六位定时器/计数器五个中断源,两级中断优先级;一个全双工的异步串行口;间歇和掉电两种工作方式。at89c51 的功能描述at89c51 是一种低损耗、高性能、cmos 八位微处理器,片内有4k 字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000 次,数据保存时间为十年。它与mcs-51 系列单片机在指令系统和引脚上完全兼容,不仅可完全代替mcs-51 系列单片机,而且能使系统具有许多mcs-51 系列产品没有的功能。at89c51 可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于4k,四个i/o 口全部提供给用户。可用5v 电压编程,而且擦写时间仅需10 毫秒,仅为8751/87c51 的擦除时间的百分之一,与8751/87c51 的12v 电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽(2.7v6v),全静态工作,工作频率宽在0hz24mhz 之间,比8751/87c51 等51 系列的6mhz12mhz 更具有灵活性,系统能快能慢。at89c51 芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。p0 口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。 at89c51 引脚功能at89c51 单片机p3 口第二功能如表3-1 所示。3.2温度传感器的工作原理与单片机的连接 温度传感器的单总线(1-wire)与单片机的p27 连接,p27 是单片机的高位地址线。p2 端口是一个带内部上拉电阻的8 位双向io,其输出缓冲级可驱动(吸收或输出电流)4 个ttl 逻辑门电路。对该端口写“1”,可通过内部上拉电阻将其端口拉至高电平,此时可作为输入口使用,这是因为内部存在上拉电阻,某一引脚被外部信号拉低时会输出一个电流。如图3-1 所示:ds18b20 与单片机的接口电路非常简单。ds18b20 只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机i/o 口,电源与数字输入输出脚间需要接一个4.7k 的电阻。(3)ds18b20 的工作原理 ds18b20 数字温度传感器概述ds18b20 数字温度传感器是dallas 公司生产的1wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。ds18b20 产品的特点:只要求一个端口即可实现通信。在ds18b20 中的每个器件上都有独一无二的序列号。实际应用中不需要外部任何元器件即可实现测温。测量温度范围在55.c 到125.c 之间。数字温度计的分辨率用户可以从9 位到12 位选择。内部有温度上、下限告警设置。ds18b20 引脚功能描述见表3-2ds18b20 的内部结构ds18b20 的内部框图如图3-2 所示。64 位rom 存储器件独一无二的序列号。暂存器包含两字节(0 和1 字节)的温度寄存器,用于存储温度传感器的数字输出。暂存器还提供一字节的上线警报触发(th)和下线警报触发(tl)寄存器(2 和3 字节),和一字节的配置寄存器(4 字节),使用者可以通过配置寄存器来设置温度转换的精度。暂存器的5、6 和7 字节器件内部保留使用。第八字节含有循环冗余码(crc )。使用寄生电源时,ds18b20 不需额外的供电电源;当总线为高电平时,功率由单总线上的上拉电阻通过dq 引脚提供;高电平总线信号同时也向内部电容cpp 充电,cpp 在总线低电平时为器件供电。(注:internal vdd-内部vdd 64-bit rom and 1-wireprot-64 位rom 和单线端memory control logic- 存储器控制逻辑scratchpad 暂存器temperature sensor 温度传感器alarm hightrigger( th)register 上限温度触发alarm low trigger( tl)register 下限温度触发8-bit crc genertor 8 位crc 产生器power supplly sense 电源探测parasite power circuit 寄生电源电路)。(4)ds18b20 的4 个主要数据部件:光刻rom 中的64 位序列号是出厂前被光刻好的,它可以看作是该ds18b20的地址序列码。64 位光刻rom 的排列是:开始8 位(28h)是产品类型标号,接着的48 位是该ds18b20 自身的序列号,最后8 位是前面56 位的循环冗余校验码。光刻rom 的作用是使每一个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,-25.0625的数字输出为ff6fh , -55 的数字输出为fc90h , 如表3-3 所示。( 注:temperature-温度,digital output-数字输出)ds18b20 温度传感器的存储器ds18b20 温度传感器的内部存储器包括一个高速暂存ram 和一个非易失性的可电擦除的eeprom,后者存放高温度和低温度触发器th、tl 和结构寄存器。配置寄存器低五位一直都是1,tm 是测试模式位,用于设置ds18b20 在工作模式还是在测试模式。在ds18b20 出厂时该位被设置为0,用户不要去改动。r1 和r0 用来设置分辨率,如表3-5 所示:(ds18b20 出厂时被设置为12 位)(5)ds18b20 的工作过程初始化rom 命令跟随着需要交换的数据;功能命令跟随着需要交换的数据。访问ds18b20 必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,ds18b20 都不会响应主机。a初始化:ds18b20 所有的数据交换都由一个初始化序列开始。由主机发出的复位脉冲和跟在其后的由ds18b20 发出的应答脉冲构成。当ds18b20 发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。b. rom 命令:rom 命令通过每个器件64-bit 的rom 码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。ds18b20 的rom 如表3-6 所示,每个rom 命令都是8 bit 长。c. 功能命令:主机通过功能命令对ds18b20 进行读/写scratchpad 存储器,或者启动温度转换。ds18b20 的功能命令如表3-6 所示。(6)ds18b20 的信号方式ds18b20 采用严格的单总线通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、写1、读0 和读1。除了应答脉冲所有这些信号都由主机发出同步信号。总线上传输的所有数据和命令都是以字节的低位在前。a.初始化序列:复位脉冲和应答脉冲在初始化过程中,主机通过拉低单总线至少480s,以产生复位脉冲(tx)。然后主机释放总线并进入接收(rx)模式。当总线被释放后,4.7k的上拉电阻将单总线拉高。ds18b20 检测到这个上升沿后,延时15s60s,通过拉低总线60s240s 产生应答脉冲。初始化波形如图3-3 所示。b.读和写时序在写时序期间,主机向ds18b20 写入指令;而在读时序期间,主机读入来自ds18b20 的指令。在每一个时序,总线只能传输一位数据。读/写时序如图3-4 所示。写时序存在两种写时序:“写1”和“写0”。主机在写1 时序向ds18b20 写入逻辑1,而在写0 时序向ds18b20 写入逻辑0。所有写时序至少需要60s,且在两次写时序之间至少需要1s 的恢复时间。两种写时序均以主机拉低总线开始。产生写1 时序:主机拉低总线后,必须在15s 内释放总线然后由上拉电阻将总线拉至高电平。产生写0 时序:主机拉低总线后,必须在整个时序期间保持低电平(至少60s)。在写时序开始后的15s60s 期间,ds18b20 采样总线的状态。如果总线为高电平,则逻辑1 被写入ds18b20;如果总线为低电平,则逻辑0 被写入ds18b20。读时序ds18b20 只能在主机发出读时序时才能向主机传送数据。所以主机在发出读数据命令后,必须马上产生读时序,以便ds18b20 能够传送数据。所有读时序至少60s,且在两次独立的读时序之间至少需要1s 的恢复时间。每次读时序由主机发起,拉低总线至少1s。在主机发起读时序之后,ds18b20开始在总线上传送1 或0。若ds18b20 发送1,则保持总线为高电平;若发送0,则拉低总线。当传送0 时,ds18b20 在该时序结束时释放总线,再由上拉电阻将总线拉回空闲高电平状态。ds18b20 发出的数据在读时序下降沿起始后的15s 内有效,因此主机必须在读时序开始后的15s 内释放总线,并且采样总线状态。ds18b20 在使用时,一般都采用单片机来实现数据采集。只需将ds18b20 信号线与单片机1 位i/o 线相连,且单片机的1 位i/o 线可挂接多个ds18b20 ,就可实现单点或多点温度检测。3.3单片机与报警电路系统中的报警电路是由三极管,蜂鸣器,发光二极管和限流电阻组成,并与单片机的p1.0p1.3 端口连接。p1 端口的作用和接法与p2 端口相同,不同的是在flash 编程和程序校验期间,p1 接收低8 位地址数据,如图所示;3.4 电源电路由于该系统需要稳定的5 v 电源,因此设计时必须采用能满足电压、电流和稳定性要求的电源。该电源采用三端集成稳压器lm7805。它仅有输入端、输出端及公共端3 个引脚,其内部设有过流保护、过热保护及调整管安全保护电路由于所需外接元件少,使用方便、可靠,因此可作为稳压电源。图3-6 为电源电路连接图。3.5 显示电路采用技术成熟,价格便宜的1602 液晶显示器做为输出显示。本次设计使用的1602液晶显示器为5v 电压驱动,带背光,可显示两行,每行16 个字符,不能显示汉字,内置128 个字符的ascii 字符集字库,只有并行接口,无串行接口。3.5.1 1602 型液晶接口信号说明1602 型液晶接口信号说明如表3-7 所示:3.5.2 液晶主要技术参数3.5.3 基本操作时序读状态输入:rs=l, r/w=h,e=h 输出:d0d7=状态字。读数据输入:rs=h, r/w=h,e=h 输出:无。写指令输入:rs=l, r/w=l,d0d7=指令码,e=高脉冲输出:d0d7=数据。写数据输入:rs=h, r/w=l, ,d0d7=数据,e=高脉冲输出:无。3.5.4 写操作时序(见图3-7)分析时序图可知操作1602 液晶的流程如下:(1)通过rs 确定是写数据还是写命令。写命令包括使液晶的光标显示/不显示、光标闪烁/不闪烁、需/不需要移屏、在液晶的什么位置显示,等等。写数据是指要显示什么内容。(2)读/写控制端设置为写模式,即低电平。(3)将数据或命令送达数据线上。(4)给e 一个高脉冲将数据送入液晶控制器,完成写操作。(注:tsp1-地址建立时间(30ns) tsp2-数据建立时间(40ns) thd1 地址保持时间(10ns ) thd2 数据保持时间(20us) tpw 脉冲宽度(150us) tr tf 上升/下降沿时间(小于25us)valid data-数据。4 系统软件的设计4.1软件设计dsl8b20 的主要数据元件有:64 位激光lasered rom,温度灵敏元件和非易失性温度告警触发器th 和tl。dsbl820 可以从单总线获取电源,当信号线为高电平时,将能量贮存在内部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变为高电平重新接上寄生(电容)电源为止。此外,还可外接5 v 电源,给dsl8820 供电。dsl8820 的供电方式灵活,利用外接电源还可增加系统的稳定性和可靠性。图4-1 为读取数据流程图。4.2 程序设计主程序代码为:#include / 51 系类单片机头文件#include lcd1602.h /包含对1602 读写操作的头文件#include delay.h /延时操作头文件#include 18b20.h /包含对18b20 操作的头文件#includesbit beep = p30; /定义蜂鸣器信号线sbit led0=p10; /定义发光二极管端口sbit led1=p11;sbit led2=p12;sbit led3=p13;uint warn_l1=250; /定义温度下限值温度*10uint warn_l2=220;uint warn_h1=370;uint warn_h2=350;/*函数名称:deal(uint t) * 函数功能:对18b20 获取的温度进行相应的处理*入口参数:temp *出口参数:无*/void deal(uint t)if(twarn_l2)&(t=warn_l1) /2225 度led0=0; /第一个闪烁delayms(20);led0=1;mdi(); /蜂鸣器慢“滴” /模拟开启制热else if(t=warn_l2) / warn_h2)&(t=warn_h1) / 37 度led2=0; /第三四个灯闪烁led3=0;delayms(10);led2=1;led3=1;kdi(); /蜂鸣器慢“滴” /模拟加大制冷功率elsebeep=1; /温度正常/*函数名称:display(uint t); *函数功能:显示温度*入口参数:t *出口参数:无*/void display(uint t)write_com(0x80+12); / 第一行第13 列write_data(t/100+0x30); / 十位+0x30 转换为字符显示write_com(0x80+14);write_data(t%100/10+0x30);write_com(0x80+15);write_data(t%10+0x30);/*函数名称:main(void); * 函数功能:主函数*入口参数:无* 出口参数:无*/void main(void)uchar i = 0;uint temp = 0;while(1)init(); /lcd 初始化tempchange(); /温度转换_nop_(); /稍作延时temp = get_temp();deal(temp); /温度处理_nop_();for(i=10;i0;i-)display(temp(); /温度处理5 元器件的调试5.1 测试环境及工具测试温度:20.045.0 摄氏度。(模拟多点不同温度值环境)测试仪器:,温度计0100 摄氏度,keil 51 软件。测试方法:目测。5.1 温度检测部分测试当环境温度低于25 摄氏度时,蜂鸣器开始以慢“滴”声报警,并且伴随着p10口发光二极管闪烁(模拟开启制热设备),当环境温度继续降低到22 摄氏度时,蜂鸣器伴随p10 和p11 口发光二极管一起闪烁(模拟加大制热功率)。当环境温度高于35摄氏度是,蜂鸣器开始以慢“滴”声报警,并且伴随着p12 口发光二极管闪烁(模拟开启制热设备),当环境温度继续升高到37 摄氏度时,蜂鸣器伴随p12 和p13 口发光二极管一起闪烁(模拟加大制热功率)。5.1 电路主板测试将电路主板通电后,发现电路不工作。于是我又测量at89c51 芯片20 脚和40脚之间发现无5v 电压。由此可见,电源回路有问题。于是我仔细检查了回路发现20脚的地线没有与其他地线相连,将其接好发现工作正常。6 结论和展望6.1结论 本文所用到的at89c51单片机和ds18b20传感器为主的水温检测控制系统。它的主要特点如下:(1) 该系统数学模型、测量原理简单,但精确度高,所用时间少,有高效性。(2) 用智能传感器ds18b20对各点温度进行测量,对温度有了全面的测量,无遗漏。(3) 系统中还用到了1602液晶显示电路,将各点测量结果及时读出,对温度能进行实时控制。(4) 该系统的软件程序全部用c51汇编语言编写,具有可读性和可移植性。(5) 本测量系统具有广阔的前景,有待于进一步将其应用和推广。经过分析和论证,整个测量误差很小,真个单片机系统稳定、可靠、准确。 6.2展望随着现代自动控制技术以及计算机技术的迅猛发展和日益完善,工业生产过程已经逐步走向标准化、自动化。同时对自动控制系统和检测装置提出了更高的要求。基于单片机的各种测量技术也在不断的提高和发展。然而,任何产品都有一个不断改进和完善的过程,只有在调试和使用过程中才能知道产品实际存在的问题。本系统虽然在低温测量有优势,但是在高温测量方便还是有明显的不足,希望今后能逐渐改善。 本的时间fks本参考文献致 谢在大学四年的学习当中,我得到了湖北科技学院教师们学业上的指导和为人处事上的方法,以及生活上的关怀。恩师们在教育上、科研上兢兢业业的作风无时不刻在敲击着我,将使我在今后的学习中和生活中受益匪浅。在毕业论文的设计中,我非常感谢指导老师刘宏章老师的精心知指导和督促,还有众多的同学朋友们的帮助,能使我顺顺利利的完成课题,在此我表示深深的谢意。同时,感谢学院的全体老师以及关心我的同学、朋友、亲人们。衷心的感谢你们,谢谢!参考文献1 郭天祥.51 单片机c 语言教程-入门、提高、开发、拓展全攻略m.北京:电子工业出版社,2009.2 蔡美琴,毛敏等.mcs-51 系列单片机系统及其应用m.北京:高等教育出版社,2009.3 陶红艳,余成波.传感器与现代检测技术m.北京:清华大学出版社,2009.4 闫胜利.altium designer 实用宝典原理图与pcb 设计m.北京:电子工业出版社,2007.5 康华光.电子技术基础模拟部分m.北京:高等教育出版社,2008.6 康华光.电子技术基础数字部分m.北京:高等教育出版社,2008.7 张毅刚 单片机原理及应用m。北京:高等教育出版社,2008附录附录118b20.h 头文件#ifndef _18b20_h_ /防止重复定义#define _18b20_h_#include#include#include18b20.h#includedelay.hextern void dsreset(void); /函数声明外部可见extern void tempwritebyte(uchar dat);extern bit tempreadbit(void);extern uchar tempreadbyte(void);extern void tempchange(void);extern uint get_temp(void);#endif18b20.c 文件#include18b20.hsbit beep = p30; /定义蜂鸣器信号线sbit ds = p27; /定义18b20 信号线static uint temp = 0;static float f_temp = 0.0;/* 函数名称:dsreset(void) * 函数功能:18b20 初始化* 入口参数:无* 出

温馨提示

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

评论

0/150

提交评论