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