温度检测系统_第1页
温度检测系统_第2页
温度检测系统_第3页
温度检测系统_第4页
温度检测系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、第第- - 1 1 - -页页机 电 专 业 课 程 设 计温度检测系统学生姓名 李 晓 晓 学 院 中国矿业大学年级专业 2011 机电专本指导教师 孙 长 青完成日期 2012 年 6 月 前言前言第第- - 2 2 - -页页温度是表征物体冷热程度的物理量,是工业生产和自动控制中最常见的工艺参数之一,生产过程中常常需要对温度进行检测和监控。在传统的温度测控系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如传感器外围电路复杂及抗干扰能力差等问题;而其中任何一环节处理不当,就会造成整个系统性能的下降。采用数字温度传感器与单片机组成的温度检测系统进行温度检测、数值显示和数据存储,体

2、积减小,精度提高,抗干扰能力强,并可组网进行多点协测,还可以实现实时控制等技术,在现代工业生产中应用越来越广泛。本设计就采用以 51 单片机为核心,和单总线数字式温度传感器 DS18B20 模拟出一温度控制系统,当温度没有超过预设温度时数码管显示当前温度,此本系统就是一个温度计。当温度超过预设温度时电路中的发光二极管就会闪烁报警,当温度降下时就停止闪烁,此时本系统就是一个温度监控器。以DS18B20 为代表的新型单总线数字式温度传感器集温度测量和 A/D 转换于一体,直接输出数字量,与单片机接口电路结构简单,广泛使用于距离远、节点分布多的场合,具有较强的推广应用价值。第第- - 3 3 - -

3、页页目录目录前 言. 11 总体设计方案.31.1 设计的目的及意义 .31.2 总体设计思路 .31.3 总体设计方案设计 .32 系统的硬件结构设计.42.1 器件的选择 .42.2 电路设计及功能 .82.3 单片机的内部资源 .92.4 芯片 DS18B20 器件介绍 .103 系统的软件设计.133.1 设计的流程图 .133.2 系统部分程序的设计和分析 .14结 论.16附录 程序设计.17附录 参考文献.21附录 结束语.22附录 实物照片.23第第- - 4 4 - -页页1 1 总体方案设计总体方案设计1.11.1 设计目的及意义设计目的及意义 (1)在学习了三年的课程后,

4、为了加深对理论知识的理解,学习理论知识在实际中的运用,培养动手能力和解决实际问题的经验。 (2)通过实验提高对单片机的认识,通过实验提高焊接、布局、电路检查能力。 (3)通过实验提高软件调试能力。 (4)进一步熟悉和掌握单片机的结构及工作原理,通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。 (5)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 (6) 熟悉水箱温度控制的工作原理,选择合适的元件,绘制系统电路原理图,运用单片机原理及其应用,进行软硬件系统的设计和调试,加深对单片机的了解和运用,进而提高自己的应用知识能力、设计能力和调试能力。 1.21.2 总体设计思路

5、总体设计思路本设计以单片机为基础,温度监控系统大致上可以分为以下几个步骤:1.2.1 系统分析过程(1)根据系统的目标,明确所采用温度监控系统的目的和任务。(2)确定系统所在的工作环境。(3)根据系统的工作要求,确定系统的基本功能和方案。 1.2.2 系统设计内容 (1)构思设计温度监控系统的工作流程。(2)对要求设计的系统进行功能需求分析,考虑多种设计方案,比较各方案的特点,并确定合理可行的方案,并设计相应的功能结构。(3)根据系统的控制要求,选择合适型号的芯片及元器件。 (4) 设计以单片机为核心的控制程序。 (5) 电路板及其结构的设计。 (6) 进行系统的调试,完成最终的设计。1.31

