结课论文(机电)测控升本基于ds1820的振动箱体温度检测仪的设计.doc

上传人:文库蛋蛋多 文档编号:2929727 上传时间:2023-03-03 格式:DOC 页数:23 大小:242.50KB
返回 下载 相关 举报
结课论文(机电)测控升本基于ds1820的振动箱体温度检测仪的设计.doc_第1页
第1页 / 共23页
结课论文(机电)测控升本基于ds1820的振动箱体温度检测仪的设计.doc_第2页
第2页 / 共23页
结课论文(机电)测控升本基于ds1820的振动箱体温度检测仪的设计.doc_第3页
第3页 / 共23页
结课论文(机电)测控升本基于ds1820的振动箱体温度检测仪的设计.doc_第4页
第4页 / 共23页
结课论文(机电)测控升本基于ds1820的振动箱体温度检测仪的设计.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《结课论文(机电)测控升本基于ds1820的振动箱体温度检测仪的设计.doc》由会员分享,可在线阅读,更多相关《结课论文(机电)测控升本基于ds1820的振动箱体温度检测仪的设计.doc(23页珍藏版)》请在三一办公上搜索。

1、 天津农学院结 课 论 文 题目: 基于ds1820的振动箱体温度检测仪的设计 学生姓名 系 别 机电工程系 专业班级 10级测控专业升本班 任课教师 成绩评定 2011年11月目录 1前言2 2 DS18B2相关介绍3 2.1 DS18B20内部结构3 2.2 DS18B20的测温原理6 2.3 DS18B20的的性能特点7 2.4 DS18B20与单片机的典型接口设计7 3 LCD显示电路8 4.1 DS18B20测温设计方案一12 4.2 DS18B20测温设计方案二125.数码管显示和液晶显示的利弊13致谢 14参考文献15附录1 系统电路原理图16附录2 源程序 161前言 DS18

2、B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 Digital temperature sensor DS18B20 convenient wiring, package can be used in many occasions, suc

3、h as pipeline type, screw type, magnetic adsorption, stainless steel package type, diverse models, LTM8877, LTM8874 etc. Mainly according to the different applications without changing its appearance. After packaging the DS18B20 can be used for cable temperature measurement, temperature measurement

4、of blast furnace circulating water, boiler temperature, room temperature, agricultural greenhouse temperature, clean room temperature, ammunition and other kinds of extreme temperature measurement occasions. Wear resistant touch, small volume, convenient use, package diversity, applicable to various

5、 small space equipment digital temperature measurement and control field. 2 DS18B2相关介绍2.1 DS18B20的内部结构:DS18B20内部结构主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图3.3所示。DS18B20的外形级封装如图3.4,引脚说明:l NC 空引脚,不连接外部信号。l VDD 电源引脚,电压范围3.0-5.5V。l GND 接地引脚。l DQ 数据引脚,传递数据的输入和输出。该

6、引脚常态下为开漏输出,输出高电平。 DS18B20有4个主要的数据部件: (1)64位EOM。64位ROM是厂家用激光刻录一个64位二进制ROM代码,是该芯片的标志号。如下表所示。表3.38bit检验CRC48bit序列号8bit工厂代码(10H)MSB LSB MSB LSB MSB LSB 8位分类编号表示产品分类编号,DS18B20的分类号为10H;48号序列是一个大于281000000000000的十进制编码,作为该芯片的唯一标志代码;8位循环冗余检验为前56位的CRC循环冗余效验码。由于每个芯片的64位ROM代码不同,因此在单总线上能够并挂多个DS18B20进行多点温度测量实时监测。

