《温度监控系统课程设计幻灯片.ppt》由会员分享,可在线阅读,更多相关《温度监控系统课程设计幻灯片.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、温度监控系统课程设计第1页,共20页,编辑于2022年,星期日题目及要求题目及要求1题目题目2要求要求温度检测与告警系统设计与实现温度检测与告警系统设计与实现1.完成对温度传感器完成对温度传感器DS18B20的分析的分析2.完成传感器与单片机的接口设计完成传感器与单片机的接口设计3.实现温度检测、显示、告警实现温度检测、显示、告警第2页,共20页,编辑于2022年,星期日硬件结构硬件结构第3页,共20页,编辑于2022年,星期日Temperature sensorDS18B20特点:特点:、单总线结构。单总线结构。、在在DS18B20中的每个器件上都有独一无二的序列中的每个器件上都有独一无二的
2、序列号。号。、实际应用中不需要外部任何元器件即可实现测温。实际应用中不需要外部任何元器件即可实现测温。、测量温度范围在测量温度范围在55C到到125C之间。之间。、数字温度计的分辨率用户可以从数字温度计的分辨率用户可以从9位到位到12位选择。位选择。、内部有温度上、下限告警设置。可通过报警搜内部有温度上、下限告警设置。可通过报警搜索命令识别哪片索命令识别哪片DS18B20 超越了上、下限。超越了上、下限。第4页,共20页,编辑于2022年,星期日DS18B20的引脚及封装的引脚及封装DS18B20采用采用TO92封装,外观看起来像一只三封装,外观看起来像一只三极管。极管。引脚引脚名称名称引脚功
3、能描述引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏开漏单总线接口引脚。当被用着在寄生电源时,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。Vcc单片机单片机第5页,共20页,编辑于2022年,星期日DS18B20中的高速暂存器中的高速暂存器序号序号暂存器暂存器字节地址字节地址1温度温度值值低位低位02温度温度值值高位高位13温度上限温度上限TH24温度下限温度下限TL35配置寄存器配置寄存器46reserved57reserved68reserved79CRC校校验验8 第第1、2字节为被测温度值。字节为被测温度值。第第3、4、5字节分别为字
4、节分别为TH、TL与配置寄存器的复制,每与配置寄存器的复制,每一次上电复位时被重写。配一次上电复位时被重写。配置寄存器有置寄存器有R0、R1组成,其组成,其值决定温度转换的精度位数、值决定温度转换的精度位数、转换时间等。第转换时间等。第68字节为保字节为保留字节。第留字节。第9 字节读出的是前字节读出的是前8个字节的个字节的CRC校验码,通过校验码,通过此码,可判断通讯是否正确。此码,可判断通讯是否正确。第6页,共20页,编辑于2022年,星期日 DS18B20 DS18B20中的温度值中的温度值 温度低温度低8位位D7D6D5D4D3D2D1D0温度高温度高8位位SSSSSD10D9D8温度
5、值温度值二进制二进制十六进制十六进制+550000 0011 0111 00000370H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-551111 1100 1001 0000FC90H数据格式:数据举例:第7页,共20页,编辑于2022年,星期日DS18B20DS18B20中的中的TLTL与与TH TH 用于设置低温、高温的报警数值。用于设置低温、高温
6、的报警数值。DS18B20完成一个周期完成一个周期的温度测量后,将测得的温度值和的温度测量后,将测得的温度值和TL、TH相比较,如果小于相比较,如果小于TL,或大于,或大于TH,则表示温度越限,将该器件内的告警标志位置位,则表示温度越限,将该器件内的告警标志位置位,并对主机发出的告警搜索命令作出响应。需要修改上、下限温度值并对主机发出的告警搜索命令作出响应。需要修改上、下限温度值时,只需使用一个功能命令即可对时,只需使用一个功能命令即可对TL、TH写入。写入。第8页,共20页,编辑于2022年,星期日DS18B20DS18B20中的配置寄存器中的配置寄存器0R1R011111MSBLSBR1R
7、1R0R0转换转换精度精度温度分辨率温度分辨率转换时间转换时间(MsMs)0090.593.7501100.25187.510110.12537511120.0625750配置寄存器:配置寄存器:R0、R1的设置:的设置:第9页,共20页,编辑于2022年,星期日 DS18B20DS18B20的读写操作的读写操作究竟如何使用究竟如何使用究竟如何使用究竟如何使用DS18B20?单片机单片机18B20118B20218B20N-1 在系统控制中,单片机是在系统控制中,单片机是主机。主机。DS18B20是从设备。所是从设备。所以,系统所有的操作都由单片以,系统所有的操作都由单片机发起。机发起。第10
8、页,共20页,编辑于2022年,星期日1)、)、ROM操作命令操作命令 、读命令、读命令(33H):通过该命令主机可以读出:通过该命令主机可以读出DS18B20的的ROM中的中的8位系列产品代码、位系列产品代码、48位产品序列号和位产品序列号和8位位CRC校验码。该命令仅校验码。该命令仅限于单个限于单个DS18B20在线的情况。在线的情况。、选择定位命令、选择定位命令(55H):当多片:当多片DS18B20在线时,主机发出该命在线时,主机发出该命令和一个令和一个64位数,位数,DS18B20内部内部ROM与主机一致者,才响应命令。与主机一致者,才响应命令。该命令也可用于单个该命令也可用于单个D
9、S18B20的情况。的情况。、查询命令、查询命令(0F0H):该命令可查询总线上:该命令可查询总线上DS18B20的数目的数目及其及其64位序列号。位序列号。、跳过、跳过ROM序列号检测命令序列号检测命令(OCCH):该命令允许主机跳过:该命令允许主机跳过ROM序列号检测而直接对寄存器操作,该命令仅限于单个序列号检测而直接对寄存器操作,该命令仅限于单个DS18B20在在线的情况。线的情况。、报警查询命令、报警查询命令(0ECH):只有报警标志置位后,:只有报警标志置位后,DS18B20才响应该命令。才响应该命令。在在DS18B20 ROM中存放了表明自己身份的中存放了表明自己身份的代码。代码。
10、第11页,共20页,编辑于2022年,星期日2)、寄存器操作命令)、寄存器操作命令 、写入命令、写入命令(4EH):该命令可写入寄存器的第:该命令可写入寄存器的第2、3、4字节,即高低温寄字节,即高低温寄存器和配置寄存器。复位信号发出之前,三个字节必须写完。存器和配置寄存器。复位信号发出之前,三个字节必须写完。、读出命令、读出命令(0BEH):该命令可读出寄存器中的内容,复位命令可终止:该命令可读出寄存器中的内容,复位命令可终止读出。读出。、开始转换命令、开始转换命令(44H):该命令使:该命令使DS18B20立即开始温度转换,当温度转换正立即开始温度转换,当温度转换正在进行时,主机这时读总线
11、将收到在进行时,主机这时读总线将收到0;当温度转换结束时,主机这时读总线将收到;当温度转换结束时,主机这时读总线将收到1。若用信号线给若用信号线给DS18B20供电,则主机发出转换命令后,必须提供至少相应于分辨率供电,则主机发出转换命令后,必须提供至少相应于分辨率的温度转换时间的上拉电平。的温度转换时间的上拉电平。、回调命令、回调命令(088H):该命令把:该命令把EEROM中的内容写到寄存器中的内容写到寄存器TH、TL 及配置及配置寄存器中。寄存器中。DS18B20上电时能自动写入。上电时能自动写入。、复制命令、复制命令(48H):该命令把寄存器:该命令把寄存器TH、TL及配置寄存器中的内容
12、写到及配置寄存器中的内容写到EEROM中。中。、读电源标志命令、读电源标志命令(084H):主机:主机 发出该命令后,发出该命令后,DS18B2将进行响应,将进行响应,发送电源标志,信号线供电发发送电源标志,信号线供电发0,外接电源发,外接电源发1。系统如果有多个系统如果有多个DS18B20存在,如果只对存在,如果只对某某DS18B20寄存器操作,必须在确认了寄存器操作,必须在确认了DS18B20 身份后,才能进行。身份后,才能进行。第12页,共20页,编辑于2022年,星期日DS18B20的使用方法的使用方法nDS18B20的复位时序的复位时序nDS18B20的读时序的读时序nDS18B20
13、的写时序的写时序 DS18B20是在单片机指使下进行各种操作的。这些命令如是在单片机指使下进行各种操作的。这些命令如何传递个何传递个DS18B20?我们必须掌握下述?我们必须掌握下述3个时序:个时序:第13页,共20页,编辑于2022年,星期日1)、)、DS18B20的初始化时序的初始化时序 总线上的所有操作都从初始化开始,总线上的所有操作都从初始化开始,对对DS18B20操作之前,首先要将其初始化。操作之前,首先要将其初始化。复位时序为:复位时序为:、主机首先将信号线置为低电平,时间为、主机首先将信号线置为低电平,时间为480960S。、主机再将信号线置为高电平(或称释放总线),时间为、主机
14、再将信号线置为高电平(或称释放总线),时间为1560 S,准备接收,准备接收DS18B20应答。应答。、之后,、之后,DS18B20发出发出60240S 的低电平作为应答信号。证实自己的存的低电平作为应答信号。证实自己的存在。主机收到此信号后,才能对在。主机收到此信号后,才能对DS18B20作其它操作。如果单片机读不到低电平,作其它操作。如果单片机读不到低电平,则说明则说明DS18B20不存在,或故障。不存在,或故障。第14页,共20页,编辑于2022年,星期日;-DS18B20初始化程序初始化程序-rst18b20:SETB P3.3NOPCLR P3.3MOV R0,#200dsr1:NO
15、PDJNZ R0,dsr1;延时延时600uSSETB P3.3;单片机释放总线,将总线交给单片机释放总线,将总线交给DS18B20MOV R0,#0dsr2:JNB P3.3,reply;等待等待DS18B20响应响应DJNZ R0,dsr2;计时计时LJMP no_reply;超时(已过超时(已过60 uS),没有响应),没有响应reply:JB P3.3,reply;等待等待DS18B20释放总线释放总线SETB F0;置标志位,表示置标志位,表示DS18B20存在存在LJMP dsr5no_reply:CLR F0;清标志位,表示清标志位,表示DS18B20不存在不存在dsr5:SET
16、B P3.3;总线复位总线复位RET第15页,共20页,编辑于2022年,星期日2)、)、DS18B20的读时序的读时序 主机将信号线从高电平拉低至低电平主机将信号线从高电平拉低至低电平1S以上,再使数据线升为高以上,再使数据线升为高电平,向电平,向DS18B20表示要读操作。从主机将信号线从高电平拉表示要读操作。从主机将信号线从高电平拉低至低电平起低至低电平起1560 S的时间内,的时间内,DS18B20将数据放到信号线将数据放到信号线上,这期间,是主机读取上,这期间,是主机读取DS18B20数据的时间。从而完成了一个数据的时间。从而完成了一个读周期。在开始另一个读周期前,必须有读周期。在开
17、始另一个读周期前,必须有1S以上的高电平恢复期。以上的高电平恢复期。第16页,共20页,编辑于2022年,星期日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:DJ
18、NZ R3,rd20;延时延时46uS,消耗读周期的剩余时间,消耗读周期的剩余时间RRC A;读入的数据比特移入读入的数据比特移入A第17页,共20页,编辑于2022年,星期日3)、)、DS18B20的写时序的写时序主机将信号线从高电平拉至低电平主机将信号线从高电平拉至低电平1S以上,产生写起始信号。以上,产生写起始信号。1S之之后单片机就可以将输出数据放在总线上。从信号线的下降沿开始,在后单片机就可以将输出数据放在总线上。从信号线的下降沿开始,在1560S的时间内的时间内DS18B20对信号线检测,如信号线为高电平,则对信号线检测,如信号线为高电平,则写写1,如信号线为,如信号线为0,则写,
19、则写0,从而完成了一个写周期。在开始另,从而完成了一个写周期。在开始另一个写周期前,必须有一个写周期前,必须有1S以上的高电平恢复期。以上的高电平恢复期。写写“0”写写“1”第18页,共20页,编辑于2022年,星期日2、温度显示器及接口、温度显示器及接口 显示可采用静态的显示可采用静态的5位数码管显示器。这样尽管硬件位数码管显示器。这样尽管硬件电路稍微复杂,但程序控制简单。电路稍微复杂,但程序控制简单。三位整数,一位小数,最高位显示温度符号。零三位整数,一位小数,最高位显示温度符号。零上,此位不显示。上,此位不显示。零下,显示负号零下,显示负号锁存锁存锁存锁存8 8位数据位数据S1S1S2S2锁存锁存S2S2锁存锁存S2S2锁存锁存S2S2第19页,共20页,编辑于2022年,星期日3、高温告警及接口电路、高温告警及接口电路 高温告警,采用打开蜂鸣器告警均可。高温告警,采用打开蜂鸣器告警均可。蜂鸣器蜂鸣器LED发光二极管发光二极管第20页,共20页,编辑于2022年,星期日
限制150内