6、.3 总体设计方案设计总体设计方案设计第第- - 5 5 - -页页1.3.1 系统框图 本设计为无线电控制电路,系统框图如下所示: 图 1-1 系统框图1.3.2 系统功能 此设计以单片机为核心的温度监控系统,其功能是:平常状态下可以做温度计使用。当温度超过预设温度时二极管会闪烁报警,当温度降下时二极管则停止闪烁。2 2 系统的硬件结构设计系统的硬件结构设计2.12.1 器件的选择器件的选择在本设计系统中用到的主要器件有单片机核心控制器、温度传感器、数码管显示器。选择合适的器件完成设计任务,目前各半导体公司、电气商都向市场上推出了形形色色的器件,如何选择合适的器件使系统最大的简单化,功能优异

7、化,可靠性强,成本低廉,成为了器件选择的重中之重。一般来说,选择器件要考虑一下几个方面:(1)芯片的封装形式。如 DIP(双列直插)封装及表面贴附等。(2)器件的基本性能参数。如单片机执行速度、程序储存器容量、I/O 口第第- - 6 6 - -页页引脚数量等。(3)芯片的功耗。如单片机选择能满足低功耗的要求。(4)供货渠道是否畅通,价格是否低廉。 STC89C516RD+系列单片机是宏晶科技推出的新一代超强抗干扰/ 高速/ 低功耗的单片机,指令代码完全兼容传统 8051 单片机,12 时钟 / 机器周期和6 时钟/机器周期可任意选择,最新的 D 版本内部集成 MAX810 专用复位电路,根据

8、本系统的实际情况,选择 STC89C516RD+单片机。温度传感器选择DS18B20,显示选择共阴极数码管。2.1.1 单片机(STC89C516RD+)的引脚功能图 图 2-1 STC98C16RD+引脚图2.1.2 各引脚及功能说明(1)电源引脚: Vcc:40 脚 正电源脚,工作电压为 5V。 GND:20 脚 接地端。(2)单片机 I/O 口: P0 口:P0 口为一个 8 位漏极开路双向 I/O 口。P0 口能用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FLASH 编程时,P0 口作为原码输入口,当 FALSH 进行校验时,P0 口输出原码,此时 P0 口外部必须被

9、拉高。 P1 口: P1 口是 一个内部提供上拉电阻的 8 位双向 I/O 口。P1 口管脚写第第- - 7 7 - -页页入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流。在 FALSH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口。当 P2 口被写入“1”时,其管脚被内部上拉电阻拉高,且作为输入。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上

10、拉电阻的双向 I/O 口。当 P3 口写入“1”后,它们被内部上拉为高电平并用作输入。 P3 口除作 I/O 口使用外,还有特殊功能如图所示:表 P3 口的特殊功能P3 引脚兼用功能P3.0串行通讯输入(RXD)P3.1串行通讯输出(TXD)P3.2外部中断 0( INT0)P3.3外部中断 1(INT1)P3.4定时器 0 输入(T0)P3.5定时器 1 输入(T1)P3.6外部数据存储器写选通 WRP3.7外部数据存储器写选通 RD(3) RST复位: 当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。复位可分为上电复位和手动复位两种,如图所示: 图2-2 复位电路第第- - 8

11、 8 - -页页 (4) 晶振电路: XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 晶振电路如图所示: 图2-3 晶振电路 (5) ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE

12、才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 (6) /PSEN: 外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 (7) /EA/VPP: 当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) ,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。 第第- - 9 9 - -页页 2.1.3 单片机最小系统如图所示: 图2-4 单片机最小系统2.22.2 电路设计及功能

13、电路设计及功能本设计大体可分为三个部分,即温度采集,数码显示,报警电路。温度采集部分利用DS18B20进行温度采集,感知温度,后数码显示出温度,若温度超过了预设温度报警电路则启亮发光二极管,闪烁。整体电路图如下所示:第第- - 1010 - -页页 图2-5 温度监控系统电路图2.32.3 单片机的内部资源单片机的内部资源 51单片机给用户提供了丰富的内部资源,如定时/计数器,串行口等,而没有中断就无法用到单片机提供的资源。再者,中断可以提高单片机的工作效率,由于本设计中用到了中断程序,所以我们先介绍一下中断系统。2.3.1 中断系统: 在8位单片机中, 51单片机是中断功能较强的一种,它提供

