基于51单片机的温度测量系统仿真教材.docx
《基于51单片机的温度测量系统仿真教材.docx》由会员分享,可在线阅读,更多相关《基于51单片机的温度测量系统仿真教材.docx(20页珍藏版)》请在冰豆网上搜索。
![基于51单片机的温度测量系统仿真教材.docx](https://file1.bdocx.com/fileroot1/2023-2/3/56fc3067-34cf-43ba-90b6-f652863d1115/56fc3067-34cf-43ba-90b6-f652863d11151.gif)
基于51单片机的温度测量系统仿真教材
基于51单片机的温度测量系统仿真
专题实验内容与设计要求
主要设计条件
1、Proteus或者其它软件
2、实验室现有软硬件设施
2、相关参考文献
报告书格式
1.专题实验设计报告书封面。
2.专题设计任务书。
3.报告书目录。
4.正文
5.总结。
6.参考文献。
7.附录。
8.专题设计评分表。
正文部分包括(概述、总体设计、硬件电路设计及调试等)
进度安排
第一天:
布置课题任务,课题内容介绍。
第二天~第五天:
仔细了解分析实验任务,明确实验要求,收集实验专题设计资料。
阅读相关资料,设计方案确定,相关元器件选型;进行电路和软件设计,编写实验报告。
一.温度测量系统的重要性
在现今科技高速发展的时代,各行各业对控制和测量的要求越来越高,其中,温度测量和控制在很多行业中都有比较重要的应用,尤其在工业上,如炼钢时对温度高低的控制。
要控制好温度,测量是前提,测量的精度影响着后续工序的进行,因此温度测量的方法和选取就显得相当重要了。
2.设计目的与意义
随着电子技术的高速发展,对电子方面人才的要求越来越高,不仅要求其具备相关的专业理论知识,还要求其具有较强的设计、制作等实践动手能力。
此次专题实验无疑是对从事测控专业的人的一次很好的锻炼和考验,是培养测控技术的人才的一次良好的机会,为其提供了一个理论知识与实践相结合的平台。
通过本次专题实验,引导学生结合所学的测控电路理论知识,思考设计方案,以小组合作方式,分工完成各个部分,从而掌握相关的测量显示电路的设计和调试技术,一方面提高了学生的实践动手和协作能力,另一方面培养了学生综合运用所学理论知识进行工程设计的能力。
通过此次专题实验,可以培养学生的工程设计能力,包括动手能力、独立思考设计能力、解决实际设计过程中遇到的问题以及团队协作能力等,为今后的专业学习和工程实践打下坚实的基础。
3.实验方案
3.1系统方案
3.1.1方案一
该方案为ICL7107A/D转换&译码方案。
常见A/D转换器的转换方式有非积分式和积分式两类,如逐次逼近比较式A/D转换、斜坡电压式A/D转换等属于非积分式,其特点是转换速度快,但抗干扰能力差。
电压反馈型V-F变换、双积分式A/D转换则属于积分式,其特点是抗干扰能力强、测量精度高,但转换速度低,在转换速度要求不太高的情况下,获得广泛应用。
工作方框图如图1所示:
电路原理图如图2所示:
3.1.2方案二
该方案利用AVR单片机对输入信号进行模数转换输出数字信号控制数码管显示温度值。
并且可以通过编写程序对输入信号进行分段线性化处理,使得测量精度大大提高,而且该电路无须外接译码器,结构简单。
工作框图如图3所示:
3.1.3方案三
该方案以AT89S52为控制器,采用DS18B20温度传感器检测温度信号,利用红外遥控设置温度测量的上下限数值,并通过LCD液晶显示。
工作框图如图4所示:
经过综合研究分析,考虑整个设计和成本,方案三成本低,测量温度方便简单,故此次数字温度计专题实验选取方案三。
3.2传感器方案
3.2.1方案一
该方案采用热敏电阻。
热敏电阻价格比较便宜、灵敏度比较好,在实际应用的时候线性度较差,另外调试比较困难。
不适合使用。
故不使用热敏电阻。
3.2.2方案二
该方案采用AD590。
AD590拥有良好的线性关系,灵敏度较高、使用简单方便。
但是这种传感器的价格比其他的两种都贵很多。
故不选用。
方案三:
DS18B20数字温度传感器
DS18B20是美国DALLAS半导体公司智能温度传感器,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,使用DS18B20可使系统结构更趋简单,可靠性更高。
他在测温精度、转换时间、传输距离、分辨率等方面拥有很大优势,给用户带来了更方便的使用和更令人满意的效果。
经过上述三种方案的论证比较,综合考虑成本、性能等因素,最终选取方案三。
3.3测量显示方案
3.3.1方案一
该方案采用LED显示。
LED数码显示中每一个像素单元就是一个发光二极管,如果是单色,一般是红色发光二级管。
如果是彩色,一般是三个三原色小二极管组成的一个大二级管。
这些二级管组成的矩阵由数码控制实时显示文字或者图像,造价相对低廉,组成的显像面积大。
3.3.2方案二
该方案采用LCD液晶显示。
液晶显示器是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特性,而达到白底黑字或黑底白字显示的目的。
LCD液晶的像素单元是整合在同一块液晶版当中分隔出来的小方格。
通过数码控制这些极小的方格进行显像。
造价高但是显示非常细腻。
4.系统工作原理
本系统由温度传感器DS18B20、AT89S52、LCD显示电路、软件构成。
DS18B20输出表示摄氏温度的数字量,然后用51单片机进行数据处理、译码、显示、报警等,
系统框图如图5所示:
4.1微控制器原理
AT89S52是一个低功耗,高性能CMOS8位单片机,片内含8KBytesISP的可反复擦写100000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,其具有如下特点:
40个引脚,8KBytesFlash片内程序存储器,256bytes的随机存取数据存储器,32个外部双向输入/输出口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗电路,片内时钟振荡器。
单片机引脚如图6所示:
4.2传感器原理
4.2.1DS18B20简介
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
DS18B20元件图如图7所示:
DS18B20的性能特点如下:
●独特的单线接口仅需要一个端口引脚进行通信;
●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
●无须外部器件;
●可通过数据线供电,电压范围为3.0~5.5V;
●零待机功耗;
●温度以9或12位数字;
●用户可定义报警设置;
●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;
4.2.2DS18B20内部结构
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图8所示。
64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。
温度报警触发器TH和TL,可通过软件写入户报警上下限。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。
高速暂存RAM的结构为8字节的存储器,结构如图9所示。
头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的定义如图3所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
温度LSB
温度MSB
TH用户字节1
TL用户字节2
配置寄存器
保留
保留
保留
CRC
由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。
第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。
表2是一部分温度值对应的二进制温度数据。
温度/℃
二进制表示
十六进制表示
+125
0000011111010000
07D0H
+85
0000010101010000
0550H
+25.0625
0000000110010000
0191H
+10.125
0000000010100001
00A2H
+0.5
0000000000000010
0008H
0
0000000000001000
0000H
-0.5
1111111111110000
FFF8H
-10.125
1111111101011110
FF5EH
-25.0625
1111111001101111
FE6FH
-55
1111110010010000
FC90H
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。
若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。
因此,可用多只DS18B20同时测量温度并进行报警搜索。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。
主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。
器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。
其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。
另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作按协议进行。
操作协议为:
初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
4.2.3DS18B20测温原理
DS18B20低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。
当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
此外,用斜率累加器补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,
4.3温度数值分析
利用的单片机的一个IO口,读取DS18B20的温度高位,温度低位。
由上面的分析可知:
温度高位的高5位的符号位、低3位是整数部分的高四位(整数部分的最高位永远为0),温度低温的高四位为整数部分的低四位,温度地位的低四位是小数部分用以下公式计算:
整数部分=温度低位/16+温度高位×16
小数部分十分位=(温度低位&0x0f)×10/16
由于DS18B30的集成度很高,使得设计的原理还是比较简单,设计的关键是了解DS18B20的时序,准确地获得温度高位和温度低位。
5.电路仿真与软件调试
5.1硬件系统设计仿真
本次设计应用Proteus绘制电路原理图,写出相应的用程序调试系统功能,并且进行仿真。
硬件电路主要由单片机最小系统、DS18B20为核心的传感器电路、液晶显示电路、报警电路、红外遥控电路和供电电路组成。
单片机最小系统:
提供一个上电复位高电平,和12MHZ时钟振荡。
DS18B20传感器电路:
加电即可工作,DATA端加4.7K电阻作上拉电阻保证有足够大的灌拉电流。
液晶显示电路:
报警电路:
利用5V蜂鸣器作报警提示。
供电电路:
利用7805组成线性稳压电源为整个系统供电。
具体电路连接见附录SCH电路原理图,硬件接线正确,单片机能构正常工作,硬件和系统仿真试功。
5.2软件调试和仿真
用Proteus进行仿真,调试程序。
测温精度取到小数点后三位。
5.2.1主程序流程
主程序说明:
小于10度,亮黄色LED,表示较凉,开蜂鸣器;
大于24度,亮绿色LED,表示温度较热,开蜂鸣器;
主程序流程图如图10所示:
5.2.2子程序流程
DS18B20工作流程图如图11所示;
计算温度流程图如图12、图13所示;
温度读取流程图如图14所示。
6.附录
6.1系统电路原理图
6.2C程序代码
7.参考文献
1.张国雄等编.测控电路.机械工业出版社,2001.8.
2.赵负图等编.现代传感器集成电路.人民邮电出版社,2000.1.
3.刘征宇等编.线性放大器应用手册.福建科学技术出版社,2005.1.
4.蔡锦福等编.运算放大器原理与应用.科学出版社,2005.7.
5.自编.测控电路设计型实验任务书.
6.谷树忠等编.Protel2004实用教程——原理图与PCB设计.电子工业出版社,2007.2.
7.袁鹏平等编.ProtelDXP电路设计实用教程.化学工业出版社,2007.1
8.致谢
这次专题实验,首先要感谢我们组的每一位成员。
感谢组长全瑞给予我锻炼的机会,把绘制电路部分交给我;感谢景存和安荣给予的帮助。
此外,还要感谢513实验室的晓明师兄在刻板方面给予的建议和指导,感谢老师给予我们这次锻炼工程设计和实践动手能力的机会。
由于时间原因,我们的作品还有很多可以完善的地方,但整个过程我们受益匪浅。
负责硬件方面的工作让我真切感受到硬件的制作要不断积累经验,硬件制作得好,对于软件调试有重要意义,能减少不少问题。
另外,我必须感谢一直以来给予我帮助和支持的老师、师兄和同学。
无论是在课程方面还是在实验室的电子制作方面,他们都给予了我不少建议和引导。
在实验室参与电子方面的制作和比赛的一年里,学到了很多知识,也提高了自己的实践动手能力和独立思考能力。
运用在实验室接触到的知识和课堂所学知识,我才得以顺利完成此次专题实验的任务。
最后,要感谢学院给予我们提高综合应用理论知识解决实际问题的学习平台。