多点温度检测系统课程设计.doc

上传人:仙人指路1688 文档编号:3941192 上传时间:2023-03-28 格式:DOC 页数:28 大小:275KB
返回 下载 相关 举报
多点温度检测系统课程设计.doc_第1页
第1页 / 共28页
多点温度检测系统课程设计.doc_第2页
第2页 / 共28页
多点温度检测系统课程设计.doc_第3页
第3页 / 共28页
多点温度检测系统课程设计.doc_第4页
第4页 / 共28页
多点温度检测系统课程设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《多点温度检测系统课程设计.doc》由会员分享,可在线阅读,更多相关《多点温度检测系统课程设计.doc(28页珍藏版)》请在三一办公上搜索。

1、辽 宁 工 业 大 学电子综合设计与制作(论文) 题目:多点温度检测系统 院(系):电子与信息工程学院 专业班级: 电子091班 学 号: 090404006 学生姓名: 许声亮 指导教师: 教师职称: 起止时间: 2012.12.29-2013.1.11 课程设计(论文)任务及评语院(系):电子与信息工程学院 教研室:电子信息教研室学 号090404006学生姓名许声亮专业班级电子091班题 目多点温度检测系统任务和要求任务和要求:设计一个多点温度检测系统。主控器能对各温度检测器(简称:检测器)通过串行传输线实现温度数据传输以及显示。具体设计制作任务: 1 设计制作各温度检测器(至少有2台温

2、度检测器)(1)温度测量精度:0.5;(2)温度测量范围:-20+125。2设计制作主控器(1)具有串行通信功能;(2)具有温度显示功能。指导教师评语及成绩平时: 论文质量: 答辩: 总成绩: 指导教师签字: 学生签字: 年 月 日摘 要在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。首先让我们了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热检测。温度检测系统应用十分广阔。DS18B20是一种高精度数

3、字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。关键字:温度测量;单总线;数字温度传感器;单片机目录第1章 绪论11.1系统背景11.2系统概述11.3系统设计方案1第2章 硬件设计32.1单片机系统设计32.2显示电路设计42.3键盘电路设计42.4报警电路设计52.5通信模块设计6第3章 软件设计73.1软件实现73.1.1温度测量程序流程图:73.1.2键盘程序设计8第4章 系统设计与分析94.1 系统原理图94.

4、2 系统原理综述9第5章 设计总结10参考文献11附录:整体电路图12附录:器件清单13附录:程序清单14第1章 绪论1.1系统背景在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。首先让我们了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热检测。温度检测系统应用十分广阔。1.2系统概述本设计运用主从分布式思想,由一台PC微型计算机,单片机多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。该系统

5、采用 RS-232串行通讯标准,通过PC机控制单片机进行现场温度采集。温度值既可以送回主控PC进行数据处理,由显示器显示。也可以由单片机单独工作,实时显示当前各点的温度值,对各点进行控制。单片机采用的是基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。1.3系统设计方案本设计方案以DS18B20为传感器、AT89C

6、51单片机为控制核心组成多点温度测试系统,该系统包括传感器电路、键盘与显示电路、串口通信电路组成。采用美国Dallas半导体公司推出的数字温度传感器DS18B20,属于新一代适配微处理器的智能温度传感器。它具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信。全部传感元件及转换电路集成在形如一只三极管的集成电路内。实际采用电路方案如下图1.1多个DS18B20AT89C51单片机数码显示报警系统PC机MAX232键盘识别电路图1.1 总体电路方案采用的是单片机基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松地组建传感

7、器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。它有如下特点:(1)独特的单线接口,既可通过串行口线,也可通过其它I/O口线与微机接口,无需变换其他电路,直接输出被测温度值;(2)多点能力使分布式温度检测应用得以简化;(3)不需要外部元件;(4)既可用数据线供电,也可采用外部电源供电;(5)不需备份电源;(6)测量范围为-20125,固有测温分辨率为0.5;(7)通过编程可实现912位的数字读数方式;(8)用户可定义非易失性的温度告警设置;(9)警告搜索命令能识别和寻址温度在编定的极限之外的器件(温度警告情况);(10)应用范围包括恒温控制、工业系统、消费类