14、了5个中断请求源和两个中断优先级控制。在计算机运行过程中要处理很多问题,既有主机内部也有外部的,既有预定的也有外设的,面对复杂多变的情况,CPU要从容的完成各种任务,必须有中断功能。中断系统解决了计算机与外围设备交换信息时,慢速工作的外围设备与快速工作的CPU之间的矛盾,设置了中断就可以提高CPU的工作效率,具有实时处理功能,使CPU能很快做出反应解决现场的各种参数和状态的变化,还具有故障处理功能,处理工作时故障的中断服务程序,此外还有实现分时操作、程序调试、多机连接等方面。运行过程如下: 现行程序现行程序中断断点中断断点继续执行继续执行中断中断服务程序服务程序第第- - 1111 - -页页

15、 图2-6 中断控制过程不同的单片机的中断源是不同的,在此系统中的单片机有五个中断源,具有两个中断优先级,可以实现二级中断服务程序嵌套。每个中断源可以编程为高优先级或低优先级中断,允许或禁止CPU请求中断。与中断系统有关的特殊功能寄存器有中断允许寄存器IE、中断优先寄存器IP、中断源寄存器(TCON、SCON) 。 从中断响应过程可以看出在执行一种中断服务程序时,另一个同级中断不能被响应,必须在执行RET1指令后,在执行一条其他条令,CPU才能响应。利用这一特点,可以实现单步操作。其实现过程如下:设置中断P3.2为电平触发方式,高优先级中断,CPU外部中断0开中断,即应执行以下指令:CLR I

16、T0, SETB EA, SEB EX0 .在中断服务程序结尾增加以下指令:K0:jnb P3.2,K0 ;P3.2变高前原地等待K1:jb P3.2,K1 ;P3.2变低前原地等待RETI ;中断返回若P3.2为低电平就进入外中断0的中断服务。由于上述几条指令的存在,程序将在JNB出原地等待,当P3.2端出现一个正脉冲,程序就往下进行,在执行RET1和返回后的一条其他指令后,又立即进入外部中断P3.2服务程序,以等待P3.2端出现下一个脉冲,这样P3.2端没出现一次正脉冲就执行一条新的指令实现了单步操作。GATE:定时/计数器门控制位,用于设定定时/计数器的启动是否受外部中断请求信号的控制。

17、GATE1时,T0和T1的启动分别受芯片引脚/INT0(P3.2)和第第- - 1212 - -页页/INT1(P3.3)的控制。GATE0时,定时/计数器的启动与引脚/INT0、/INT1无关。51单片机定时/计数器工作模式:51单片机的定时/计数器有4种工作模式,由TMOD寄存器的M0、M1两位确定。这些在前边已经提到过了,而本次设计采用的是工作模式1所以在此具体介绍这一种,至于其他几种,由于本次设计用的定时器中断是T1所以不能选用模式3,而模式2的技术值太小,所以一般也不是经常运用,模式0的计数比模式1复杂,技术值也不如它大,所以选用模式1是最好的方案。将TMOD的M1、M0位分别设为0

18、、1,定时/计数器工作模式1下。此时定时/计数器是一个16位定时/计数器,TLX组成定时/计数器低8位,THX组成定时/计数器的高8位,TLX溢出后向THX进位,最大计数值位65536。2162.42.4 芯片芯片DS18B20DS18B20器件介绍器件介绍DSl820数字温度计提供9位温度读数,指示器件的温度。信息经过单线接口送入DSl820或从DSl820送出,因此从中央处理器到DSl820仅需连接一条线(和地) 。读、写和完成温度变换所需的电源可以由数据线本身提供,而不需要外部电源。因为每一个DSl820有唯一的系列号(silicon serial number) ,因此多个DSl820

