项目十8路温度采集监控系统

上传人:lisu****2020 文档编号:245365438 上传时间:2024-10-08 格式:PPT 页数:34 大小:289.60KB
返回 下载 相关 举报
项目十8路温度采集监控系统_第1页
第1页 / 共34页
项目十8路温度采集监控系统_第2页
第2页 / 共34页
项目十8路温度采集监控系统_第3页
第3页 / 共34页
点击查看更多>>
资源描述
按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,单片机应用技术项目教程(,C,语言版),计算机科学系,项目十,8,路温度采集监控系统,项目十,8,路温度采集监控系统,计算机控制项目实战,项目十,8,路温度采集监控系统,终极目标,:,能利用,AT89S52,单片机及,DS18B20,单线数字传感器,通过,C,语言程序实现,8,路温度采集监控,完成单片机输入输出控制系统的设计、运行及调试。,促成目标,:,了解,DS18B20,内部结构;,掌握,DS18B20,工作步骤;,掌握,DS18B20,的通讯协议;,会利用,I/O,口进行键盘、显示以及温度采集电路设计;,会利用,ROM,操作命令和存储器操作命令实现温度采集。,DS18B20,温度传感器,温度测量与控制技术在工业、农业、国防等行业有着广泛的应用。,DS18B20,单线数字温度传感器因测量精度高电路简单,价格低廉而被广泛使用。,每片,DS18B20,都有唯一的产品序列号并存储在内部,ROM,中,以便在构成大型温度测控系统时在单线上挂接任意多个,DS18B20,芯片,为测量系统的构建引入全新概念。,DS18B20,引脚功能,DS18B20,通过一个单线接口发送或接收信息,因此在单片机和,DS18B20,之间仅需一条连接线(加上地线)。,引脚,符号,说明,1,GND,接地,2,DQ,数据输入,/,输出脚,3,VDD,可选的,VDD,引脚,DS18B20,供电方式,寄生电源方式,是在信号线处于高电平期间把能量储存在内部寄生电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。,外部供电方式,外部供电方式是从,VDD,引脚接入一个外部电源。,DS18B20,内部结构及功能,主要包括:,寄生电源、温度传感器、,64,位,ROM,和单总线接口、存放中间数据的高速暂存器,RAM,、用于存储用户设定温度上下限值的,TH,和,TL,触发器、存储与控制逻辑、,8,位循环冗余校验码(,CRC,)产生器、配置寄存器等部分。,64,位光刻,ROM,光刻,ROM,中的,64,位序列号是出厂前被光刻好的,它可以看作是该,DS18B20,的地址序列码。,64,位光刻,ROM,的排列是:,开始,8,位(,28H,)是产品类型标号;,接着的,48,位是该,DS18B20,自身的序列号;,最后,8,位是前面,56,位的循环冗余校验码。,光刻,ROM,的作用是使每一个,DS18B20,都各不相同,这样就可以实现一根总线上挂接多个,DS18B20,的目的。,温度传感器,完成对温度的测量,以,12,位转化为例:,用,16,位符号扩展的二进制补码读数形式提供;,这是,12,位转化后得到的,12,位数据,存储在两个,8,比特的,RAM,中,二进制中的前面,5,位是符号位。,如果测得的温度大于,0,,这,5,位为,0,,只要将测到的数值乘于,0.0625,即可得到实际温度;,如果温度小于,0,,这,5,位为,1,,测到的数值需要取反加,1,再乘于,0.0625,即可得到实际温度。,温度,/,数据转换关系,温度,数据输出(二进制),数据输出(十六进制),+125,0000 0111 1101 0000,07D0h,+85,0000 0101,0101,0000,0550h,+25.0625,0000 0001 1001 0001,0191h,+10.125,0000,0000,1010 0010,00A2h,+0.5,0000,0000,0000,1000,0008h,0,0000,0000,0000,0000,0000h,-0.5,1111,1111,1111,1000,FFF8h,-10.125,1111,1111,0101 1110,FF5Eh,-25.0625,1111 1110 0110 1111,FE6Fh,-55,1111 1100 1001 0000,FC90h,存储器,暂存存储器包含了,8,个连续字节,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。,第三个和第四个字节是,TH,、,TL,的易失性拷贝,第五个字节是配置寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。,第六、七、八个字节用于内部计算。,第九个字节是冗余检验字节。,一个非易失性的可电擦除的,EEPROM,,后者存放高温度和低温度触发器,TH,、,TL,和配置寄存器。,配置寄存器,配置寄存器字节各位的意义如下:,低五位一直都是,1,。,TM,用于设置,DS18B20,在工作模式还是在测试模式。出厂时该位被设置为,0,,用户不要去改动。,R1,和,R0,用来设置分辨率,出厂时被设置为,12,位。,R1,R0,分辨率,温度最大转换时间,0,0,9,位,93.75ms,0,1,10,位,187.5ms,1,0,11,位,375ms,1,1,12,位,750ms,DS18B20,通讯协议,通过单线总线端口访问,DS18B20,的协议主要包括,初始化;,ROM,操作命令;,存储器操作命令及执行,/,数据。,初始化,和,DS18B20,之间的任何通讯都需要以初始化序列开始。,初始化序列包括一个由总线控制器发出的,复位脉冲,和跟有其后由从机发出的,存在脉冲,。,DS18B20,初始化代码如下:,void Init_DS18B20(void),DQ=1;/DQ,复位,Delay(8);/,稍做延时,DQ=0;/,单片机将,DQ,拉低,Delay(80);/,精确延时大于,480us,DQ=1;/,拉高总线,释放总线,Delay(14);,Delay(20);,ROM,操作命令,一旦总线控制器探测到一个,存在脉冲,,它就可以发出,5,个,ROM,命令中的任一个,所有,ROM,操作命令都,8,位长度。,Read ROM33h,这个命令允许总线控制器读到,DS18B20,的,8,位系列编码、唯一的序列号和,8,位,CRC,码。,只有在总线上存在单只,DS18B20,的时候才能使用这个命令。如果总上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突(漏极开路连在一起开成相与的效果)。,Match ROM55h,匹配,ROM,命令,后跟,64,位,ROM,序列,让总线控制器在多点总线上定位一只特定的,DS18B20,。,只有和,64,位,ROM,序列完全匹配的,DS18B20,才能响应随后的存储器操作命令。所有和,64,位,ROM,序列不匹配的从机都将等待复位脉冲。,这条命令在总线上有单个或多个器件时都可以使用。,Skip,ROMCCh,这条命令允许总线控制器不用提供,64,位,ROM,编码就使用存储器操作命令,在单点总线情况下用以节省时间。,例如:向,DS18B20,写一个,dat,=,0 xCC,字节,跳过读序列号的操作,代码如下:,void,WriteOneChar(unsigned,char,dat,),unsigned char i=0;,for(i=8;i0;i-),DQ=0;,DQ=dat&0 x01,;/,先写低位,Delay(5);,DQ=1;,dat,=1;,Search ROMF0h,当一个系统初次启动时,总线控制器可能并不知道单线总线上有多少器件或它们的,64,位,ROM,编码。,搜索,ROM,命令允许总线控制器用排除法识别总线上的所有从机的,64,位编码。,Alarm,SearchECh,这条命令和,Search ROM,相同,只有在最近一次测温后遇到符合报警条件的情况,,DS18B20,才会响应这条命令。,报警条件定义为温度高于,TH,或低于,TL,。,只要,DS18B20,不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。,存储器操作命令,Write Scratchpad4E,这个命令向,DS18B20,的暂存器中写入数据,开始位置在地址,2,。,接下来写入的两个字节将被存到暂存器中的地址位置,2,和,3,。,可以在任何时刻发出复位命令来中止写入。,存储器操作命令,Read,ScratchpadBEh,这个命令读取暂存器的内容。,读取将从字节,0,开始,一直进行下去,直到第,9,(字节,8,,,CRC,)字节读完。,如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。,例如:读取温度转换结果步骤如下:,发读取暂存器命令,代码与实现跳过读序列号操作代码一样;,WriteOneChar(0 xBE);,读取温度转换结果的低,8,位,a=,ReadOneChar,();,读取温度转换结果的高,8,位,b=,ReadOneChar,();,ReadOneChar,(),函数,unsigned char,ReadOneChar(void,),/,读一个字节,unsigned char i=0;,unsigned char,dat,=0;,for(i=8;i0;i-),DQ=0;,/,给脉冲信号,dat,=1;,DQ=1;,/,给脉冲信号,if(DQ_7),dat,|=0 x80;,Delay(4);,return(dat,);,存储器操作命令,Copy Scratchpad48h,这条命令把暂存器的内容拷贝到,DS18B20,的,EEPROM,里,即把温度报警触发字节存入非易失性存储器里。,存储器操作命令,Convert T44h,这条命令启动一次温度转换而无需其他数据。,温度转换命令被执行,而后,DS18B20,保持等待状态。,如果总线控制器在这条命令之后跟着发出读时间隙,而,DS18B20,又忙于做时间转换的话,,DS18B20,将在总线上输出,“,0,”,,若温度转换完成,则输出,“,1,”,。,例如:向,DS18B20,写一个字节,0 x44,,就可以启动,DS18B20,进行温度转换,代码与实现跳过读序列号操作代码一样。,存储器操作命令,Recall EEPROMB8h,这条命令把报警触发器里的值拷回暂存器。,这种拷回操作在,DS18B20,上电时自动执行,这样器件一上电暂存器里马上就存在有效的数据了。,若在这条命令发出之后发出读时间隙,器件会输出温度转换忙的标识:,“,0,”,=,忙,,“,1,”,=,完成。,存储器操作命令,Read Power SupplyB4h,若把这条命令发给,DS18B20,后发出读时间隙,器件会返回它的电源模式:,“,0,”,=,寄生电源,,“,1,”,=,外部电源。,工作模块,258,路温度采集监控电路设计,利用,AT89S52,单片机及,DS18B20,单线数字传感器,设计一个,8,路温度采集监控电路。,此电路由,AT89S52,单片机最小系统、,8,路,DS18B20,温度采集、,3,个独立按键键盘以及,6,个数码管动态扫描显示构成。,I/O,口分配:,8,路,DS18B20,温度采集接,P2,口;,3,个独立按键键盘接,P3,口;,6,个数码管动态扫描显示接,P0,口和,P1,口。,温度采集电路设计,DQ,引脚电路,把,8,个,DS18B20,的,DQ,引脚分别接到,P2,口的,8,个引脚,;,DQ,引脚还需要接上拉电阻,4.7k,和电源。,供电方式选择,为了提高温度测量速度,选择外部供电方式。,在,VDD,引脚接入一个外部电源,,GND,引脚接地,,GND,引脚不能悬空。,监控电路设计,键盘电路设计,8,路温度采集监控系统有两种工作模式。,用,MODE,按键进行工作模式切换,在手动模式下按,UP,键通道加,1,,按,DOWN,键通道减,1,。,这,3,个按键分别接到,P3,口的,P3.0,、,P3.1,和,P3.2,引脚。,显示电路设计,数码管动态扫描显示电路由,6,个共阴极数码管、,74 LS 245,及电阻组成。,P0,口输出显示段码,经由一片,74LS245,驱动输出给数码管,,P1,口输出位码(片选)。,8,路温度采集监控电路设计与实现,工作模块,26 8,路温度采集监控程序设计,工作任务,对,8,路温度采集监控系统进行程序设计,循环采集监控八个通道的温
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!