8、产品、温度计或任何热敏系统。以上特性使得DS18B20非常适用于构建高精度、多点温度测量系统。根据DS18B20以上特点,此方案实现本课题较好。第2章 硬件设计2.1单片机系统设计本课题运用Intel公司的8051进行系统控制,运用到了复位电路、时钟电路、串口、I/O口。89C51单片机串口主要有两个数据缓冲寄存器SBUF和一个输入移位寄存器组成,其内部还有一个串行控制寄存器SCON和一个波特率发生器。接收缓冲器与发送缓冲器占用同一个地址99H,其名称亦同样为SBUF。单片机最小系统电路如图2.1 图2.1 单片机最小系统2.2显示电路设计显示电路采用的是共阴极七段数码管。显示方式有动态扫描和

9、静态显示,两种方法在本设计中皆可。由于静态扫描要用到多片串入并出芯片,考虑到电路板成本计算。本人采用是节约硬件资源的动态扫描方式。即用两块芯片就可以完成显示功能。显示数据由4511译码器输出,ULN2003为位驱动扫描信号。显示电路如图2.2图2.2 显示电路2.3键盘电路设计本课题使用行列扫描方式,在单片机的P1口上连接上4*4的键盘,单片机扫描键盘,如果有键按下,单片机会根据键码执行相应的程序,使整个系统的功能更加完善。键盘电路如图2.3图2.3 键盘电路2.4报警电路设计为了实现多点温度检测报警系统,本课题采用AT89C51单片机作为主控制器,采用扫描的方式对多点DS18B20温度传感器

10、获取对应该位置的温度值,经处理后通过串口可以立即发送到上位机,如温度不在设定的范围内,给出报警信号。电路如图2.4图2.4 报警电路2.5通信模块设计AT89C51有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。PC机与单片机的串行通信接口电路如图2.5图2.5串行通信接口电路第3章 软件设计3.1软件实现系统软件设计主要包括系统程序和流程图

11、,根据整个系统的要求,完成温度的测量与控制必须经过以下几个步骤:单片机接受传感器的温度信号,并通过MAX7219驱动显示出来,单片机扫描键盘,接受控制信号,并将温度显示出来,若温度不在范围内则发出报警。程序流程如图3.1开始系统初始化测温子程序Y显示温度测温键是否按下N清除键是否按下Y清除显示子程序N图3.1 总体程序流程图3.2温度测量程序流程图:温度测量程序首先复位DS18B20温度传感器,跳过ROM指令并发出温度转换指令。换完毕后复位DS18B20再发出匹配DS18B20命令,发一个DS18B20序号然后读取温度值,当所有DS18B20全部访问完毕后,复位DS18B20,发出报警命令,如

12、果有温度超出范围则报警,否则复位DS18B20。电路程序流程图如图3.2开始延时复位DS18B20复位DS18B20复位DS18B20发出匹配ROM命令发出跳过ROM命令发报警搜索命令NN发一个DS18B20序号发出温度转换命令Y读温度值转换完毕?是否有温度超限存入储存器YNY报警输出所有DS18B20访问完毕指向下一个DS18B20图3.2 温度测量程序流程图3.3键盘程序设计根据本课题的系统要求,采用4*4的键盘电路结构,P1.0- P1.3接四条行线,P1.4-P1.7接四条列线,整个系统的功能可以利用16个按键将系统完善化、系统化,对于键盘各键的功能如图3.31234567891011

13、121314循环查询图3.3 键盘功能图第4章 系统设计与分析4.1 系统原理图系统原理电路图如附录图4.1。4.2 系统原理综述系统采用以DS18B20为传感器、AT89C51单片机为控制核心组成多点温度测试系统,该系统包括传感器电路、键盘与显示电路、串口通信电路组成。采用数字温度传感器DS18B20,它具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信。通过七段数码管显示出来,并通过报警装置判断是否超出测温范围。经过分析测量,本系统测量精度0.5,测温范围在-20+125,实现了设计基本要求。第5章 设计总结本次课程设计主要是实现对温度进行多点同时测量并准确显示。整

14、个系统由单片机控制,要能够接受传感器的数据并显示出来,可以从键盘输入命令,系统根据命令选择对应的传感器,并由驱动电路驱动温度显示,对异常情况进行报警。本次课程设计基本实现了设计要求,有多个温度检测器,测量精度0.5,测温范围在-20+125。并通过串行通信接口与外部PC机相连,并通过数码管及4511译码器显示出来。通过这次课程的设计,将课本的知识实际应用,摆脱考试的局限,锻炼自己的解决问题的能力,独立思考能力。本可设使我熟悉了单片机设计原则,对51系列单片机内部构造、与其它芯片的接口技术及其工作情况有了更进一步了解,虽然是很简单的运用,但比为了考试而瞬时记忆的知识牢固多了,工作需要独立解决问题

