ImageVerifierCode 换一换
格式:DOC , 页数:28 ,大小:339KB ,
资源ID:4697064      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4697064.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(智能温度控制系统毕业论文.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

智能温度控制系统毕业论文.doc

1、 目 录 引 言 1 1 系统的相关介绍 2 1.1 系统的目的及意义 2 1.2 设计要求 2 1.3 系统传感器DS18B20的介绍 2 1.3.1 DS18B20的主要特性 2 1.3.2 DS18B20的外形和内部结构 3 2 系统分析设计 4 2.1 温度控制系统结构图及总述 4 2.2 系统显示界面方案 4 2.3 系统输入方案 5 2.4系统的功能 5 3 相关软件编译知识介绍 5 3.1 C语言简介 5 3.1.1 C语言的优点 5 3.1.2 C语言缺点 6 3.2 Keil简介 6 3.2.1 系统概述 6 3.2.2 Ke

2、il C51单片机软件开发系统的整体结构 7 4系统流程图设计 7 4.1主程序流程图 7 4.2 DS18B20控制程序流程图 8 4.2.1 DS18B20 复位程序流程图 9 4.2.2 DS18B20写数据程序流程图 9 4.2.3 DS18B20读数据程序流程图 10 4.3 温度读取及转换程序流程图 12 4.4 MAX7219驱动程序流程图 13 4.4.1 MAX7219写入一个字节数据程序流程图 13 4.4.2 MAX7219写入一个字数据程序流程图 15 4.5 数码管温度显示程序流程图 16 4.6 按键中断服务程序流程图 17

3、5 电路仿真 19 5.1 PROTEUS软件介绍 19 5.2 温度控制系统PROTEUS仿真 19 6总结 20 7参考文献 21 附录1 源程序代码 22 引 言 信息采集(即传感器技术)、信息传输(通信技术)、信息处理(计算机技术)。传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农业生产、科学研究和生活等领域,数量高居各种传感器之首。近百年来,温度传感器的发展大致经历了以下三个阶段;(1)传统的分立式温度传感器(含敏感元件);(2)模拟集成温度传感器/控制器;(3)智能温度传感器。目前,国际上新型温度传感器正从由集成化向智能化、网络化的方向发展。

4、 下面介绍的就是两种最常见的温度传感器: (1)集成温度传感器 模拟集成温度传感器。集成传感器是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC。模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等。某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它

5、自成系统,工作时并不受微处理器的控制,这是二者的主要区别。 (2)智能温度传感器 智能温度传感器(亦称数字温度传感器)是20世纪90年代中期微电子技术、计算机技术和自动测试技术的结晶。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。智能温度传感器正朝着高精度、多功能、总线标准化、高可

6、靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。 1 系统的相关介绍 1.1 系统的目的及意义 温度检测控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS1

7、8B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。因此温度监测是生产自动化的重要任务。因而本设计具有非常实际的生产意义。 1.2 设计要求 本设计是基于单片机STC89C52的温度控制。它实现的是温度的监测和控制功能。 可设置报警温度。本设计用DS18B20传感器来检测温度,LED用于显示。MAX7219用来驱动数码显示。设计先通过keil和proteus来联合仿真,然后焊接实物。 具体设计要求如下: (1) 使用STC89C52控制

8、器和DS18B20温度传感器,实现温度的检测和显示; (2) 设置默认报警温度为500C,并且能够通过按键设置调高调低报警温度; (3) 当温度高于报警温度时报警灯亮,低于报警温度时控制电阻丝加热; (4) 四位数码管能通过按键交换显示实测温度和报警温度。 1.3 系统传感器DS18B20的介绍 1.3.1 DS18B20的主要特性    (1) 适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。    (2) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。    (3) DS18B20

9、支持多点组网功能,多个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)测量结果直接输出数字温度信号,以"

10、一 线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。    (9)负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。 1.3.2 DS18B20的外形和内部结构 DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如下图1.3.2.1: 图1.3.2.1 DS18B20的外形及管脚排列 2 系统分析设计

11、 2.1 温度控制系统结构图及总述 本设计实际上是模仿饮水机的工作原理。它是采用DS18B20温度传感器测试环境温度,经过CPU数据处理,用LED数码管来显示温度。该设计可设置预期温度。当温控开关打开时,若测得环境温度低于设定温度,则继电器吸合,启动电热丝工作;若测得环境温度高于设定温度,则继电器释放,电热丝停止工作。 时钟电路 按键设 定电路 温度传感器电路 LED显示电路 报警信号灯控制电路 继电器控制电路 单片机 (89C52) 主控制器 图2.1.1系统总框图 2.2 系统显示界面方案 该系

