按关键词阅读: 系统 课程设计 检测 温度 多点
1、 电 子 综 合 设 计 与 制 作 (论 文)辽 宁 工 业 大 学电子综合设计与制作(论文)题目:多点温度检测系统院(系):电子与信息工程学院专业班级: 电子091班 学 号: 090404006 学生姓名: 许声亮 指导教师: 教师职称: 起止时间: 2012.12.29-2013.1.11 课程设计(论文)任务及评语院(系):电子与信息工程学院 教研室:电子信息教研室学 号090404006学生姓名许声亮专业班级电子091班题 目多点温度检测系统任务和要求任务和要求:设计一个多点温度检测系统 。
主控器能对各温度检测器(简称:检测器)通过串行传输线实现温度数据传输以及显示 。
具体设计制作任务 。
2、: 1 设计制作各温度检测器(至少有2台温度检测器)(1)温度测量精度:0.5;(2)温度测量范围:-20+125 。
2设计制作主控器(1)具有串行通信功能;(2)具有温度显示功能 。
指导教师评语及成绩平时: 论文质量: 答辩: 总成绩: 指导教师签字: 学生签字: 年 月 日摘 要在工、农业生产和日常生活中 , 对温度的测量及控制占据着极其重要地位 。
首先让我们了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测 , 电力、电讯设备之过热故障预知检测 , 空调系统的温度检测 , 各类运输工具之组件的过热检测 , 保全与监视系统之应用 , 医疗与健诊的温度测试 , 化工、机械等设备温度过热检测 。
温度检测系统 。
3、应用十分广阔 。
DS18B20是一种高精度数字式温度传感器 , 由于其具有单总线的独特优点 , 可以使用户轻松地组建起传感器网络 , 并可使多点温度测量电路变得简单、可靠 。
本文结合实际使用经验 , 介绍了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章 。
4、 系统设计与分析94.1 系统原理图94.2 系统原理综述9第5章 设计总结10参考文献11附录:整体电路图12附录:器件清单13附录:程序清单1424第1章 绪论1.1系统背景在工、农业生产和日常生活中 , 对温度的测量及控制占据着极其重要地位 。
首先让我们了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测 , 电力、电讯设备之过热故障预知检测 , 空调系统的温度检测 , 各类运输工具之组件的过热检测 , 保全与监视系统之应用 , 医疗与健诊的温度测试 , 化工、机械等设备温度过热检测 。
温度检测系统应用十分广阔 。
1.2系统概述本设计运用主从分布式思想 , 由一台PC微型计算机 , 单片机多点温度数据采集 , 组 。
5、成两级分布式多点温度测量的巡回检测系统 。
该系统采用 RS-232串行通讯标准 , 通过PC机控制单片机进行现场温度采集 。
温度值既可以送回主控PC进行数据处理 , 由显示器显示 。
也可以由单片机单独工作 , 实时显示当前各点的温度值 , 对各点进行控制 。
单片机采用的是基于数字温度传感器DS18B20的系统 。
DS18B20利用单总线的特点可以方便的实现多点温度的测量 , 轻松的组建传感器网络 , 系统的抗干扰性好、设计灵活、方便 , 而且适合于在恶劣的环境下进行现场温度测量 。
本系统可以应用在大型工业及民用常温多点监测场合 。
如粮食仓储系统、楼宇自动化系统、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等 。
1.3系统设计方案 。
6、本设计方案以DS18B20为传感器、AT89C51单片机为控制核心组成多点温度测试系统 , 该系统包括传感器电路、键盘与显示电路、串口通信电路组成 。
采用美国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)警告搜索命令能识别和寻址温度在编定的极限之外的器件(温度警告情况); 。
8、(10)应用范围包括恒温控制、工业系统、消费类产品、温度计或任何热敏系统 。
以上特性使得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单片机作为主控制器 。
10、 , 采用扫描的方式对多点DS18B20温度传感器获取对应该位置的温度值 , 经处理后通过串口可以立即发送到上位机 , 如温度不在设定的范围内 , 给出报警信号 。
电路如图2.4图2.4 报警电路2.5通信模块设计AT89C51有一个全双工的串行通讯口 , 所以单片机和电脑之间可以方便地进行串口通讯 。
进行串行通讯时要满足一定的条件 , 比如电脑的串口是RS232电平的 , 而单片机的串口是TTL电平的 , 两者之间必须有一个电平转换电路 , 我们采用了专用芯片MAX232进行转换 , 虽然也可以用几个三极管进行模拟转换 , 但是还是用专用芯片更简单可靠 。
PC机与单片机的串行通信接口电路如图2.5图2.5串行通信接口电路第3章 软件设计3. 。
11、1软件实现系统软件设计主要包括系统程序和流程图 , 根据整个系统的要求 , 完成温度的测量与控制必须经过以下几个步骤:单片机接受传感器的温度信号 , 并通过MAX7219驱动显示出来 , 单片机扫描键盘 , 接受控制信号 , 并将温度显示出来 , 若温度不在范围内则发出报警 。
程序流程如图3.1开始系统初始化测温子程序Y显示温度测温键是否按下N清除键是否按下Y清除显示子程序N图3.1 总体程序流程图3.2温度测量程序流程图:温度测量程序首先复位DS18B20温度传感器 , 跳过ROM指令并发出温度转换指令 。
换完毕后复位DS18B20再发出匹配DS18B20命令 , 发一个DS18B20序号然后读取温度值 , 当所有DS18B20全部访 。
12、问完毕后 , 复位DS18B20 , 发出报警命令 , 如果有温度超出范围则报警 , 否则复位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个按键将系统完善化、系统化 , 对于键盘 。
13、各键的功能如图3.31234567891011121314循环查询图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 。
17、.2TEMPL DATA 26HTEMPH 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 。
18、: NOPLJMP STARTNOPINIT: 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。
19、READTEMP1LCALL CONVTEMPLCALL 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,LOOP1820 。
20、MOV R6,#064HDJNZ R6,$SJMP 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,#3CH 。
21、DJNZ R6,$RET;
*;
写DS18B20的程序 , 从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 。
22、 R6,$MOV A,#44HLCALL WRITEDS1820MOV 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,READTEMP2MO 。
23、V A,BJNZ READTEMPOUTMOV 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,TEMPHC 。
24、SWAP AMOV TEMPHC,AMOV 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。
25、A,#0FHSWAP AMOV R7,AMOV 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, 。
26、AMOV A,TEMPHCSWAP AANL 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,# 。
27、70HMOV R5,#0FEHPLAY: MOV 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 。
【多点|多点温度检测系统课程设计】28、” “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 A,BRET;
*;
Calculate CRC8 Values. Uses The CCITT8 Polynomial,Expressed As;
X8+X5+X4+1;
*CRC8CAL: PUSH ACCMOV R7,#08HCRC8LOOP1: XRL A,BRRC AMOV A,BJNC CRC8LOOP2XRL A,#18HCRC8LOOP2: RRC AMOV B,APOP ACCRR APUSH ACCDJNZ R7,CRC8LOOP1POP ACCRETEND 。

稿源:(未知)
【傻大方】网址:/a/2021/0902/0024074254.html
标题:多点|多点温度检测系统课程设计