15、的的能力,还是希望多一些这样的机会。参考文献1周慈航 单片机程序设计基础 北京:北京航空航天大学出版社,20032方佩敏 智能化集成温度传感器原理与应用 北京:电子工业出版社,20023张毅刚 单片机原理及应用 北京:高等教育出版社,20084李道玲,李玲,朱艳 传感器电路分析与设计 武汉:武汉大学出版社,20035刘笃人,韩保军 传感器及应用技术 西安:西安电子科技大学出版社,20036陈小忠等 单片机接口技术实用子程序 北京:人民邮电出版社,20057李群芳 单片机原理、接口及应用嵌入式系统计数基础 北京:清华大学出版社 附录:整体电路图图4.1总体电路图附录:器件清单器件名称器件数量器件

16、名称器件数量器件名称器件数量AT89C511数码管4AT24C161LED1电感1ULN20031按键9晶振145111喇叭120P电容21电阻8300电阻11u电解电容610K电阻810u电解电容1串行接口1DS18B208MAX232174LS15110.1u电容210K电阻1附录:程序清单;*;常数定义;*TMEL EQU 0E0H ;20ms,定时器0时间常数TMEH EQU 0B1HTMEPHEAD EQU 36H;*;工作内存定义;*BITST DATA 20HTIMEISOK BIT BITST.1TEMPONEOK BIT BITST.2TEMPL DATA 26HTEMPH

17、DATA 27HTEMPHC DATA 28HTEMPLC DATA 29H;*; 引脚定义;*TEMPDIN BIT P3.7;*; 中断向量区;*ORG 000HLJMP STARTORG 00BHLJMP T0IT;*;系统初始化;*ORG 100HSTART: MOV SP,#60HCLSMEM: MOV R0,#20HMOV R1,#60HCLSMEM1: MOV R0,#00HINC R0DJNZ R1,CLSMEM1MOV TMOD,#00100001BMOV TH0,#TIMELMOV TL0,#TIMEHSJMP INITERROR: NOPLJMP STARTNOPINIT

18、: NOPSETB ET0SETB TR0SETB EAMOV PSW,#00HCLR TEMPONEOKLJMP MAIN;*; 定时器0中断服务程序;*T0IT: PUSH PSWMOV PSW,#10HMOV TH0,#TIMEHMOV TL0,#TIMELINC R7CJNE R7,#32H,T0ITIMOV R7,#00HSETB TIMEISOKTOIT1: POP PSWRETI;*; 主程序;*MAIN: LCALL DISP1JNB TIME1SOK,MAINCLR TIME1SOKJNB TEMPONEOK,MAIN2LCALL READTEMP1LCALL CONVTEM

19、PLCALL DISPBCDLCALL DISP1MAIN2: LCALL READTEMPSETB TEMPONEOKLJMP MAIN;*;*;子程序区;*; RESET DS18B20;*INITDS1820: SETB TEMPDINNOPNOPCLR TEMPDINMOV R6,#0A0HDJNZ R6,$MOV R6,#0A0HDJNZ R6,$SETB TEMPDINMOV R6,#32HDJNZ R6,$MOV R6,#3CHLOOP1820: MOV C,TEMPDINJC INITDS1820OUTDJNZ R6,LOOP1820MOV R6,#064HDJNZ R6,$S

20、JMP INITDS1820RET;INITDS1820OUT: SETB TEMPDINRET; *; 读DS18B20的程序,从DS18B20中读出一个字节的数据; *READDS1820: MOV R7,#08HSETB TEMPDINNOPNOPREADDS1820LOOP: CLR TEMPDINNOPNOPNOPSETB TEMPDINMOV R6,#07HDJNZ R6,$MOV C,TEMPDINMOV R6,#3CHDJNZ R6,$RRC ASETB TEMPDINDJNZ R7,READDS1820LOOPMOV R6,#3CHDJNZ R6,$RET; *; 写DS18