12、统要求完成温度的显示以及按键操作时的实时显示功能。基于上述原因,本次设计考虑了两种方案: 方案一:完全采用LCD液晶显示。这种方案显示精确,可方便的显示各种英文字符,温度符号,正负号等,但实现复杂,且须完成大量的软件工作。 方案二:完全采用数码管显示。这种方案优点是实现简单。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。 2.3 系统输入方案 这里同样讨论了两种方案: 方案一:采用8155扩展I/O口、键盘及显示等。该方案的优点是使用灵活可编程,并且有RAM及计数器。若用该方案,可提供较多I/O口,但

13、操作起来稍显复杂。 方案二:直接在I/O口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的端口资源还比较多。 由于该系统是对设定报警温度的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。 2.4系统的功能 能完成对系统温度的监测及控制,并且能够对被控现场的温度进行智能调节,以保 持被控现场温度基本不变。该系统如果应用于现实生活具有很强的实用意义。 3 相关软件编译知识介绍 3.1 C语言简介 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言

14、编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言 。具体应用比如单片机以及嵌入式系统开发。 3.1.1 C语言的优点 C语言现在被广泛应用于单片机以及嵌入式系统的开发,它具有如下一些优点: (1) 简洁紧凑、灵活方便;      (2) 运算符丰富;      (3) 数据类型丰富 ;   (4) C是结构式语言;       (5) 语法限制不太严格,程序设计自由度大;      (6) 允许直接访问物理地址,对硬件进行操作;    (7)

15、生成目标代码质量高,程序执行效率高;       (8) 适用范围大,可移植性好 。   3.1.2 C语言缺点 C语言是一种较汇编语言高级的语言,但相对于汇编这种直接面向机器的语言来说,它的处理效率较会变低。 3.2 Keil简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需

16、要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 3.2.1 系统概述 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。    3.2.2 Keil C5

17、1单片机软件开发系统的整体结构   C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写

18、入程序存贮器如EPROM中。 4系统流程图设计 软件总体设计主要完成各部分的软件控制和协调。本系统主程序模块主要完成的工作是对系统的初始化,发送显示数据,同时对键盘进行扫描,等待外部中断,以及根据所需要的功能进行相应的操作。 4.1主程序流程图 本设计是模拟温度控制系统,主程序通过调用读取温度子程序和显示子程序,来实时扫描并显示系统温度;并通过调用温度控制子程序将测得的温度与系统所设的报警温度比较进而对温度进行控制。通过扫描中断口检查是否有按键按下,调用相应的按键扫描子程序来进行对应的设置。主程序如下: void main(void) { EA=1;

19、 //开中断总开关 EX0=1; //允许INT0中断 IT0=1; //下降沿产生中断 text_rst(); //第一次使用数码管测试 while(1) { T_Current=GetTemperature(); //温度值传给T_time temperature_display(T_Current); //显示温度 if(T_Current

20、IDIANQI=1,alarm=1; else JIDIANQI=0,alarm=0; delayms(30); //延时三秒,即每三秒扫描一次,显示一次 } } 开始 中断设置 开中断 LED显示 读取当前实际温度值 显示读取的温度值 温度控制 结束 图4.1.1主程序流程图 4.2 DS18B20控制程序流程图 DS18B20控制程序包括DS18B20复位程序,DS18B20写数据程序以及DS

21、18B20读数据程序。 4.2.1 DS18B20 复位程序流程图 具体程序如下: ds18b20rst(void) //DS18B20复位初始化 { unsigned char x=0; DQ = 1; delay(16); DQ = 0; delay(160); DQ = 1; delay(28); x=DQ;

22、 delay(40); } 开始 DQ=1 延时 DQ=0 延时(延时大于480us) DQ=1 延时 结束 图4.2.1 DS18B20复位程序流程图 4.2.2 DS18B20写数据程序流程图 DS18B20写程序流程图如图4.2.2所示。 DS18B20写数据程序如下: ds18b20write(unsigned char dat) //写DS18B20的 子程序

23、 { unsigned char i=0; for (i=8; i>0; i--) { DQ = 0; DQ = dat&0x01;

24、 delay(10); DQ = 1; dat>>=1; } } 开始 循环控制变量i=8 i=0? Y N DQ=dat&0x01 延时 DQ=1 dat>>=1 结束

25、 图4.2.2 DS18B20写数据程序流程图 4.2.3 DS18B20读数据程序流程图 DS18B20读数据程序流程图如图4.2.3所示。 DS18B20读数据程序如下: ds18b20read(void) //读DS18B20的程序 { unsigned char i=0; unsigned char dat = 0;

26、for (i=8;i>0;i--) { DQ = 0; dat>>=1; DQ = 1; if(DQ) dat|=0x80; delay(8);

27、 } return(dat); } 开始 循环控制变量i=8 dat=0 i=0? Y N DQ=0;dat>>1;DQ=1 Y DQ=1? N dat|=0x80 延时 返回dat 值 结束 图4.2.3 DS18B20读数据程序流程图 4.3 温度读取及转换程序流程图 温度读取及