7、(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0232221202-12-22-32-4 LS Byte bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8SSSSS262524 MS Byte这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625

8、即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。 DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 TMR1R011111 配置寄存器 五位一直都是“1”,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用

9、户不要去改动。R1和R0用来设置温度分辨率,DS18B20温度传感器的温度分辨率越高,温度最大转换时间也随之增大。R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms表3.6说明了R1和R0所对应的温度分辨率的选择和所需要的温度最大转换时间。高速暂存存储器由9个字节组成,其分配如表3.7所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原

10、码,再计算十进制值。第九个字节是冗余检验字节。寄存器内容字节地址温度值低位(LS Byte)0温度值高位(MS Byte)1高位限值(TH)2低位限值(TL)3配置寄存器4保留5保留6保留7CRC校验值8根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的低脉冲,主CPU收到此信号表示复位成功。DS1

11、8B20通过ROM和RAM指令控制各个流程的进行,表3.8列出了各个ROM的指令、预定代码及其功能。指 令约定代码功能读ROM33H读DS1820温度传感器ROM中的编码(即64位地址)符合 ROM55H发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之做出响应,为下一步对该 DS1820 的读写做准备。搜索 ROM0FOH用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。告警搜索命令0ECH执

12、行后只有温度超过设定值上限或下限的片子才做出响应。表3.8 ROM指令表表3.9列出了DS18B20的各条RAM指令、约定代码及其功能。其中包括温度转换、读暂存器、写暂存器、读供电方式和重调EEPROM。指 令约定代码功 能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读RAM中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将RAM中第3 、4字节的内容复制到EEPROM中。重调 EEPROM0B8H将EEPROM中

13、内容恢复到RAM中的第3 、4字节。读供电方式0B4H读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。表3.9 RANM指令表2.2 DS18B20的测温原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图3.5所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一

14、个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3.5中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。2.3 DS18B20的性能特点:(1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供;(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向

15、通讯;(3)DS18B20具有多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;(5)温范围55125,在-10+85时精度为0.5;(6) 可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温;(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极

16、强的抗干扰纠错能力;(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作;(10)应用范围包括恒温控制、工业系统、消费类产品、温度计或任何热敏系统。2.4 DS18B20与单片机的典型接口设计DS18B20与单片机的连接如图3.6所示,由于DS18B20的数据线要求空闲状态为高电平,所以在DS18B20的数据线与电源线VCC之间加了一个4.7K的上拉电阻,如果不想接上拉电阻的话,可以使能P3.0口的内部上拉功能。从图中可以看出,本例使用的是给DS18B20外接电源的方式。在由DS18B20构成的单总线系统中,DS18B20只能作为从机,单片机或者其它部件作为主机。根据DS18B

17、20的通信协议,主机控制DS18B20完成一次温度转换必须经过3个步骤:一)、每次读写之前都要对DS18B20进行复位操作;二)、复位成功后发送一条ROM指令; 三)、最后发送RAM指令,这样才能够对DS18B20进行正确的操作。DS18B20的数据线DQ连到单片机的P3.0口。单片机通过控制P3.0口实现对DS18B20的操作,然后将读出的温度值通过串口发送到计算机。 3 LCD显示电路显示电路选择液晶显示屏LCD6102,1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。(1

18、)1602LCD主要技术参数显示容量为162个字符;芯片工作电压为4.55.5V;工作电流为2.0mA(5.0V);模块最佳工作电压为5.0V;字符尺寸为2.954.35(WH)mm。其引脚说明如表3.10,寄存器选择与控制编码如表3.11 表3.10 1602字符型LCD显示器管脚功能引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电

19、平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、 双向数据总线 0位(最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光 电源负极表3.11 寄存器选择控制编码 RSR/W操作说明00写入指令寄存器(清除

20、屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据1602液晶显示模块内部的字符发生存储器(CGROM)中已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,就可以在显示屏上看到字母“A”。 1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。 (2)控制器接

21、口说明基本操作时序见表3.12 表3.12 基本操作时序读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无对此液晶操作主要有以下几种方法:写命令(包括但不限于初始化、调节显示位置、清除显示)写数据 (把一个字符的ASC 码写入液晶使其显示)读忙信号(液晶乃低速设备,每次操作前应该测试忙信号,确定其不忙时再操作)(3)1602LCD的指令码(命令码)此液晶上电的时候需要初始化 典型的指令码是38H,也就是

22、上电的时候需要调用函数void write_cmd(unsigned char command)写指令码,即write_cmd(0x38);执行完这个函数可以把液晶初始化成16x2 显示5x7 的点阵8 位总线接口。此液晶支持的指令码如表3.13所示,控制液晶是否显示,光标是否显示,光标是否闪烁的指令如表3.14所示,控制写字符,光标或屏幕移动方向的指令如表3.15所示,移动光标的指令如表3.16所示。 表3.13 指令码说明 指令码功能00001DCBD=1 开显示;D=0 关显示C=1 显示光标;C=0 不显示光标B=1 光标闪烁;B=0 光标不显示000001NSN=1 当读或写一个字符

23、后地址指针加一,且光标加一N=0 当读或写一个字符后地址指针减一,且光标减一S=1 当写一个字符,整屏显示左移(N=1) 或右移(N=0),以得到光标不移动而屏幕移动的效果。S=1 当写一个字符,整屏显示不移动表3.14 控制液晶显示指令码0000100008H关液晶显示 光标不闪烁 不显示光标位置0000100109H关液晶显示 光标不闪烁 显示光标位置000010100AH关液晶显示 光标不闪烁 不显示光标位置000010110BH关液晶显示 光标不闪烁 显示光标位置000011000CH开液晶显示 光标不闪烁 不显示光标位置000011010DH开液晶显示 光标不闪烁 显示光标位置000

24、011100EH开液晶显示 光标不闪烁 不显示光标位置000011110FH开液晶显示 光标不闪烁 显示光标位置表3.15 写完字符、光标或屏幕移动方向指令码指令码功能80H+地址码(0-27H,40H-67H)设置数据地址指针表3.16 移动光标指令码这是虚拟的液晶显示图 表示2 行16 列显示 方框中的数字表示当前位置的指针80H81H82H83H84H85H86H87H88H89H8AH8BH8CH8DH8EH8FHC0HC1HC2HC3HC4HC5HC6HC7HC8HC9HCAHCBHCCHCDHCEHCFH指令码功能01H显示清屏:1.数据指针清零 2.所有显示清零02H显示回车:1

25、数据指针清零4.1 DS18B20测温设计方案一(普通传感器+AD转换器)全数字温度采集是由温度传感器、调理电路、A/D转换器及数显等电路模块构成的测量系统。图2.1 测量电路本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度值显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。传统的A/D转换器大多采用积分式或逐次比较式转换技术,其噪声容限低,抑制混叠噪声及量化噪声的能力比较差。4.2 DS18B20测温设计方案二(温度传感器DS18B20)进而考虑到用温度

26、传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,可以采用一只温度传感器DS18B20,此传感器采用三线制与单片机相连,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求,具有低成本和易使用的特点。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。全数字温度采集系统总体电路结构框图如图2.2所示。STC89C52单片机DS18B20温度传感器RESPACK-8显示电路单片机复位时钟振荡 设计要求及功能 测量温度范围:(1)-10+85,精度:1;

27、(2)LCD液晶屏显示;5.数码管显示和液晶显示的利弊 液晶显示材料具有明显的优点:驱动电压低、功耗微小、可靠性高、显示信息量大、无闪烁、对人体无危害、生产过程自动化、成本低廉、可以制成各种规格和类型的液晶显示器,便于携带等。但是需要有背光照明,且可视角度有限制。 1602采用并口传输,速度快。数码管,没有驱动要加CD4511等外加电路。1602内部集成有显示芯片,可以识别英文字母、阿拉伯数字,优点:亮度高,显示大。驱动部份的软件简单。 发光二极管响应速度可以达到纳秒级,也可以用作显示,比如点阵,但是分辨率稍低于液晶材料。因为其功率较大,可以用于照明,大量发光二极管用作照明时,要做好散热设计。

28、 数码管实际就是做成了具体显示形式的发光二极管,可以显示某些预先设置的图像,显示成本低于发光二极管点阵,但是显示内容基本固定。数码管显示内容单一,液晶则比较丰富;数码管一般就是一个7段的8字,液晶可以显示各种内容。数码管是自发光的,液晶是靠背光(环境)的。数码管是LED发光的效果,液晶是分子偏转引起的暗影效果。数码管比液晶耗电。 致 谢此论文是在赵金才老师的细心指导下完成的。老师精湛专业知识,精益求精的工作作风,严谨的治学态度,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了做一个项目的

29、基本流程。本论文从选题到完成,每一步都是在导师的悉心指导下完成的,倾注了老师大量的心血。在此,谨向导师表示崇高的敬意和衷心的感谢!另外,我还要特别感谢同学们对我论文写作的指导,他们为我完成这篇论文提供了巨大的帮助。参考文献1 刘少强,张靖.传感器设计与应用实例.人民邮电出版社,2006年6月1日.265270。2 金发庆.传感器技术与应用(第二版).机械工业出版社,2004年8月1日.175186。3 沙占友王晓君马洪涛等.智能化集成温度传感器原理与应用.4 倪志莲.单片机应用技术.北京理工大学,2007年.7485。5 刘畅生,于建国,张昌民.传感器简明手册及应用电路.西安:西安电子科技大学

30、出版社,2009年6月.4456。 机械工业出版社,2002年7月1日.125127。6 吴飞青,丁晓,李林功.单片机原理与实践应用指导.机械工业出版社, 2009年2月.167175。7 赵负图.现代传感器集成电路.人民邮电出版社,2000年1月1日. 6876。8 侯玉宝,陈忠平,李成群.基于Proteus的51系列单片机设计与仿真电子工业出版社,2008年9月(聚焦EDA)。9 邹久朋.80C51单片机实用技术.北京:北京航空航天大学出版社,2008年4月.7689。附录附录1:系统电路原理图附录2:源程序(各个函数应加上简要注释)附录一单片机程序:#include #include #

31、include #include #define uchar unsigned char#define uint unsigned int#define BUSY 0x80 /LCD忙检测标志#define DATAPORT P0 /定义P0口为LCD通讯端口sbit RS=P20;/数据/命令端/sbit LCDRW=P21;/只读不写将RW端接地sbit LCDEN=P22;sbit ds = P17;sbit beep =P11;float value; void delayUs() /短延时 _nop_(); void delayMs(uint a) /长延时 uint i, j; f

32、or(i = a; i 0; i-) for(j = 100; j 0; j-); /第一行开始地址为0x80, 第二行开始地址为0xc0; /写命令:RS=0, RW=0; void writeComm(uchar comm) RS = 0; P0 = comm; LCDEN = 1; delayUs(); LCDEN = 0; delayMs(1); /写数据:RS=1, RW=0; void writeData(uchar dat) RS = 1; P0 = dat; LCDEN = 1; delayUs(); LCDEN = 0; delayMs(1); /初始化 /显示模式, 固定指

33、令为00111000=0x38, 16*2显示, 5*7点阵,8位数据接口 /显示开/关及光标设置00001100=0x0c /指令1: 00001DCB : D:开显示/关显示(H/L); C:显示光标/不显示(H/L), B:光标闪烁/不闪烁(H/L) /指令2: 000001NS : /N=1, 当读/写一个字符后地址指针加1, 且光标也加1; N=0则相反 /S=1, 当写一个字符, 整屏显示左移(N=1)或右移(N=0), 但光标不移动; S=0, 整屏不移动 void init() writeComm(0x38); /显示模式 writeComm(0x0c); /开显示, 关光标

34、writeComm(0x06); /写字符后地址加1, 光标加1 writeComm(0x01); /清屏 void writeString(uchar * str, uchar length) uchar i; for(i = 0; i 0) i-; ds = 1; /产生一个上升沿, 进入等待应答状态 i = 4; while(i0) i-; void dsWait() unsigned int i; while(ds); while(ds); /检测到应答脉冲 i = 4; while(i 0) i-; /向DS18B20读取一位数据/读一位, 让DS18B20一小周期低电平, 然后两小

35、周期高电平, /之后DS18B20则会输出持续一段时间的一位数据bit readBit() unsigned int i; bit b; ds = 0; i+; /延时约8us, 符合协议要求至少保持1us ds = 1; i+; i+; /延时约16us, 符合协议要求的至少延时15us以上 b = ds; i = 8; while(i0) i-; /延时约64us, 符合读时隙不低于60us要求 return b;/读取一字节数据, 通过调用readBit()来实现unsigned char readByte() unsigned int i; unsigned char j, dat;

36、dat = 0; for(i=0; i8; i+) j = readBit(); /最先读出的是最低位数据 dat = (j 1); return dat;/向DS18B20写入一字节数据入一字节数据void writeByte(unsigned char dat) unsigned int i; unsigned char j; bit b; for(j = 0; j = 1; /写1, 将DQ拉低15us后, 在15us60us内将DQ拉高, 即完成写1 if(b) ds = 0; i+; i+; /拉低约16us, 符号要求1560us内 ds = 1; i = 8; while(i0)

37、 i-; /延时约64us, 符合写时隙不低于60us要求 else /写0, 将DQ拉低60us120us ds = 0; i = 8; while(i0) i-; /拉低约64us, 符号要求 ds = 1; i+; i+; /整个写0时隙过程已经超过60us, 这里就不用像写1那样, 再延时64us了 /向DS18B20发送温度转换命令void sendChangeCmd() dsInit(); /初始化DS18B20, 无论什么命令, 首先都要发起初始化 dsWait(); /等待DS18B20应答 delayMs(1); /延时1ms, 因为DS18B20会拉低DQ 60240us作

38、为应答信号 writeByte(0xcc); /写入跳过序列号命令字 Skip Rom writeByte(0x44); /写入温度转换命令字 Convert T/向DS18B20发送读取数据命令void sendReadCmd() dsInit(); dsWait(); delayMs(1); writeByte(0xcc); /写入跳过序列号命令字 Skip Rom writeByte(0xbe); /写入读取数据令字 Read Scratchpad/获取当前温度值int getTmpValue() unsigned int tmpvalue; int value; /存放温度数值 float t; unsigned char low, high; sendReadCmd(); /

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号