19、可以存在于同一条单线总线上。这允许在许多不同的地方放置温度灵敏器件。此特性的应用范围包括HVAC环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测。管脚图如下: 图2-7 DS18B20管脚图2.4.1 DS18B20的主要性能特点 (1) 只需一个端口即可实现通信。 (2) 可用数据线供电,电压范围:3.0V5.5V。第第- - 1313 - -页页 (3) 实际应用中不需要外部任何元器件即可实现测温。 (4) 测温范围:-55+125,在-10+85时精度为0.5。 (5) 可编程的分辨率为 9 12 位,对应的分辨温度为 0.5、0.25、0.125和 0.0625

20、。 (6) 负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 (7) 内部有温度上、下限告警设置。非易失性温度报警触发器 TH 和 TL。可通过软件写入用户报警上下限值。 (8) 每个芯片唯一编码,支持联网寻址,零功耗等待。2.4.2 DS18B20的结构 DS18B20 的引脚排列采用3脚PR-35封装或 8 脚 SOIC 封装。I/O 为数据输入/输出端(即单线总线),属于漏极开路输出,外接上拉电阻后常态下呈高电平。UDD是可供选用的外部+5V 电源端,不用时需接地。GND 为地,NC 为空脚。 DS18B20的内部结构框图: 图2-8 DS18B20内部结构图2.4.3

21、 DS18B20的工作时序(1)DS18B20的复位时序第第- - 1414 - -页页 图2-9 DS18B20复位时序图 (2)DS18B20的读时序 对于 DS18B20 的读时序分为读 0 时序和读 1 时序两个过程。对于 DS18B20 的读时序是从主机把单总线拉低之后,在 15s 之内就得释放单总线,以让 DS18B20 把数据传输到单总线上。DS18B20 在完成一个读时序过程,至少需要 60s才能完成。 图2-10 DS18B20读时序图 (3) DS18B20的写时序 对于 DS18B20 的写时序仍然分为写 0 时序和写 1 时序两个过程。对于 DS18B20 写 0 时序

22、和写 1 时序的要求不同,当要写 0 时序时,单总线要被拉低至少 60s,保证 DS18B20 能够在 15s45s 之间能够正确地采样 IO 总线上的“0”电平,当要写 1 时序时,单总线被拉低之后,在 15s 之内就得释放单总线。 图2-11 DS18B20写时序图第第- - 1515 - -页页3 3 系统的软件结构设计系统的软件结构设计3.13.1 设计的流程图设计的流程图3.23.2 系统部分程序设计及分析系统部分程序设计及分析3.2.1 复位子程序 (1)主机将信号线置为低电平,时间为 480-960uS。 (2)主机将信号线置为高电平,时间为 15-60uS。(3)DS18B20

23、 发出 60-240uS 的低电平作为应答信号,主机收到此信号才操作。 复位子程序如下所示:char fuwei(void) unsigned char i; s=0; for(i=255;i0;i-);第第- - 1616 - -页页 s=1; for(i=200;i0;i-);3.2.2 读子程序(1)主机将信号线从高电平拉至低电平 1uS 以上,再升为高电平,产生读起始信号。(2)从主机将信号线从高电平拉至低电平 15-60uS 的时间内,DS18B20 将数据放到信号线上,完成 1 个读周期。(3)在开始另一个读周期前,必须有 1uS 以上的高电平恢复期。读子程序如下所示:unsign

