机电专业课程设计温度检测系统学生姓名李晓晓学院中国矿业大学年级专业2011机电专本指导教师孙长青完成日期2012年6月前言温度是表征物体冷热程度的物理量,是工业生产和自动控制中最常见的工艺参数之一,生产过程中常常需要对温度进行检测和监控。
在传统的温度测控系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如传感器外围电路复杂及抗干扰能力差等问题;而其中任何一环节处理不当,就会造成整个系统性能的下降。
采用数字温度传感器与单片机组成的温度检测系统进行温度检测、数值显示和数据存储,体积减小,精度提高,抗干扰能力强,并可组网进行多点协测,还可以实现实时控制等技术,在现代工业生产中应用越来越广泛。
本设计就采用以51单片机为核心,和单总线数字式温度传感器DS18B20 模拟出一温度控制系统,当温度没有超过预设温度时数码管显示当前温度,此本系统就是一个温度计。
当温度超过预设温度时电路中的发光二极管就会闪烁报警,当温度降下时就停止闪烁,此时本系统就是一个温度监控器。
以DS18B20 为代表的新型单总线数字式温度传感器集温度测量和A/D转换于一体,直接输出数字量,与单片机接口电路结构简单,广泛使用于距离远、节点分布多的场合,具有较强的推广应用价值。
目录前言 (1)1 总体设计方案 (3)1.1设计的目的及意义 (3)1.2总体设计思路 (3)1.3总体设计方案设计 (3)2 系统的硬件结构设计 (4)2.1器件的选择 (4)2.2电路设计及功能 (8)2.3单片机的内部资源 (9)2.4芯片DS18B20器件介绍 (10)3 系统的软件设计 (13)3.1设计的流程图 (13)3.2系统部分程序的设计和分析 (14)结论 (16)附录Ⅰ程序设计 (17)附录Ⅱ参考文献 (21)附录Ⅲ结束语 (22)附录Ⅳ实物照片 (23)1 总体方案设计1.1 设计目的及意义(1)在学习了三年的课程后,为了加深对理论知识的理解,学习理论知识在实际中的运用,培养动手能力和解决实际问题的经验。
(2)通过实验提高对单片机的认识,通过实验提高焊接、布局、电路检查能力。
(3)通过实验提高软件调试能力。
(4)进一步熟悉和掌握单片机的结构及工作原理,通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。
(5)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
(6)熟悉水箱温度控制的工作原理,选择合适的元件,绘制系统电路原理图,运用单片机原理及其应用,进行软硬件系统的设计和调试,加深对单片机的了解和运用,进而提高自己的应用知识能力、设计能力和调试能力。
1.2 总体设计思路本设计以单片机为基础,温度监控系统大致上可以分为以下几个步骤:1.2.1系统分析过程(1)根据系统的目标,明确所采用温度监控系统的目的和任务。
(2)确定系统所在的工作环境。
(3)根据系统的工作要求,确定系统的基本功能和方案。
1.2.2 系统设计内容(1)构思设计温度监控系统的工作流程。
(2)对要求设计的系统进行功能需求分析,考虑多种设计方案,比较各方案的特点,并确定合理可行的方案,并设计相应的功能结构。
(3)根据系统的控制要求,选择合适型号的芯片及元器件。
(4) 设计以单片机为核心的控制程序。
(5) 电路板及其结构的设计。
(6) 进行系统的调试,完成最终的设计。
1.3 总体设计方案设计1.3.1 系统框图本设计为无线电控制电路,系统框图如下所示:图1-1 系统框图1.3.2 系统功能此设计以单片机为核心的温度监控系统,其功能是:平常状态下可以做温度计使用。
当温度超过预设温度时二极管会闪烁报警,当温度降下时二极管则停止闪烁。
2 系统的硬件结构设计2.1 器件的选择在本设计系统中用到的主要器件有单片机核心控制器、温度传感器、数码管显示器。
选择合适的器件完成设计任务,目前各半导体公司、电气商都向市场上推出了形形色色的器件,如何选择合适的器件使系统最大的简单化,功能优异化,可靠性强,成本低廉,成为了器件选择的重中之重。
一般来说,选择器件要考虑一下几个方面:(1)芯片的封装形式。
如DIP(双列直插)封装及表面贴附等。
(2)器件的基本性能参数。
如单片机执行速度、程序储存器容量、I/O口引脚数量等。
(3)芯片的功耗。
如单片机选择能满足低功耗的要求。
(4)供货渠道是否畅通,价格是否低廉。
STC89C516RD+系列单片机是宏晶科技推出的新一代超强抗干扰/ 高速/ 低功耗的单片机,指令代码完全兼容传统8051 单片机,12 时钟/ 机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路,根据本系统的实际情况,选择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口外部必须被拉高。
P1口: P1口是一个内部提供上拉电阻的8位双向I/O口。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流。
在FALSH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口。
当P2口被写入“1”时,其管脚被内部上拉电阻拉高,且作为输入。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向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 复位电路(4) 晶振电路:XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
晶振电路如图所示:图2-3 晶振电路(5) ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
(6) /PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
(7) /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
2.1.3 单片机最小系统如图所示:图2-4 单片机最小系统2.2 电路设计及功能本设计大体可分为三个部分,即温度采集,数码显示,报警电路。
温度采集部分利用DS18B20进行温度采集,感知温度,后数码显示出温度,若温度超过了预设温度报警电路则启亮发光二极管,闪烁。
整体电路图如下所示:图2-5 温度监控系统电路图2.3 单片机的内部资源51单片机给用户提供了丰富的内部资源,如定时/计数器,串行口等,而没有中断就无法用到单片机提供的资源。
再者,中断可以提高单片机的工作效率,由于本设计中用到了中断程序,所以我们先介绍一下中断系统。
2.3.1 中断系统:在8位单片机中, 51单片机是中断功能较强的一种,它提供了5个中断请求源和两个中断优先级控制。
在计算机运行过程中要处理很多问题,既有主机内部也有外部的,既有预定的也有外设的,面对复杂多变的情况,CPU 要从容的完成各种任务,必须有中断功能。
中断系统解决了计算机与外围设备交换信息时,慢速工作的外围设备与快速工作的CPU 之间的矛盾,设置了中断就可以提高CPU 的工作效率,具有实时处理功能,使CPU 能很快做出反应解决现场的各种参数和状态的变化,还具有故障处理功能,处理工作时故障的中断服务程序,此外还有实现分时操作、程序调试、多机连接等方面。
运行过程如下:图2-6 中断控制过程不同的单片机的中断源是不同的,在此系统中的单片机有五个中断源,具有两个中断优先级,可以实现二级中断服务程序嵌套。
每个中断源可以编程为高优先级或低优先级中断,允许或禁止CPU 请求中断。
与中断系统有关的特殊功能寄存器有中断允许寄存器IE 、中断优先寄存器IP 、中断源寄存器(TCON 、SCON )。
从中断响应过程可以看出在执行一种中断服务程序时,另一个同级中断不能现行程序中断断点 继续执行 中断 服务程序被响应,必须在执行RET1指令后,在执行一条其他条令,CPU才能响应。
利用这一特点,可以实现单步操作。
其实现过程如下:设置中断P3.2为电平触发方式,高优先级中断,CPU外部中断0开中断,即应执行以下指令:CLR IT0, 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:定时/计数器门控制位,用于设定定时/计数器的启动是否受外部中断请求信号的控制。