河河南南理理工工大大学学《单片机应用与仿真训练》设计报告多机温度检测系统设计姓名:宁凯文学号:31110800****专业班级:光电11-01指导老师:刘巍所在学院:电气工程与自动化学院2013年12月20日单片机课程设计2摘要本设计是以STC89C52单片机为控制核心,利用新型一线制温度传感器DS18B20测量温度值,实现环境温度的检测和报警。系统测量的温度范围为0.0℃~99.9℃,测量精度为0.5℃。用户可以自定义报警上、下限,一旦温度超过极限值,单片机便启动声光报警。该系统精度高、测温范围广、报警及时,可广泛应用于基于单片机的测温报警场合。系统抗干扰性强、设计灵活方便,适合在恶劣的环境下进行温度测量。系统硬件电路包括传感器数据采集、温度显示、报警温度设定、上下限报警主电路等。整个装置的控制核心是STC89C52单片机。温度传感器DS18B20采用外部电源供电,传感器输出引脚直接和单片机相连。电路支持温度极限值查询功能,可以通过相关按键查询当前温度极限值。当被测温度越限时,报警主电路产生声光报警,同时主机向从机发送报警命令使从机报警。采用3片单片机,组成多机温度检测系统;下位单片机采集温度并用数码管显示当前温度值,通过串行通信传送至上位单片机;上位单片机用数码管显示温度大小和从机地址;基本范围0.0℃~99.9℃;精度误差小于0.5℃;可以任意设定温度的上下限报警功能关键字:STC89C52;DS18B20温度传感器;数码管;测温报警单片机课程设计3目录摘要...................................................................................................................................................2目录...................................................................................................................................................31.概述...........................................................................................................................................41.1课题背景.............................................................................................................................41.2系统概述............................................................................................................................42系统方案设计...............................................................................................................................52.1主控制部分设计.................................................................................................................52.2传感器部分设计................................................................................................................63系统总体方案及硬件设计.........................................................................................................113.1AT89S52单片机的最小相系统......................................................................................113.2DS18B20的I/O接线图...................................................................................................113.3数据显示部分................................................................................................................123.4整体电路..........................................................................................................................124软件设计.....................................................................................................................................134.1概述..................................................................................................................................134.2主程序方案......................................................................................................................134.3DS18B20的相处理子程序..............................................................................................144.4各模块工作流程图..........................................................................................................155课程设计体会.............................................................................................................................186参考文献.....................................................................................................................................18单片机课程设计41.概述1.1课题背景在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。首先让我们了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械…等设备温度过热检测。温度检测系统应用十分广阔。1.2系统概述本设计运用主从分布式思想,由上位机,下位机多机温度数据采集,组成两级分布式多机温度测量的巡回检测系统。该系统采用RS-232串行通讯标准,通过上位机控制下位机进行现场温度采集,并实时显示当前各点的温度值。下位机采用的是单片机基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和主控单元的设计。温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。单片机课程设计52系统方案设计2.1主控制部分设计方案一:此方案采用PC机实现。它可在线编程,可在线仿真的功能,这让调试变得方便。且人机交互友好。但是PC机输出信号不能直接与DS18B20通信。需要通过RS232电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便。而且在一些环境比较恶劣的场合,PC机的体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦!方案二:此方案采用STC89C52八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想,可由一台上位机,多个下位机组成多机温度数据采集系统,实现远程控制。另外AT89S52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟2.1.1对AT89S52功能的认识STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用STC公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/单片机课程设计6计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图1STC89C522.2传感器部分设计方案一:采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35等.但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复