21、B20的程序,从DS18B20中写一个字节的数据; *WRITEDS1820: MOV R7,#08HSETB TEMPDINNOPNOPWRITEDS1820LOP: CLR TEMPDINMOV R6,#07HDJNZ R6,$RRC AMOV TEMPDIN,CMOV R6,#34HDJNZ R6,$SETB TENPDINDJNZ R7,WRITEDS1820LOPRET; *; READ TEMP; *READTEMP: LCALL INITEDS1820MOV A,#0CCHLCALL WRITEDS1820MOV R6,#34HDJNZ R6,$MOV A,#44HLCALL W

22、RITEDS1820MOV R6,#34HDJNZ R6,$RETREADTEMP1: LCALL INITDS1820MOV A,#0CCHLCALL WRITEDS1820MOV R6,#34HDJNZ R6,$MOV A,#0BEHLCALL WRITEDS1820MOV R6,#34HDJNZ R6,$MOV R5,#09HMOV R0,#TEMPHEADMOV B,#00HREADTEMP2: LCALL READDS1820MOV R0,AINC R0READTEMP21: LCALL CRC8CALDJNZ R5,READTEMP2MOV A,BJNZ READTEMPOUTMO

23、V A,TEMPHEAD+0MOV TEMPL,AMOV A,TEMPHEAD+1MOV TEMPH,AREADTEMPOUT: RET; *; 处理温度BCD码子程序; *CONVTEAMP: MOV A,TEMPHANL A,#80HJZ TEMPC1CLR CMOV A,TEMPLCPL AADD A,#01HMOV TEMPL,AMOV A,TEMPHCPL AADDC A,#00HMOV TEMPH,AMOV TEMPHC,#0BHSJMP TEMPCHTEMPC1: MOV TEMPHC,#0AHTEMPC11: MOV A,TEMPHCSWAP AMOV TEMPHC,AMOV

24、A,TEMPLANL A,#0FHMOV DPTR,#TEMPDOTTABMOVC A,A+DPTRMOV TEMPLC,AMOV A,TEMPLANL A,#0F0HSWAP AMOV TEMPL,AMOV A,TEMPHANL A,#0FHSWAP AORL A,TEMPLLCALL HEX2BCD1MOV TEMPL,AANL A,#0F0HSWAP AORL A,TEMPHCMOV TEMPHC,AMOV A,TEMPLANL A,#0FHSWAP AORL A,TEMPLCMOV TEMPLC,AMOV A,R7JZ TEMPC12ANL A,#0FHSWAP AMOV R7,AMO

25、V A,TEMPHCANL A,#0FHORL A,R7MOV TEMPHC,ATEMPC12: RET; *; 小数部分码表; *TEMPDOTTAB: DB 00H, 01H, 01H, 02H, 03H, 03H, 04H,04H,05H,06HDB 06H,07H,08H,09H,09H; *; 显示区BCD码温度值刷新子程序; *DISPBCD: MOV A,TEMPLCANL A,#0FHMOV 70H,AMOV A,TEMPLCSWAP AANL A,#0FHMOV 71H,AMOV A,TEMPHCANL A,#0FHMOV 72H,AMOV A,TEMPHCSWAP AANL

26、 A,#0FHMOV 73H,AMOV A,TEMPHCANL A,#0F0HCJNZ A,#010H,DISPBCD0SJMP DISPBCD2DISPBCD0: MOV A,TEMPHCANL A,#0FHJNZ DISPBCD2MOV A,TEMPHCSWAP AANL A,#0FHMOV 73H,#0AHMOV 72H,ADISPBCD2: RET; *; 显示子程序; *; 显示数据在70H73H单元内,用4位LED共阳数码管显示,P1口输出段码数据,;P3口作扫描控制,每个LED数码管亮1ms时间再逐位循环。DISP1: MOV R1,#70HMOV R5,#0FEHPLAY: M

27、OV P1,#0FFHMOV A,R5MOV P3,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTRMOV P1,AMOV A,R5JB ACC.1,LOOP5CLR P1.7LOOP5: LCALL DLIMSINC R1MOV A,R5JNB ACC.3,ENDOUTRL AMOV R5,AAJMP PLAYENDOUT: MOV P1,#0FEHMOV P3,#0FEHRETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH;共阳段码表 “0” “1” “2” “3” “4” “5” “6” “7” “8” “9” “不亮” “”DL1MS: MOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2DJNZ R6,DL1RET; *; 单字节十六进制转BCD; *HEX2BCD1: MOV B,#064HDIV ABMOV R7,AMOV A,#0AHXCH A,BDIV ABSWAP AORL

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号