24、ed char duchu(void) unsigned char i,j,t=0,w=1; for(i=0;i1; s=0; _nop_(); _nop_(); s=1; for(j=10;j0;j-); if(s=1) t=t|0 x80; else t=t|0 x00; for(j=100;j0;j-); return(t); 3.2.3 写子程序(1)主机将信号线从高电平拉至低电平,产生写起始信号。第第- - 1717 - -页页(2)从信号线的下降沿开始,在 15-60uS 的时间内,DS18B20 对信号线检测,如高则写 1,低则写 0,完成 1 个写周期。(3)在开始另一个写周期

25、前,必须有 1uS 以上的高电平恢复期。写子程序如下所示:unsigned char xieru(unsigned char o) char i,j; for(i=0;i0;j-); s=1; else s=0; for(j=2;j0;j-); s=1; for(j=33;j0;j-); o=o1; 3.2.4 其他程序本设计中除了上述三个子程序外,还涉及到显示程序,数据处理程序,中断程序和延时程序等,由于篇幅原因不作具体介绍,详见附录。结 论第第- - 1818 - -页页通过这次毕业设计,提升了我的自学能力,通过不断的查阅资料,通过老师的不断讲解,来解决其中遇到的困难,比如如何解决DS18

26、B20控制问题,如何解决报警问题等。本文所讨论的设计采用了宏晶科技的 STC89C516RD+单片机作为系统的中央控制单元,DS18B20 作为温度采集器,并结合软件编程,实现温度传感电路与单片机的结合。该系统具有更高速、更灵敏、更简捷地获取被分析、检测、控制对象的温度信息的能力,同时具有良好的抗干扰及环境适应能力(测温范围-55 + 125 )。因其体积小,使用方便,封装形式多样 ,适用于各种狭小空间设备数字测温和控制领域 ,且系统结构较为简单,可大规模的采用,成本低廉。附录附录 程序设计程序设计#includereg51.h #includeintrins.h /汇编语句的 C 语言调用接

27、口 unsigned char g=0,a=0,b=0,c=0,d=0,e=0,t;Unsigned char m=0 xfa,0 x82,0 xd9,0 xcb,0 xa3,0 x6b,0 x7b,0 xc2,0 xfb,0 xeb;sbit s=P11; /DS18B20 的与单片机连接的 I/O口sbit z=P16; /发光二极管char fuwei(void) /复位程序第第- - 1919 - -页页 unsigned char i; s=0; for(i=255;i0;i-); s=1; for(i=200;i0;i-);unsigned char xieru(unsigned

28、char o) /写入 18B20 子程序 char i,j; for(i=0;i0;j-); s=1; else s=0; for(j=2;j0;j-); s=1; for(j=33;j0;j-); o=o1; unsigned char duchu(void) /读出 18B20 子程序第第- - 2020 - -页页 unsigned char i,j,t=0,w=1; for(i=0;i1; s=0; _nop_(); _nop_(); s=1; for(j=10;j0;j-); if(s=1) t=t|0 x80; else t=t|0 x00; for(j=100;j0;j-);

29、return(t);void display(void) /显示程序 unsigned char i, j; for(i=0;i10;i+) P2=0 x00; P0=0 x04; P2=ma; for(j=0;j160;j+); P2=0 x00; P0=0 x02; P2=mb|0 x04; for(j=0;j160;j+); P2=0 x00; P0=0 x01; P2=mc; for(j=0;j160;j+); P2=0 x00; P0=0 x08; P2=md; for(j=0;j=2) z=z; else z=1;void smzh(void) /数值转换子程序 unsigned

30、int k,w; unsigned int n=0,0; fuwei(); xieru(0 xcc); xieru(0 xbe); n0=duchu(); n1=duchu(); k=n04; t=n14; t=t&0 x70; t=t|k; a=t%100/10; b=t%10; w=n0&0 x0f; w=w*1000/16; c=w/100; d=w%100/10;main() /主程序 z=1; TMOD=0 x01; EA=1; ET0=1;第第- - 2222 - -页页 TH0=(65535-4000)/256; TL0=(65535-4000)%256; while(1) fuwei(); xieru(0 xcc); xieru(0 x44); TR0=1; while(1) display(); void t0(void)interrupt 1 /中断程序 TH0=(65535-4000)/256; TL0=(65535-400

温馨提示

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

评论

0/150

提交评论