温度监控系统课程设计.ppt

上传人:牧羊曲112 文档编号:6228450 上传时间:2023-10-07 格式:PPT 页数:20 大小:288.50KB
返回 下载 相关 举报
温度监控系统课程设计.ppt_第1页
第1页 / 共20页
温度监控系统课程设计.ppt_第2页
第2页 / 共20页
温度监控系统课程设计.ppt_第3页
第3页 / 共20页
温度监控系统课程设计.ppt_第4页
第4页 / 共20页
温度监控系统课程设计.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

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

1、课程设计,单片机原理与应用,题目及要求,题目要求,温度检测与告警系统设计与实现,完成对温度传感器DS18B20的分析完成传感器与单片机的接口设计实现温度检测、显示、告警,硬件结构,Temperature sensor,DS18B20特点:、单总线结构。、在DS18B20中的每个器件上都有独一无二的序列号。、实际应用中不需要外部任何元器件即可实现测温。、测量温度范围在55C到125C之间。、数字温度计的分辨率用户可以从9位到12位选择。、内部有温度上、下限告警设置。可通过报警搜索命令识别哪片DS18B20 超越了上、下限。,DS18B20的引脚及封装,DS18B20采用TO92封装,外观看起来像

2、一只三极管。,Vcc,单片机,DS18B20中的高速暂存器,第1、2字节为被测温度值。第3、4、5字节分别为TH、TL与配置寄存器的复制,每一次上电复位时被重写。配置寄存器有R0、R1组成,其值决定温度转换的精度位数、转换时间等。第68字节为保留字节。第9 字节读出的是前8个字节的CRC校验码,通过此码,可判断通讯是否正确。,DS18B20中的温度值,数据格式:,数据举例:,DS18B20中的TL与TH,用于设置低温、高温的报警数值。DS18B20完成一个周期的温度测量后,将测得的温度值和TL、TH相比较,如果小于TL,或大于TH,则表示温度越限,将该器件内的告警标志位置位,并对主机发出的告警

3、搜索命令作出响应。需要修改上、下限温度值时,只需使用一个功能命令即可对TL、TH写入。,DS18B20中的配置寄存器,配置寄存器:,R0、R1的设置:,DS18B20的读写操作,究竟如何使用DS18B20?,单片机,18B201,18B202,18B20N-1,在系统控制中,单片机是主机。DS18B20是从设备。所以,系统所有的操作都由单片机发起。,1)、ROM操作命令,、读命令(33H):通过该命令主机可以读出DS18B20的ROM中的8位系列产品代码、48位产品序列号和8位CRC校验码。该命令仅限于单个DS18B20在线的情况。、选择定位命令(55H):当多片DS18B20在线时,主机发出

4、该命令和一个64位数,DS18B20内部ROM与主机一致者,才响应命令。该命令也可用于单个DS18B20的情况。、查询命令(0F0H):该命令可查询总线上DS18B20的数目及其64位序列号。、跳过ROM序列号检测命令(OCCH):该命令允许主机跳过ROM序列号检测而直接对寄存器操作,该命令仅限于单个DS18B20在线的情况。、报警查询命令(0ECH):只有报警标志置位后,DS18B20才响应该命令。,在DS18B20 ROM中存放了表明自己身份的代码。,2)、寄存器操作命令,、写入命令(4EH):该命令可写入寄存器的第2、3、4字节,即高低温寄存器和配置寄存器。复位信号发出之前,三个字节必须

5、写完。、读出命令(0BEH):该命令可读出寄存器中的内容,复位命令可终止读出。、开始转换命令(44H):该命令使DS18B20立即开始温度转换,当温度转换正在进行时,主机这时读总线将收到0;当温度转换结束时,主机这时读总线将收到1。若用信号线给DS18B20供电,则主机发出转换命令后,必须提供至少相应于分辨率的温度转换时间的上拉电平。、回调命令(088H):该命令把EEROM中的内容写到寄存器TH、TL 及配置寄存器中。DS18B20上电时能自动写入。、复制命令(48H):该命令把寄存器TH、TL及配置寄存器中的内容写到EEROM中。、读电源标志命令(084H):主机 发出该命令后,DS18B

6、2将进行响应,发送电源标志,信号线供电发0,外接电源发1。,系统如果有多个DS18B20存在,如果只对某DS18B20寄存器操作,必须在确认了DS18B20 身份后,才能进行。,DS18B20的使用方法,DS18B20的复位时序DS18B20的读时序DS18B20的写时序,DS18B20是在单片机指使下进行各种操作的。这些命令如何传递个DS18B20?我们必须掌握下述3个时序:,1)、DS18B20的初始化时序,总线上的所有操作都从初始化开始,对DS18B20操作之前,首先要将其初始化。复位时序为:、主机首先将信号线置为低电平,时间为480960S。、主机再将信号线置为高电平(或称释放总线),

7、时间为1560 S,准备接收DS18B20应答。、之后,DS18B20发出60240S 的低电平作为应答信号。证实自己的存在。主机收到此信号后,才能对DS18B20作其它操作。如果单片机读不到低电平,则说明DS18B20不存在,或故障。,;-DS18B20初始化程序-rst18b20:SETB P3.3NOPCLR P3.3MOV R0,#200dsr1:NOPDJNZ R0,dsr1;延时600uSSETB P3.3;单片机释放总线,将总线交给DS18B20MOV R0,#0dsr2:JNB P3.3,reply;等待DS18B20响应DJNZ R0,dsr2;计时LJMP no_reply

8、;超时(已过60 uS),没有响应reply:JB P3.3,reply;等待DS18B20释放总线SETB F0;置标志位,表示DS18B20存在LJMP dsr5no_reply:CLR F0;清标志位,表示DS18B20不存在dsr5:SETB P3.3;总线复位RET,2)、DS18B20的读时序,主机将信号线从高电平拉低至低电平1S以上,再使数据线升为高电平,向DS18B20表示要读操作。从主机将信号线从高电平拉低至低电平起1560 S的时间内,DS18B20将数据放到信号线上,这期间,是主机读取DS18B20数据的时间。从而完成了一个读周期。在开始另一个读周期前,必须有1S以上的高

9、电平恢复期。,rd01:CLR C;清数据缓冲SETB P3.4;在第二次进入时1S以上的高电平恢复NOP NOPCLR P3.4;启动读DS18B20操作,时序要求低1S以上NOPNOPNOPSETB P3.4;单片机释放总线,准备接收DS18B20数据MOV R3,#9;1Srd10:DJNZ R3,rd10;18S左右MOV C,P3.4;读DS18B20位MOV R3,#23rd20:DJNZ R3,rd20;延时46uS,消耗读周期的剩余时间RRC A;读入的数据比特移入A,3)、DS18B20的写时序,主机将信号线从高电平拉至低电平1S以上,产生写起始信号。1S之后单片机就可以将输出数据放在总线上。从信号线的下降沿开始,在1560S的时间内DS18B20对信号线检测,如信号线为高电平,则写1,如信号线为0,则写0,从而完成了一个写周期。在开始另一个写周期前,必须有1S以上的高电平恢复期。,写“0”,写“1”,2、温度显示器及接口,显示可采用静态的5位数码管显示器。这样尽管硬件电路稍微复杂,但程序控制简单。三位整数,一位小数,最高位显示温度符号。零上,此位不显示。零下,显示负号,锁存,锁存,8位数据,S1,S2,锁存,S2,锁存,S2,锁存,S2,3、高温告警及接口电路,高温告警,采用打开蜂鸣器告警均可。,蜂鸣器,LED发光二极管,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号