ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:321.63KB ,
资源ID:17151945      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17151945.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多机温度朱湘Word文档格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

多机温度朱湘Word文档格式.docx

1、3 系统总体方案及硬件设计 113.1 AT89C51单片机的最小相系统 113.2 DS18B20的I/O接线图 123.3 数据显示部分 123.4整体电路 124 基于单片机多机温度检测系统软件设计 134.1 概述 134.2 主程序方案 134.3 DS18B20程序 144.4 各模块工作流程图 155 Proteus软件仿真 18课程设计体会 18参考文献 18 概述1.1课题背景在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。首先让我们了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测

2、,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热检测。温度检测系统应用十分广阔。1.2 系统概述本设计运用主从分布式思想,由上位机,下位机多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。该系统采用 RS-232串行通讯标准,通过上位机控制下位机进行现场温度采集。温度值由下位机单独工作,实时显示当前各点的温度值,对各点进行控制。上位机采用的是单片机基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场

3、温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D 转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降 。所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择

4、和主控单元的设计。温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。2 系统设计2.1主控制部分设计此方案采用AT8CS51八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想,由一台上位机,下位机多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。另外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟 2.1.1 对AT89C51功能的认识AT89C51是一种低功耗、高性能CMOS8

5、位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C51具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT8CS51可降至0Hz 静态逻辑操作,支

6、持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图 1 AT89C512.2 传感器部分设计在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。

7、在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量.轻松的组建传感器网络。采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。本方案应用

8、这一温度芯片,也是顺应这一趋势。系统采用针对传统温度测温系统测温点少,系统兼容性及扩展性较差的特点,运用分布式通讯的思想。设计一种可以用于大规模多点温度测量的巡回检测系统。该系统采用的是RS-232串行通讯的标准,通过上位机进行现场的温度采集,温度数据既可以由下位机模块实时显示,也可以送回上位机进行数据处理,具有巡检速度快,扩展性好,成本低的特点。2.2.1 对DS18B20功能的认识DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式。测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出。其工作电源既可在远端引入,也可采用寄生电源方

9、式产生。CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B20支持“一线总线”接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。DS18B20采集被控对象的实时温度并从单片机的 P1.6口输入,R3为上拉电阻。电路采用数字信号输出可提高信号抗干扰能力和温度测量精度。电路工作电压使用范围为3.05.5V,采用外部供电方式。 图 2 DS18B202.2.2

10、 DS18B20(1) DS18B20内部结构如下图所示。图 3 DS18B20内部框图DS18B20有4个主要的数据部件: 64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。 温度灵敏元件。 非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。 配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DS18B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图所示。TMR1R01MSB DS18B20配置寄存器结构图LSB其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率

11、设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。配置寄存器与分辨率关系表 :温度计分辨率/bit最大转换时间/us993.7510187.51137512750(2) 高速暂存存储器后,经转换所高速暂存存储器由9个字节组成,其分配如下图所示。当温度转换命令发布得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计

