




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 测控系统综合训练课程设计基于AT89C52单片机的温度测量学院名称:电气信息工程学院 专 业:测控技术与仪器班 级:08测控2班 姓 名: 潘燕骅学 号: 08314219指导教师: 王久龙 2011年12月摘要随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于89S51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电
2、路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。目录1 引言32数字温度计的总体方案设计及论证43 系统器件的具体选择53.1单片机的选择53.2 温度传感器的选择63.2.1 DS18B20的简单介绍73.2.2 DS18B20的
3、外形和内部结构73.2.3 DS18B20的测温原理83.2.4 DS18B2的外部电路图94 硬件电路的总体设计105软件总体设计116调试146.1软件调试146.2系统调试15总结15参考文献16附件一源程序16附件二 PROTEUS 仿真完成图22附件三元器件清单231 引言信息科学和微电子技术的飞速发展给控制领域带来了巨大的飞跃,控制技术更加趋向自动化和智能化,为无数的使用者带来了方便。在控制领域里,温度是一个常见的名词,然而它所带来的技术问题和所起的作用却是非同一般的。在控制领域中,对温度的控制有着举足轻重的作用。例如陶瓷的烧烤,只有控制住温度的适度,才能制作出一件完美的艺术品,否
4、则只是一件废品;还有如酿酒的过程,也需要对温度进行控制。可见,在生活的许多方方面面都有着对温度进行感知和控制的需要。温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。 测量温度的基本方法是使用温度计直接读取温度。最常见到的测量温度的工具是各种各样的温度
5、计,例如,水银玻璃温度计,酒精温度计,热电偶或热电阻温度计等。它们常常以刻度的形式表示温度的高低,人们必须通过读取刻度值的多少来测量温度。而在传统的模拟信号温度测量系统中,测温电路的电磁环境非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度,不能满足数字化时代的需求。利用单片机和温度传感器构成的电子式智能温度计精度高、抗干扰能力强,可扩展性强、集成方便得到了广泛的应用。而且可以直接测量温度,得到温度的数字值,既简单方便,又直观准确,新型数字温度传感器是温度计设计的最有效方案。本课题就是一个对温度进行检测,采集和显示的温度检测系统。它以单片机(AT89S51)为主要
6、控制器件,DS18B20为温度传感器,并通过LCD液晶1602直接显示所测温度的新型数字温度计。由于本人所学知识有限,设计过程中难免会出现错误,还请各位老师指正。2数字温度计的总体方案设计及论证根据系统设计的功能,本时钟温度系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力来测量、显示温度数值。初步确定设计系统由单片机主控模块、测温模块、显示模块、报警模块共4个模块组成,电路系统框图如图1.1所示。对于单片机的选择,如果用8051系列,由于它没有内部RAM,系统又需要一定的内存存储数据。AT89S52是一个低功耗、高性能CMOS 8位的单片机,片内含8k Bytes ISP的可反复擦
7、写1000次的Flash只读程序存储器,兼容标准MCS-51指令系统及80C51引脚结构,功能强大的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。而AT89S52与AT89C51相比,外型管脚完全相同,AT89C51的HEX程序无须任何转换可直接在AT89S52运行,且AT89S52比AT89C51新增了一些功能,相比较后,在本设计中选用AT89S52更能很好的实现温度计控制功能。测温电路可以使用热敏电阻之类的器件,利用其感温效应,将被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据处理。但是这种感温电路比较复杂,且采用热敏电阻精度低,重复性、可靠性都
8、比较差。如果采用温度传感器DS18B20可以减少外部硬件电路,而且可以很容易直接读取被测温度值,进而转换,还可以在高温报警,且成本低、易使用,可以很好的满足设计要求。所以本文采用传感器DS18B20代替传统的测温电路。温度的显示可以采用LED数码管来显示,LED亮度高、醒目,但是电路复杂,占用资源多且信息量小。而采用液晶显示器有明显的优点:工作电流比LED小几个数量级,功耗低;尺寸小,厚度约为LED的1/3;字迹清晰、美观、使人舒服;寿命长,使用方便,可得性强。故本设计采用LCD来显示温度。3 系统器件的具体选择3.1单片机的选择本次设计采用的是单片机AT89C52。AT89C52是一个低电压
9、,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。图3.1 PDIP封装的AT89C52 引脚图AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚
10、测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27
11、 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。3.2 温度传感器的选择 DS18B20的简单介绍DS18B20温度传感器是一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序
12、限定温度(温度报警条件)的器件;负电压特性,电极接反时,温度计不会因发热而烧毁,只是不能正常工作。 DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种封装形式如图3.3所示,DQ 为数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。图3.2 外部封装形式 图3.3 DS18B20的电路DS18B20采用3脚PR35封装或8脚SOIC封装,其内部结构框图如图3
13、-4所示。I/OC64 位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd图3-4 DS18B20内部结构64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为9字节的存储器,结构如图3-8所示。头2个字节包含测得的温度信息,第3和第4字节TH和
14、TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3-8所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。 DS18B20的测温原理DS18B20的温度值的位数因分辨率不同而不同,温度转换时的最大延时为750ms。 DS18B20测温原理如图3.5所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信
15、号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图3.5 DS18B20测温原理DS18B2的外部电路图根据设计要求,传感器的硬件电路图如图3
16、.6所示。图3.6 DS18B20外部电路图3.3 显示及报警模块选择在本设计中温度测量范围为0125,精度为0.5,因此只需要液晶SMC1602A就可以完成相关的显示功能,报警器可以用有源蜂鸣器配合三极管来代替,本设计则直接使用LED发光二极管带代替。4 硬件电路的总体设计温度计电路设计原理图如图4.1所示,控制器使用单片机AT89C2052,温度计传感器使用DS18B20,用液晶实现温度显示。本温度计大体分三个工作过程。首先,由DS18820温度传感器芯片测量当前的温度,并将结果送入单片机。然后,通过89C2052单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块。最
17、后,SMC1602A芯片将送来的值显示于显示屏上。由图4.1可看到,本电路主要由DSl8820温度传感器芯片、SMCl602A液晶显示模块芯片和89C2052单片机芯片组成。其中,DSI8B20温度传感器芯片采用“一线制”与单片机相连,它独立地完成温度测量以及将温度测量结果送到单片机的工作。 图4.1 温度计电路设计仿真图 5 软件 总体设计系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序、显示数据刷新子程序。主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。温度测量每1s一次。图5.1DS18B20温度计主程序流程图 读出温度子程序的主要功
18、能是读出RAM中的9字节。在读出时须进行CRC校验,校验有错时不进行温度数据的改写。图5.2 读出温度子程序流程图计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。图5.3 计算温度子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为零时,将符号显示位移入下一位图5.4显示数据刷新子程序流程图图5.5警模块子程序流程图6 调试6.1 软件调试根据流程图编写程序软件。本次设计系统的调试以程序的调试为主。程序的调试我们采用eil C51Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PL
19、M 语言和 C 语言的程序设计,界面友好,易学易用。6.2 系统调试软硬件分别调试完成以后,将程序下载入单片机中,电路板接上电源,电源指示灯亮,按下开关按钮,LCD显示当前温度。用手去碰触温度传感器,温度显示值出现变化,显示当前手的温度值。当温度高于我们所设定的最高温度37度时,警报红灯亮。完成了我们预期的要求。总结本次综合实训是针对MCS-51系列的单片机芯片STC89C52来设计一个数字温度计,该设计充分利用了温度传感器DS18B20功能强大的优点,如DS18B20可以直接读出被测温度值,进行转换;而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,大大简化了硬件电
20、路,也使得该数字温度计不仅具有结构简单、成本低廉、精确度较高、反应速度较快、数字化显示和不易损坏等特点,而且性能稳定,适用范围广,因此特别适用于对测温要求比较准确的场所。在这次设计中,熟悉了制作一个产品的总体流程,能熟练使用一些必要的设计工具和仿真工具等。通过选认元件,连线,调试检测等过程,锻炼自己的理论联系实际的能力和实际操作能力,从而综合性地巩固所学的知识,为将来的工作做一次实战演习。经过将近4周的综合实训,终于完成了我的数字温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际
21、当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次实训中的最大收获。参考文献1 余泽辉等基于单片机的数字温度计的研究与设计仪器仪表用户,2004,14(2):9112 张红润 张亚凡单片机原理及应用北京:清华大学出版社,20053 张元良 王建军.单片机开发技术实例教程.北京:机械工业出版社,2010.84 雷伏容 张小林 崔浩.51单片机常用模块设计查询手册.北京:清华大学出版社,20105凌玉华.单片机原理及应用系统设计.长沙:中南大学出版社,2006.46皮大能 南光群 刘金华.单片机课程设计指导书.北京:北京理工大学出版社,20107付佳才.单片机控制工
22、程实践技术.北京:化学工业出版社,2004附件一源程序#include #include #include#define uchar unsigned char #defineuint unsigned int sbit DQ =P20;sbit RS =P35;sbit RW =P36;sbit E =P37;uchar temp_data_l,temp_data_h;uchar code LCDData10=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;uchar code ditab16=0x30,0x31,0x31,0x32,0x3
23、3,0x33,0x34,0x34,0x35,0x36,0x36,0x37,0x38,0x38,0x39,0x39;uchar code table216=0x74,0x65,0x6D,0x70,0x65,0x72,0x61,0x74,0x75,0x72,0x65,0x20,0x69,0x53,0x20,0x3A;uchar display7=0x00,0x00,0x00,0x2E,0x00,0xDF,0x43;/延时void delay(uint N) uint i; for(i=0;iN;i+); /初始化ds18b20bit resetpulse (void) DQ=0; delay(40
24、); DQ=1; delay(4); return(DQ); void ds18b20_init(void) while(1) if(!resetpulse() DQ=1; delay(40); break; else resetpulse();uchar read_bit(void) DQ=0; _nop_(); _nop_(); DQ=1; delay(2); return(DQ); uchar read_byte(void) uchar i,shift,temp; shift=1; temp=0; for (i=0;i8;i+) if(read_bit() temp=temp+(shif
25、t i); delay(7); return(temp);void write_bit(uchar temp) DQ=0; if (temp =1) DQ=1; delay(5); DQ=1; void write_byte(uchar val) uchar i,temp; for(i=0;ii; temp=temp&0x01; write_bit(temp); delay(5); void read_T(void) ds18b20_init(); write_byte(0xcc); write_byte(0x44); delay(500); ds18b20_init(); write_byt
26、e(0xcc); write_byte(0xBE); temp_data_l=read_byte(); temp_data_h=read_byte(); void check_busy(void) while(1) P1=0xFF; E=0; _nop_(); RS=0; _nop_(); _nop_(); RW=1; _nop_(); _nop_(); E=1; _nop_(); _nop_(); _nop_(); _nop_(); if (P1&0x80)=0) break; E=0; void write_command(uchar tempdata) E=0; _nop_(); _nop_(); RS=0; _nop_(); _nop_(); RW=0; P1=tempdata; _nop_(); _nop_(); E=1; _nop_(); _nop_(); E=0; _nop_(); check_busy(); void write_data(uchar tempdata) E=0; _nop_(); _nop_(); RS=1; _nop_(); _nop_(); RW=0; P1=tempdata; _nop_(); _nop_(); E=1; _nop_(); _nop_(); E=0; _nop_(); che
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省宜良县2025年上半年事业单位公开遴选试题含答案分析
- 河北省容城县2025年上半年公开招聘城市协管员试题含答案分析
- 河北省康保县2025年上半年公开招聘城市协管员试题含答案分析
- 2025年度智能穿戴设备采购订货合同
- 2025多人共建养老养生项目合伙协议书
- 2025年度创新型基础设施建设项目全过程工程造价咨询合同
- 2025年度港口码头视频监控技术服务合同
- 2025年度道路拓宽工程打桩劳务分包合同(含交通疏导)
- 2025版时尚杂志图文设计制作服务协议
- 2025年度健康养老产业入股投资合同
- 六年级家长会课件
- 2025年安徽省淮南市【辅警协警】笔试模拟考试题(含答案)
- 废气处理活性炭吸附操作规范
- 2025年教科版新教材科学二年级上册教学计划(含进度表)
- 创伤急救基本知识培训课件
- 2025年农业农村科技基础知识考试题库(附含答案)
- 合同第三方见证人范本
- T-SCSTA001-2025《四川省好住房评价标准》
- GB/T 39616-2020卫星导航定位基准站网络实时动态测量(RTK)规范
- GB/T 17395-2008无缝钢管尺寸、外形、重量及允许偏差
- 化学史课件讲课教案
评论
0/150
提交评论