欢迎来到天天文库
浏览记录
ID:25780742
大小:52.96 KB
页数:6页
时间:2018-11-22
《温度显示控制系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于51单片机温度采集控制系统学号:20080108姓名:仇爽专业:测控技术与仪器班级:08级3班简介:温度是工农业生产和人们日常生活中经常要测量的一个物理量。因此,这次的课程设计我们决定设计基于51单片机的温度采集控制系统。该系统主要由DS18B20采集外界温度值,通过独特的单总线接口方式,将温度转换值传输到单片机AT89C51。单片机对温度值做相应运算,显示在数码管上,并输出PWM波控制直流电动机的转向与转速,同时,若温度超出设定的限值,则蜂鸣器报警。此次设计的难点在于对DS18B20的应用。一、硬件系统设计温度是工农业生产和人们日常生活中经常要测量的一个物理量。因此,这
2、次的课程设计我们决定设计基于51单片机的温度采集控制系统。该系统的设计框图如下所示。数据显示89C51数据采集键盘输入电源控制电机转动报警告显示我们设计的这个系统,其核心元件包括:51系列单片机AT89C51,数字化温度传感器DS18B20,数码管,直流电动机。其中我们用对直流电动机的控制模拟对加热炉的控制。该系统主要由DS18B20采集外界温度值,通过独特的单总线接口方式,将温度转换值传输到单片机AT89C51。单片机AT89C51对温度值做相应运算,将温度值显示在数码管上。另外单片机根据温度值输出PWM波控制直流电动机的正反转与转速。另外该系统可以用矩阵键盘设置上下限温度
3、值。单片机将接收的温度值与设定的温度值比较,若温度超出设定的限值,则蜂鸣器报警。二、数字温度传感器原理温度是工农业生产和人们日常生活中经常要测量的一个物理量,但多数温度传感器的输出都是一个变化的模拟电压量,不能与计算机采集系统直接接口,需要先进行转换,才能输入计算机,比较麻烦。例如我们原先的设计方案是采用热敏电阻配合ADC0809采集外界温度值。但是此法有三个缺点:一、热敏电阻精度较低,易受外围其他电路的影响;二、需要加滤波整流电路和A/D转换电路,增加系统的体积和成本;三、热敏电阻采集的温度值转换为数字量输入单片机中后,需用插值法查表才能确定具体温度值,编程实现比较麻烦,且
4、无法实现高精度。数字温度传感器的产生解决了这个问题,它可以直接把温度转变为相应的数字量。目前,市面上常见的数字温度传感器有美国Dallas半导体公司的DS18xx系列数字化温度传感器和AD公司的AD74xx数字温度传感器。DS18xx系列包括DS1820、DS18B20、DS1822。其中DS18B20和DS1822是DS1820的后续产品,在使用上与后者兼容,只是在精度上有所差异。这里我们采用DS18B20。DS18B20具有独特的单总线接口方式,支持多节点,使分布式温度传感器设计大为简化测温时无需任何外围元件,可以通过数据线直接供电,具有超低功耗工作方式。测温范围为-55
5、℃~+125℃,精度为0.5℃,可直接将温度转换值以16位二进制数字码的方式串行输出,因此特别适合单线多点温度测量系统。由于传送的事串行数据,可以不需要放大器和A/D转行器,因而这种测温方式大大提高了各种温度测控系统的可靠性,降低了成本、缩小了体积。DS18B20测温系统编程实现相对比较容易。具体实现过程如下:首先对DS18B20进行初始化,接着一次发跳过ROM命令ROM和温度转换,启动所有DS18B20进行读数,流程如下:先发送第一个DS18B20的序列号,等转换完成后,发送读存储器命令,读取第一个DS18B20的序列号,等转换完成后,发送读存储器命令,读取第二个DS18B
6、20的低温和高温数字。重复以上过程,便实现了对所有在线DS18B20的操作。DS18B20的测温系统虽然硬件方面比较简单:占用口线少、连接方便以及测温度精度高。但系统却是以相对复杂的接口编程为代价的,因此,DS18B20在实际应用中也应注意一下几方面的问题。(1)较低的硬件开销需要相对复杂的软件进行补偿。(2)虽然理论上将,DS18B20支持单总线多节点方式,但实际应用中并非可以任意挂个DS18B20。尤其是当单总线上所挂的DS18B20达到一定数量以后,必须得想法解决总线的驱动问题。(3)测温系统中采用的DS18B20总线长度不能太长(4)在DS18B20测温程序设计中,先
7、DS18B20接触不好或断线,当程序读到该DS18B20时,将没有返回信号,影响整体程序的正常运行。(5)如果条件允许,基于DS18B20多点测温系统最好采用屏蔽4芯双绞线,其中一组为底线和信号线,另一组分别接VDD和底线。三、软件流程设计本系统主要由1个主程序,10个子程序组成。其中10个子程序包括:初始化DS18B20子程序,读一字节子程序,写一字节子程序,读取温度值子程序(由杨天宇完成);数码管显示温度子程序,定时器中断报警子程序(由毛秋萍完成);矩阵键盘输入子程序,设置DS18B20温度报警值子
此文档下载收益归作者所有