12、算十进制值。温度低位温度高位THTL配置保留8位CRC DS18B20 存储器映像图温度值格式图DS18B20 温度数据表:232221202-12-22-32-4S262524对DS18B20的设计,需要注意以下问题(1)对硬件结构简单的单线数字温度传感器DS18B20 进行操作,需要用较为复杂的程序完成。编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。尤其在使用DS18B20 的高测温分辨力时,对时序及电气特性参数要求更高。(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20 序列号和自动排序,以减少调试和维护工作量。(

13、3)测温电缆线建议采用屏蔽4 芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。DS18B20 在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。若VCC脱开未接,传感器只送85.0 的温度值。(4)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。另外还应根据实际情况选择其接线拓扑结构。3 基于单片机的多机温度检测系统硬件设计3.1 AT89C51单片机的最小相系统图 4 AT89C51最小相系统3.2 DS18B20的I/O接线图图 5 DS18B20接线图3.3 数据显示部分图 6

14、数据显示部分3.4整体电路见附件二:系统原理图4 基于单片机的多机温度检测系统软件设计4.1 概述 整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构

15、,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。4.2 主程序方案 主程序调用了数码管显示程序、温度测试程序、中断控制程序、单片机与PC机串口通讯等程序。温度测试程序:对温度芯片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码的显示送数,控制系统的显示部分。中断控制程序:实现循环显示功能。串口通讯程序:实现PC机与单片机通讯,将温度数据传送给PC机将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序,然后在寄存器的分配上作一下调整,消除寄存器冲突和I/O冲突即可。4.3 DS18B20程序 4.3.1 DS18B20初始化子程序 DS18B20

16、的使用必须遵循初始化到 ROM操作命令到存储器操作命令的规定协议。每完成一次测温,要重新进行初始化。单片机先发一个复位脉冲,保持低电平时间最少 480s,最多不能超过960s。然后,单片机释放总线,等待 DS18B20的应答。DS18B20在接收到复位脉冲后等待1560s发出应答脉冲,应答脉冲持续60240s。4.3.2 DS18B20写控制字子程序 当主机把数据线从逻辑高电平拉到逻辑低电平的时候,写时间开始。写一位数据最少需要60s,两个数据位之间最少有 1s的间隔。I/O总线拉低后,DS18B20在15s后开始采样,如果线上是高电平,就写1,如果线上是低电平,就写0,写时间需要1575s,

17、且在 2次独立的写时间之间至少需要 1s的恢复时间。4.3.3 DS18B20读出温度子程序 当主机把数据线从高电平拉到低电平时,读时间开始。读出温度子程序的主要功能是读出 RAM中的 9字节,在读出时需进行 CRC校验,校验有错时不进行温度数据的改写。读时间需1560 s,且在 2次独立的读时间之间至少需要 1 s的恢复时间。DSl8B20在读时间开始 15s后开始采样总线电平。4.3.4 DS18B20温度转换子程序 温度转换命令子程序主要是发温度转换开始命令,DS18B20用 12位存贮温度值,最高位为符号位,低四位为小数,最高精度可达 0.0625度。温度数据转换完成的任务是把用二进制

18、表示的温度转换成 1个字节的两位压缩 BCD码。转换的方法有两种,一种是通过计算,另一种是通过查表,该装置设计方案采用前者。计算温度子程序温度读取值进行 BCD码的转换运算,并进行温度值正负的判断。4.4 各模块工作流程图4.4.1 上位机工作过程图 7 上位机工作流程图4.4.2 DS18B20工作过程图 8 DS18B20工作流程图本次通讯中,测控系统分位上位机和下位机之间的通信,系统中单片机负责数据采集、处理和控制,上位机进行现场可视化检测,通信协议采用半双工异步串行通信方式,通过RS232的RTS信号进行收发转换,传输数据采用二进制数据,上位机与下位机之间采用主从式通讯。4.4.3 下

19、位机接收过程图 9 下位机工作流程图下位机采用的是单片机基于数字温度传感器DS18B20的系统。5 Proteus软件仿真通过PROTEUS把上面电路图连好,通过检测证明图无误的话,然后再把已经写好的程序运行一下,检测程序无错误的话,就直接通过PROTEUS将程序输进去,然后再直接编译一下,就可以的到上面的图。 设计体会 辛苦忙碌了几天,我们的单片机课程设计课题也告一段落。设计实物也基本达到预期的效果,但由于能力和时间的关系,总是觉得有很多不尽人意的地方,譬如功能不全、外观粗糙数不胜数。但我们可以自豪的说,这里面的每一段代码,都有我们的劳动。当看着我们的程序,我们成天相伴的系统能够正常的运行,

20、真是莫大的幸福和欣慰。我们相信其中的酸甜苦辣最终都会化为甜美的甘泉。单片机课程设计,也许是我们大学生涯交上的最后一个作业了。想借此机会感谢一直以来给我们帮助的所有老师、同学,你们的友谊是我们人生的财富,是我们生命中不可或缺的一部分。这次做课程设计的经历也会使我们终身受益,我们感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有认真研究,就不会有所突破,希望这次的经历能让我们在以后学习中激励着我们继续进步。 参考文献1单片机课程设计指导,中南大学出版社,张一斌等2009年9月2单片机实验与实践教程,北京航空航天大学出版社,何立民等20

21、04年7月3THKSCM-1型单片机实验系统实验指导书、KEIL 软件,WAVE 软件4数字控制与PLC实验室”THKSCM-1型单片机实验系统”。5 单片机原理及应用技术 余发山,王福忠主编 ,6 数字温度传感器DS18B20及其应用.pdf7余永权. ATMEL 89系列单片机应用技术M. 8贾振国. DS1820 及高精度温度测量的实现J.电子技术应用,2000(1):58 - 59.9北京:北京航空航天大学出版社2002.10徐州;中国矿业大学出版社 2008. 附件一:源程序代码 TEMP_ZH EQU 24H ;实时温度值存放单元 TEMPL EQU 25H ;低温度值存放单元 T

22、EMPH EQU 26H ;高温度值存放单元 TEMP_TH EQU 27H ;高温报警值存放单元 TEMP_TL EQU 28H ;低温报警值存放单元 TEMPHC EQU 29H ;存十位数 BCD码 TEMPLC EQU 2AH ;存个位数 BCD码;- K1 EQU P2.1 K2 EQU P2.2 K3 EQU P2.3 K4 EQU P2.4 SPK EQU P3.4 RELAY EQU P2.0 X EQU 2FH ;LCD 地址变量- RS EQU P3.5 RW EQU P3.6 E EQU P3.7 FLAG EQU 20H.0 ;DS18B20是否存在标记 KEY_UD

23、EQU 20H.1 ;设定 KEY 的UP与DOWN 标记 DQ EQU P2.5= 主程序 =MAIN: ACALL SET_LCD ;LCD初始化设置子程序 ACALL WR_THL ;将报警上下线写入暂存寄存器TOOP: ACALL RESET_1820 ;18B20复位子程序 JNB FLAG,TOOP1 ;DS1820不存在 ACALL MEU_OK ;显示OK菜单 ACALL RE_THL ;把EEROM里温度报警值拷贝回暂存器 ACALL TEMP_BJ ;显示温度标记C JMP TOOP2TOOP1: ACALL MEU_ERROR ;ERROR显示温度标记 JMP $-TOO

24、P2: ACALL RE_TEMP ACALL SET_DATA ACALL TEMP_COMP ;实际温度值与标记温度值比较子程序 ACALL P_KEY ;键扫描子程序 SJMP TOOP2 读取温度数据子程序 RE_TEMP:18B20复位子程序 MOV A,#0CCH ;跳过ROM匹配 ACALL WRITE_1820 ;写入子程序 MOV A,#44H ;发出温度转换命令调写入子程序 调复位子程序 MOV A,#0BEH ;发出读温度命令写入子程序 ACALL READ_1820 JMP PK2 ;转到标号 PK2处 PK1: ; 按键K2处理 JB K2,PK3 ;K2键未按,转到

25、PK3处 ACALL SPK_BZ ;K2键按下,一声鸣响 JNB K2,$ ;等按键放开 MOV DPTR,#TA1 ;存#TA1表 MOV A,#1 ACALL LCD_PRINT ;显示字符 ACALL SET_ALARM ;设定报警值 TH、TL 将设定的TH,TL值写入DS18B20内 ACALL WRITE_E2 ;PK2:显示温度标记 PK3: RET-TA1: DB RESET ALERT CODE 设定报警值 TH、TL子程序 ACALL SPK_BZ INC TEMP_TH MOV A,TEMP_TH CJNE A,#120,A4 MOV TEMP_TH,#0A4: ACALL LOOK_ALARM MOV R5,#10 ACALL DELAY JMP A3A5: JB K3,A7 ;TL值调整(增加) INC TEMP_TL MOV A,TEMP_TL CJNE A,#99,A6 MOV TEMP_TL,#00HA6: ACALL LOOK_ALARM ; JMP A5A7: JB K4,A0 ;确定调整 OK JNB K4,$A8:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1