余明诚xx多路温度监控系统设计.docx
- 文档编号:24794474
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:31
- 大小:293.13KB
余明诚xx多路温度监控系统设计.docx
《余明诚xx多路温度监控系统设计.docx》由会员分享,可在线阅读,更多相关《余明诚xx多路温度监控系统设计.docx(31页珍藏版)》请在冰豆网上搜索。
余明诚xx多路温度监控系统设计
(此文档为word格式,下载后您可任意编辑修改!
)
传感器课程设计
目录
设计任务书……………………………………………………………….……………………3
一前言4
二总体方案5
(一)、方案论证:
5
1.显示部分:
5
2.温度采集:
6
(二)传感器介绍:
6
(三)、总体方案介绍:
11
1.工作原理:
11
2.总体设计:
11
三、系统硬件设计:
12
单片机的选择12
1.AT89C52单片机最小系统:
12
2.温度测量模块:
13
1、系统组成13
2、工作原理13
3.LED显示模块:
13
4.整体电路:
14
四系统软件程序设计:
略详见附录116
五心得体会17
参考文献:
18
附录一19
传感器课程设计任务书
总要求
能够独立进行小型检测模块系统方案的设计及论证,选择合理的传感器、设计必要的接口电路等,以及合理选择有关元器件及正确使用相关工具与仪器设备等,并且能结合实际调试与实验进行有关精度分析与讨论。
总任务
针对总要求进行原理及方案论证、模块设计、接口电路设计、焊接或插接与调试、精度分析以及撰写报告等工作。
设计题目
多路温度监控系统设计
四、设计内容
(1)选用集成温度传感器设计两路室温检测系统
(2)设计检测电路,及其与单片机的接口电路,采集程序设计
(3)有电路图(PROTEL绘制),选型与有关计算,精度分析等
五、设计进度或计划
准备及查阅资料一天
方案设计及论证(总体方案)二天
硬件电路设计、画图(PROTEL)三天
实验室调试及结果分析二天
整理报告及准备答辩二天
六、设计说明书包括的主要内容
封面
目录
设计任务书
正文(可按下列内容撰写、仅供参考)
序言
可包括系统工作原理的介绍等。
方案设计及论证
可按模块进行方案设计与论证;
各模块设计中应包括适当的精度分析及选型等。
实验或系统调试
可包括实验调试工具仪器、实验结果及适当的分析等。
心得体会
主要参考文献
另:
说明书的撰写格式应符合一定的要求,可参照华东交通大学本科生毕业论文撰写
规范进行。
七、考核方法
考核可根据学生平时学习态度(含出勤率)20%、设计完成情况(样机)40%、图纸及说明书质量(含答辩)40%确定。
一前言
随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。
在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。
随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的服务于社会目前,单片机控制器在从生活工具到工业应用的各个领域,例如生活工具的电梯、工业生产中的现场控制仪表、数控机床等。
尤其是用单片机控制器改造落后的设备具有性价比高、
高设备的使用寿命、提高设备的自动化程度的特点
二总体方案
(一)、方案论证:
1.显示部分:
显示部分是本次设计的重要部分,一般有以下两种方案:
方案一:
采用LED显示,分静态显示和动态显示。
对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,且可靠性也较低。
而对于动态显示方式,虽可以避免静态显示的问题。
方案二:
采用LCD显示。
LCD液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较适合的。
鉴于该系统信息量少,我们采用方案一。
2.温度采集:
由于现在用品追求多样化,多功能化,给系统加上温度测量显示模块,能够方便人们的生活,使该设计具有人性化。
方案一:
采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测小于1摄氏度的信号是不适用的。
方案二:
采用温度传感器DS18B20。
DS18B20可以满足从-55摄氏度到+125摄氏度测量范围,且DS18B20测量精度高,增值量为0.5摄氏度,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。
基于DS18B20的以上优点,我们决定选取DS18B20来测量温度。
(二)传感器介绍:
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的外形及管脚排列如下图1:
图一
DS18B20引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GND为电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
图2:
DS18B20内部结构图
3、DS18B20工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理如图3所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
图3:
DS18B20测温原理框图
DS18B20有4个主要的数据部件:
(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
(2)DS18B20中的温度传感器可完成对温度的测量,以9位转化为例:
用16位符号扩展的二进制补码读数形式提供,以0.5℃/LSB形式表达,其中S为符号位。
这是9位转化后得到的9位数据,存储在18B20的两个8比特的RAM中,二进制中的前面8位是符号位,如果测得的温度大于0,这8位为0,只要将测到的数值乘于0.5即可得到实际温度;如果温度小于0,这8位为1,测到的数值需要取反加1再乘于0.5即可得到实际温度。
例如+125℃的数字输出为00FAH,-55℃的数字输出为FF6EH。
(3)DS18B20温度传感器的存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
(4)配置寄存器
该字节各位的意义如下:
表1:
配置寄存器结构
TM
R1
R0
1
1
1
1
1
低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表所示:
(DS18B20出厂时被设置为12位)
表2:
温度分辨率设置表
R1
R0
分辨率
温度最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
4、高速暂存存储器
高速暂存存储器由9个字节组成,其分配如表5所示。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。
对应的温度计算:
当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。
表 2是对应的一部分温度值。
第九个字节是冗余检验字节。
表3:
DS18B20暂存寄存器分布
寄存器内容
字节地址
温度值低位(LSByte)
0
温度值高位(MSByte)
1
高温限值(TH)
2
低温限值(TL)
3
配置寄存器
4
保留
5
保留
6
保留
7
CRC校验值
8
根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
表4:
ROM指令表
指令
约定代码
功能
读ROM
33H
读DS1820温度传感器ROM中的编码(即64位地址)
符合ROM
55H
发出此命令之后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS1820使之作出响应,为下一步对该DS1820的读写作准备。
搜索ROM
0FOH
用于确定挂接在同一总线上DS1820的个数和识别64位ROM地址。
为操作各器件作好准备。
跳过ROM
0CCH
忽略64位ROM地址,直接向DS1820发温度变换命令。
适用于单片工作。
告警搜索命令
0ECH
执行后只有温度超过设定值上限或下限的片子才做出响应。
指令
约定代码
功能
温度变换
44H
启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。
结果存入内部9字节RAM中。
读暂存器
0BEH
读内部RAM中9字节的内容
写暂存器
4EH
发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。
复制暂存器
48H
将RAM中第3、4字节的内容复制到EEPROM中。
重调EEPROM
0B8H
将EEPROM中内容恢复到RAM中的第3、4字节。
读供电方式
0B4H
读DS1820的供电模式。
寄生供电时DS1820发送“0”,外接电源供电DS1820发送“1”。
(三)、总体方案介绍:
1.工作原理:
本设计采用AT89C52单片机作为本系统的控制模块。
单片机可把由DS18B20从而把数据传输到显示模块,实现温度的显示。
以LED数码管显示器为显示模块,把单片机传来的数据显示出来,并且显示多样化。
在显示电路中,主要靠按键来实现各种显示要求的选择与切换。
2.总体设计:
设计总体框架图如图1
三、系统硬件设计:
单片机的选择
根据系统的控制要求和以后的扩展需求,选择Atmel公司的AT89C52单片机,他的flash存储器容量为8k,有3个16位定时计数器,中断有8级,主频可达24MHZ,RMA有256个字节,32个I|O线,可编程串行口,16位地址总线,8位数据总线,完全与51产品兼容。
1.AT89C52单片机最小系统:
最小系统包括晶体振荡电路、复位开关和电源部分,振荡电路中,采用内部时钟方式,C1和C2可在5~30PF之间选择,电容的大小对振荡频率有微小的影响,可起频率微调的作用,此处选择22PF。
振荡器的频率主要取决于晶体的振荡频率,一般晶体可在1.2~12MHZ之间任选,此处采用12MHZ晶振。
复位开关中,在RST端持续给出2个机器周期的高电平就能完成复位操作,暂稳态的脉冲宽度T1,即电容C充电的时间:
T1=RCln2=0.7RC
现选R为1KΩ,C为22μF
故T1=15400μs,T1远大于2个机器周期,且大于一般复位正脉冲宽度10000μS。
故符合
图2为AT89C52单片机的最小系统。
图2最小系统电路图
2.温度测量模块:
1、系统组成
由DS18B20构成的智能温度测量装置由三部分组成:
DS18B20温度传感器、89C2051、显示模块。
产品的主要技术指标:
①测量范围:
-55℃-+125℃,②测量精度:
0.5℃,③反应时间≤500ms。
2、工作原理
基于DS18B20的温度测量装置电图如图3所示:
温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),传感器可置于离装置150米以内的任何地方,输出脚I/O直接与单片机的P3.4、P3.5相连,R3、R11为上拉电阻,传感器采用外部电源供电。
AT89C52内带8K字节的FlashROM,用户程序存放在这里。
由于DS18B20为单总线器件,为了避免单片机的驱动能力不够,采用上拉电阻增加驱动能力。
每个18B20在温度转换期间工作电流要大于1mA,所以上拉电阻产生的电流不应少于1mA,故在5V的Vcc情况下,采用4.7KΩ的电阻。
图3DS18B20测量电路
3.LED显示模块:
LED显示模块采用LED1602型号,具有很低的功耗,正常工作时电流仅2.0mA/5.0V。
通过编程实现自动关闭屏幕能够更有效的降低功耗。
LCD1602分两行显示,每行可显示多达16个字符。
LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,通过内部指令可实现对其显示多样的控制,并且还能利用空余的空间自定义字符。
其接线如图4所示,
LED显示器有两种连接方法,分别是共阳极接线法与共阴极接线法。
我们选用共阴极接线法,当阳极端输入高电平时,端发光二极管就导通点亮,反之不亮。
考虑到软件设计时以高电平作有效输出,所以在位控制端接上非门。
考虑到LED显示器的段电流为8mA左右,为避免驱动不足,接上拉电阻,在5V的Vcc下电阻选用600Ω。
图4LED显示电路
4.整体电路:
系统整体电路如图5所示:
图5系统总体电路图
四系统软件程序设计:
略详见附录1
五心得体会
时光飞逝,一转眼,一个学期又进尾声了,本学期的传感器综合课程设计也在两周内完成了
这次课设是对我的学习态度的一次检验。
对于这次单片机综合课程实习,我的第一大心得体会就是,要作为一名工程技术人员,首要素质绝对应该是实践练习。
只有多做实物才能体会到理论知识,才能了解更多细节,而对细节的掌握能体现技术人员的技术水平;在做课设前,很多知识纸上谈兵很简单,开始想的是用热敏电阻。
温度信号,产生电阻信号,通过电阻信号得到电压信号,在A|D转换送给单片机,再LED显示。
后来经李鹏老师指点选用DS18B20,精度有保证,且可以省掉不少工作,但还是未完整的做好。
第一次要做实物碰到不少棘手的问题,如发光2极管的正常工作。
做这次课设后确实收获不少,找到了很多不足,清楚了自己进步的方向。
对传感器也有了更清楚的认识,觉得传感器是人类五官的延长,可称之为电五官。
此次课设的题目自感觉难度比较大,一番努力后还是没有实现,心里很不甘,课设结束后也必将其做好。
参考文献:
[1]张毅坤陈善久裘雪红.单片微型计算机原理及应用[M].西安电子科技大学出版社.
[2]秦曾煌主编.电工学电子技术(第六版).高等教育出版社,2004
[3]XX文:
附录一
MOVA,25H
CJNEA,#00H,ROLORG0000H;
AJMPMAIN
;单片机内存分配申明!
;*************************************************
TEMPER_LEQU29H;用于保存读出温度的低8位
TEMPER_HEQU28H;用于保存读出温度的高8位
FLAG1BIT38H;是否检测到DS18B20标志位
A_BITEQU20H;数码管十位数存放内存位置
B_BITEQU21H;数码管个位数存放内存位置
C_BITEQU22H;数码管小数位数存放内存位置
PNFLAGBIT68H;数据正负标志
DQBITP3.4;0号数据脚定义
DQ1BITP3.5;1号数据脚定义
;**********************************************
;主程序
;**********************************************
ORG0020H
MAIN:
MOV25H,#00H
MOVR2,#0FFH
TEST:
MOVR3,#0FFH
TEST1:
MOVP2,#0FH
MOVP0,#0FFH
DJNZR3,TEST1
DJNZR2,TEST
MOVR1,#81H
MOV@R1,#71H
DECR1
MOV@R1,#02H
MAIN1:
LCALLRE_CONFIG
LCALLGET_TEMPER
MOV25H,#01H
LJMPSAME
ROL:
LCALLRE_CONFIG1
LCALLGET_TEMPER1
MOV25H,#00H
SAME:
LCALLT_FORMAT
LCALLDISP
AJMPMAIN1
;**********************************************
;0号DS18B20初始化程序
;**********************************************
INIT_18B20:
SETBDQ
NOP
CLRDQ
MOVR1,#2
TSR1:
MOVR0,#133
DJNZR0,$
DJNZR1,TSR1
SETBDQ
NOP
NOP
NOP
MOVR0,#25H
TSR2:
JNBDQ,TSR3
DJNZR0,TSR2
LJMPTSR4
TSR3:
SETBFLAG1;置标志位,表示DS1820存在
LJMPTSR5
TSR4:
CLRFLAG1;清标志位,表示DS1820不存在
LJMPTSR7
TSR5:
MOVR0,#120
TSR6:
DJNZR0,$;延时
TSR7:
SETBDQ
RET
;**********************************************
;0号重设RAM数据
;**********************************************
RE_CONFIG:
SETBDQ
LCALLINIT_18B20
JBFLAG1,CONFIG
RET
CONFIG:
MOVA,#0CCH
LCALLWRITE_18B20
MOVA,#4EH;发写暂存存储器命令
LCALLWRITE_18B20
MOVA,#00H;TH(报警上限)中写入00H
LCALLWRITE_18B20
MOVA,#00H;TL(报警下限)中写入00H
LCALLWRITE_18B20
MOVA,#1FH;选择9位温度分辨率
LCALLWRITE_18B20
RET
;**********************************************
;0号读出转换后的温度值
;**********************************************
GET_TEMPER:
SETBDQ
LCALLINIT_18B20
JBFLAG1,TSS2
RET;若DS18B20不存在则返回
TSS2:
MOVA,#0CCH
LCALLWRITE_18B20
MOVA,#44H;发出温度转换命令
LCALLWRITE_18B20
LCALLDISP_F
LCALLINIT_18B20
MOVA,#0CCH
LCALLWRITE_18B20
MOVA,#0BEH;发出读温度命令
LCALLWRITE_18B20
LCALLREAD_18B20
RET
;*****************************************
;0号写DS18B20的程序
;*****************************************
WRITE_18B20:
MOVR2,#8
CLRC
WR1:
CLRDQ
MOVR3,#6
DJNZR3,$
RRCA
MOVDQ,C
MOVR3,#23
DJNZR3,$
SETBDQ
NOP
DJNZR2,WR1
SETBDQ
RET
;*****************************************
;0号读DS18B20的程序,从DS18B20中读出两个字节的温度数据
;*****************************************
READ_18B20:
MOV36H,#2
MOVR1,#29H
RE0:
MOVR2,#8
RE1:
CLRC
SETBDQ
NOP
NOP
CLRDQ
NOP
NOP
NOP
SETBDQ
MOVR3,#9
DJNZR3,$
MOVC,DQ
MOVR3,#23
DJNZR3,$
RRCA
DJNZR2,RE1
MOV@R1,A
DECR1
DJNZ36,RE0
RET
;**********************************************
;1号DS18B20初始化程序
;**********************************************
INIT_18B201:
SETBDQ1
NOP
CLRDQ1
MOVR1,#2
TSR11:
MOVR0,#133
DJNZR0,$
DJNZR1,TSR11
SETBDQ1
NOP
NOP
NOP
MOVR0,#25H
TSR21:
JNBDQ1,TSR31
DJNZR0,TSR21
LJMPTSR41
TSR31:
SETBFLAG1;置标志位,表示DS1820存在
LJMPTSR51
TSR41:
CLRFLAG1;清标志位,表示DS1820不存在
LJMPTSR71
TSR51:
MOVR0,#120
TSR61:
DJNZR0,$;延时
TSR71:
SETBDQ1
RET
;**********************************************
;1号重设RAM数据
;**********************************************
RE_CONFIG1:
SET
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 余明诚 xx 温度 监控 系统 设计