28、转换流程图如图4.3.1所示。 温度读取及转换具体程序如下: GetTemperature(void) //从DS18B20中读出两个字节的温度数据 { uchar symbol; unsigned int temperature; unsigned char a=0; unsigned char b=0;

29、 unsigned int t=0; ds18b20rst(); ds18b20write(0xCC); ds18b20write(0x44); ds18b20rst(); ds18b20write(0xCC); ds18b20

30、write(0xBE); a=ds18b20read(); b=ds18b20read(); t=b; t<<=8; //进行精度转换 t=t|a; if(t<0x0fff)symbol=0; else

31、 { t=~t+1; symbol=1; } temperature=t*0.625; if(symbol==1) temperature=-temperature; return(temperature);

32、 } 开始 DS18B20初始化 启动温度转换 读取当前实际温度值 处理读取的温度值 Y 温度大于0? N 符号标志为0 符号为1,按正温度处理 返回处理后的温度值 结束 图4.3.1 温度读取及转换程序流程图 4.4 MAX7219驱动程序流程图 4.4.1 MAX7219写

33、入一个字节数据程序流程图 写入一个字节数据程序流程图如图4.4.1所示。 开始 循环控制变量i=8 code1=ch&0x80 ch=ch<<1 code1=1? Y DIN=1,给上升沿

34、 N DIN=0,给上升沿 结束 图4.4.1 MAX7219写入一个字节数据程序流程图 具体程序如下: void write_byte(uchar ch) { uchar i,code1; _nop_(); _nop_();

35、 _nop_(); for(i=0;i<8;i++) { code1=ch&0x80; ch=ch<<1; if(code1) { DIN=1;

36、 CLK=0; CLK=1; } else { DIN=0; CLK=0; CLK=1; }

37、 } } 4.4.2 MAX7219写入一个字数据程序流程图 写入一个字节数据程序流程图如图4.4.1所示。 开始 LOAD=0 延时 写地址 延时 写数据 延时 LOAD=1 结束 图4.4.2 MAX7219写入一个字数据程序流程图 具体程序如下: void write7219(uchar addr,uchar number) {

38、 LOAD=0; _nop_(); _nop_(); _nop_(); write_byte(addr); _nop_(); _nop_(); _nop_(); write_byte(n

39、umber); _nop_(); _nop_(); _nop_(); LOAD=1; } 4.5 数码管温度显示程序流程图 数码管温度显示程序流程图如图4.5.1所示。 具体程序如下: temperature_display(int temperature_x) { uchar symbol;

40、 if(temperature_x<0) { symbol=1; temperature_x=-temperature_x; } else symbol=0; switch(symbol) { case 0:DisBuffer[0]=0x0f;break; case 1:DisBuffer[0]=0x0a;break;

41、 } DisBuffer[1]=temperature_x/100; DisBuffer[2]=(temperature_x%100)/10; DisBuffer[2]=DisBuffer[2]|0x80; DisBuffer[3]=temperature_x%10; if(DisBuffer[1]==0x00) { DisBuffer[1]=0x0f;

42、 } write7219(0x01,DisBuffer[0]); write7219(0x02,DisBuffer[1]); write7219(0x03,DisBuffer[2]); write7219(0x04,DisBuffer[3]); } 开始 温度小于0? Y symbol=1 N symbol=0 显示符号位 显示十位 显示个位 显示小数位 结束

43、 图4.5.1 数码管温度显示程序流程图 4.6 按键中断服务程序流程图 按键中断服务程序流程图如图4.6.1所示。 具体程序如下: int0() interrupt 0 using 0 { temperature_display(T_Original); key_v = 0x07; for(;;) {

44、 if(key()) { delayms(10); if(key()) { key_v = key_s; if((key_v & 0x

45、01) == 0) { T_Original=10+T_Original; temperature_display(T_Original);

46、 } else if((key_v & 0x02) == 0) { T_Original=T_Original-10; temperature_display(T_Original);

47、 } else if((key_v & 0x04) == 0) { goto EXIT; }

48、 } } } EXIT:temperature_display(T_Current); } 中断入口 K1键按下? Y 报警温度加一,

49、 显示报警温度 N K2键按下? Y 报警温度减一, 显示报警温度 N K3键按下 退出按键程序,显示当前温度 中断返回 图4.6.1 按键中断服务程序流程图 5 电路仿真 5.1 PROTEUS软件介绍 Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来

50、完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。 5.2 温度控制系统PROTEUS仿真 系统仿真图如图5.2.1所示。 图5.2.1 系统仿真图 6总结 用单片机实现系统温度控制,可以使我们的生活方

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服