温室温湿度检测系统的设计.doc_第1页
温室温湿度检测系统的设计.doc_第2页
温室温湿度检测系统的设计.doc_第3页
温室温湿度检测系统的设计.doc_第4页
温室温湿度检测系统的设计.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

温室温度测控系统的设计摘 要:本文介绍一个智能温度检测系统,该系统通过集成温度传感器温度的变化对应电流的变化,再将电流的变化转换为电压的变化。集成温度传感器DS18B20直接用自带的A/D转换器后将模拟信号转化为数字信号,最后将数字信号送入89C52单片机,经过软件的控制,在LED上显示输出相应的温度值,并提供了与PC机的串行通信接口,上位机采用C语言编程实现了时刻温度检值的监测记录,该系统特点是电路设计新颖、测温精度高、实用性强。关键词:集成温度传感器,温度检测,89C52,LED;Abstract: A intelligence temperature the main body of a book is introduced checks system , owe system the corresponding voltaic change change by the integrated temperature sensor temperature, change changing voltaic change into voltage again. Integrated temperature sensor DS18B20 is a digital signal directly with changing the analog signal since simultaneous A/D converter. The at last sends the digital signal in 89 C52 monolithic machine , controlling process the software , demonstrates the value exporting the corresponding temperature on LED. And have provided serial communicate by letter interface with PC machine, superordination machine adopt the C language programming to have realized the moment temperature inspecting up values monitoring a precis writer , owing system a characteristic is that wiring design is new and original , measure temperature accuracy highly , the pragmatism is strong.Keywords: IC Temperature Sensor, Temperature Measurement, 89C52, LED;目录1.前言12.整体方案设计22.1 方案论证22.2 方案比较和方案选择33.单元模块设计43.1 集成温度传感器模块43.2 单片机模块74.软件设计115.系统的调试仿真126.系统技术指标及精度和误差分析137.结论148.设计小结159.参考文献16附录1:总电路图17附录2:软件代码18第 I 页1.前言随着以知识经济为特征的信息时代的到来,人们对仪器仪表作用的认识愈加深入。作为工业自动化技术工具的自动化仪表与控制装置, 在高新技术的推动下, 正跨入真正的数字化、智能化、网络化的时代。而温度作为一个重要的物理量, 是工业生产过程中最普遍、最重要的工艺参数之一。随着工业的不断发展, 对温度测量的要求越来越高, 而且测量的范围也越来越广, 对温度的检测技术的要求也越来越高。因此, 温度测量和温度测量技术的研究也是一个重要的研究课题。本文针对高精度温度检测做了一个设计,有助于提高我们的实践能力,以能促进我们对专业知识的融会贯通.对于高精度温度检测计的设计这一题目本身来说非常简单,这里关键是对其它单片机的学习.它区别于我们在学校做的单片机实验,通过这个课程设计我们可以了解甚至掌握单片机开发的整个流程。从功能来说它包括:下载调试模块,电源模块,单片机最小系统, 外部应用模块;从开发过程来说它包括:原理设计,电路板设计与制作,软件调试,综合调试。这些在以下的内容中我们将给以具体的讨论。第 1 页 共 25 页2.整体方案设计本设计的整体思路是:利用流过集成温度传感器电流随温度线性变化的关系,将电流的变化转换为电压的变化,即0时输出电压为0V显示在数码管上的数字为000.0。当100时输出电压为100mV通过AD转换器输出显示在数码管上的数字为100.0。即温度在0100时电压的变化就对应于温度的变化。数码管上输出的数字就是对应于所测量的实际温度。2.1 方案论证设计中采用了两个方案,具体的方案见下面。方案一:电桥方案采用铂电阻温度传感器的电阻与温度的关系是非线性的,用电桥实现温度升高引起的电阻变化对应于电压的变化。经A/D转换器后,送入锁存器锁存,在经译码器输出后,再在数码管上显示,由于74LS373具有锁存功能就能实现四位的温度显示。电桥测温电路放大电路A/D转换电路锁存器74LS373译码器7448LED数码显示图2.1 测温整体方案一框图方案二:基于单片机的方案见图2.2,利用集成温度传感器的电压与温度的变化为线性的,我们将温度变化转换为电压的变化,通过DS18B20内部自带的放大电路和A/D 转换器将数据经过A/D转换器输出后进入单片机系统,通过软件的控制,将电压对应于温度的数值通过查表的方式得出结果。在LED上显示出来。温度传感器(DS18B20)单片机模块LED显示模块图2.2 测温整体方案二框图2.2 方案比较和方案选择方案一中铂电阻与温度的关系是非线性的,因此输出的结果不能达到我们所要求的精度;方案二使用了单片机,电路比较简单,消耗的功率相对较小,调试较容易,且携带方便,因此设计采用了方案二。3.单元模块设计3.1 集成温度传感器模块 如图3.1所示,集成温度传感器模块主要是用来采集温度,并通过一定关系和内部电路将温度转换为能够为单片机所识别的数字电压信号,为下一步的显示工作提供条件。图3.1 集成温度传感器模块DS18B20简介:DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75ms和750ms内完成9位和12位的数字量,是世界上第一片支持 “一线总线”接口的温度传感器,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。DS18b20的精度较差为 2C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。1. 引脚说明如图3.2所示为智能温度传感器DS18B20: 图3.2 DS18B20GND:地; DQ :数据I/O;VDD:可选VDD;2.DS18B20的性能及特点(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围:+3.0+5.5V。(4)测温范围:-55+125。固有测温分辨率为0.5。(5)通过编程可实现912位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。 (8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。3.DS18B20的内部结构下图标出了DS18B20内部的主要部件。DS18B20有三个主要数字部件:(1)64位激光ROM;(2)温度传感器;(3)非易失性温度报警触发器TH和TL。器件用如下方式从单线通讯线上汲取能量:在信号线处于高电平间把能量储存在内部电容里,在信号线处于低电平器件消耗电容上的电能公走,知道高电平到来在给寄生电源(电容)充电。DS18B20也可用外部5v电源供电。64位ROM和单线端口存储器和控制逻辑温度传感器暂存器上限触发TH下限触发TL8位CRC产生器电源探测内部VDD 图3.3 DS18B20的内部结构框图4.DS18B20的测温原理低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。各种操作的时序图与DS1820相同。5.DS18B20与单片机的典型接口设计以MCS51单片机为例,图3中采用寄生电源供电方式,P11口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管和89C51的P10来完成对总线的上拉2。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10s。采用寄生电源供电方式是VDD和GND端均接地。由于单线制只有一根线,因此发送接收口必须是三态的。主机控制DS18B20完成温度转换必须经过3个步骤:初始化、ROM操作指令、存储器操作指令。假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写3个子程序:INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始,实际在实验中不用这种方式,只要在数据线上加一个上拉电阻4.7k,另外2个脚分别接电源和地。6.DS18B20的精确延时问题虽然DS18B20有诸多优点,但使用起来并非易事,由于采用单总线数据传输方式,DS18B20的数据I/O均由同一条线完成。因此,对读写的操作时序要求严格。为保证DS18B20的严格I/O时序,需要做较精确的延时。在DS18B20操作中,用到的延时有15s,90s,270s,540s等。因这些延时均为15s的整数倍,因此可编写一个DELAY15(n)函数,只要用该函数进行大约15sN的延时即可。有了比较精确的延时保证,就可以对DS18B20进行读写操作、温度转换及显示等操作。3.2 单片机模块如图3.4所示为单片机80C52,负责对温度传感器DS18B20所采集的数据进行接受、转换和输出,是单片机模块中最核心的器件,也是本设计中最重要的部分。单片机80C52介绍: 图3.4 80C5280C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。80C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得80C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。80C52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,80C52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 80C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。 此外,80C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。80C52有PDIP(40pin)和PLCC(44pin)两种封装形式。1.主要性能:l 与MCS-51单片机产品兼容l 8K字节在系统可编程Flash存储器l 1000次擦写周期l 全静态操作:0Hz33Hzl 三级加密程序存储器l 32个可编程I/O口线l 三个16位定时器/计数器l 八个中断源l 全双工UART串行通道l 低功耗空闲和掉电模式l 掉电后中断可唤醒l 看门狗定时器l 双数据指针l 掉电标识符2.引脚功能:(1)VCC: 电源端;(2)GND: 地端;(3)P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻;(4)P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3.1所示。在flash编程和校验时,P1口接收低8位地址字节; 表 3.1:引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)(5)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号;(6)P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表3.2所示。在flash编程和校验时,P3口也接收一些控制信号;表 3.2:引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT0(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)(7)RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效;(8)ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效,这一位置 “1”。ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效;(9)PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活;(10)EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压;(11)XTAL1:振荡器反相放大器和内部时钟发生电路的输入端;(12)XTAL2:振荡器反相放大器的输出端;4.软件设计如图4.1为程序整体设计框图:CPU执行中断键盘扫描结束串口通信中断服务程序程序初始化 图4.1 程序整体设计框图1.主程序设计:当DS18B20输出的数据送入单片机内部后,单片机就采集数据,将数据采集到内部存储器的存储单元存储,将输入的BCD码转换为七段码显示。再调用查表子程序送入到LED上显示。2.单片机从DS18B20读取数据的程序设计:80C52的DU端和EOC端相连后与单片机的INT1端连接,采用连续准还的方式,将每次转换结果都送入输出寄存器,EOC是转换结束的输出标志信号,单片机采用中断的方式来读取数据。初始化程序开放CPU中断,允许外部1中断,置外部中断1位边沿触发方式。每次A/D转换结束,都向CPU请求中断,PU相应中断,执行中断服务程序,读取DS18B20转换的结果。3.码的变换程序:单片机读入数据之后,将数据保存在52H到55H的单元内,由于读入的数据也即是我们需要显示的数据,因此我们将读入的BCD码转变成七段显示码。4.显示程序:将从转换后的十进制数根据选通信号送入相应的LED上显示,置选通信号在P2.0P2.3四个口上,当P2.0置“1时,就选通千位,读取5FH单元的数据后将结果显示出来,当P2.1置“1时,就选通百位,读取5EH单元的数据后将结果显示出来,当P2.2置“1时,就选通十位,读取5DH单元的数据后将结果显示出来,当P2.3置“1时,就选通个位,读取5CH单元的数据后将结果显示出来。这样来实现LED的显示。5.系统的调试仿真这里用ISIS仿真软件进行仿真。由于仿真过程中不能用实际的温度来进行,所有只有用先前设置好的温度,通过DS18B20转换后输送到单片机当中,然后用这个模拟的温度来进行仿真,让数码管输出这个温度,打到预期的仿真效果,由于软件部分的缺陷,仿真不能准确的进行。以下用ISIS软件设计的系统截图。6.系统技术指标及精度和误差分析这次设计总所采用的温度传感器DS18B20可以分别在93.75ms到750ms内完成9位和12位的数字量,是世界上第一片支持 “一线总线”接口的温度传感器,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C,精度较差为 2C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。在DS18B20操作中,用到的延时有15s,90s,270s,540s等。因这些延时均为15s的整数倍,因此可编写一个DELAY15(n)函数,只要用该函数进行大约15sN的延时即可。有了比较精确的延时保证,就可以对DS18B20进行读写操作、温度转换及显示等操作。7.结论本文实现了用一个集成温度测试系统的设计,达到了预期的目的,可以用于在-20+100的温度测量,非线性误差为0.3,受电压变化引起的波动小,且电路简单,成本较小、功耗低,携带方便。随着各种高精度传感器的应用与普及,这一技术在科学研究,生产过程等领域中发挥着越来越重要的作用。人类步入信息社会的今天,人们对信息的提取,处理,传输以及综合利用等要求愈加,尤其是工业,农业等方面,比如:温室大棚,育种等场合,具有较高使用价值。8.设计小结随着各种高精度传感器的应用与普及,这一技术在科学研究,生产过程等领域中发挥着越来越重要的作用。人类步入信息社会的今天,人们对信息的提取,处理,传输以及综合利用等要求愈加迫切。作为信息提取的功能器件仪器及传感器与人类的关系越来越密切。高精度传感器在科学研究中的数据采集与处理技术,将提高人们对各种瞬态现象进行研究的能力;高精度传感器在生产过程中的数据采集与处理技术,将能迅速地对各种工艺参数进行采集,为计算机控制提供必需的信息,从而实现生产过程的自动控制。采用自动测试系统实时测试及分析产品性能,采用自动控制系统对产品加工过程实时控制,是提高产品质量的现代方法。因此,运用高精度传感器进行数据采集是我们应该掌握的一门技术。运用protel方面不是太好,而且很多的器件用起来不是那么得心应手,感觉有些很难找。常用的器件不是很好找,所以有些图是用ISIS画的,所以看起来不是很搭配的样子。设计中得到了同学的一些指点和帮助,并表示感谢。9.参考文献1 万福君、潘松峰.单片微机原理系统设计与应用(第二版)M. 合肥:中国科学技术大学出版社,2001.2 胡汉才.单片机原理及其接口技术M. 北京:清华大学出版社,2004.3 蔡美琴、张为民.MCS-51 系列单片机系统及其应用(第二版)M. 北京:高等教育出版社,2004.4 杨振江、杜铁军.流行单片机实用子程序及应用实例M.西安电子科技大学出版社,2002.5 张培仁.基于 C 语言编程 MCS-51 单片机原理与应用M. 北京:清华大学出版社,2003.6 李群林.基于多路传感器的温湿度检测系统J. 中国仪器仪表,2006(11),38407 孙环.基于SHT11单片集成传感器温湿度检测模块设计J. 国外电子测量技术,2006(6),43488 沙占友.集成化智能传感器原理与应用M.北京:电子工业出版社,2004:119-127.9 孟臣、李敏、李爱传. I2C总线数字式温湿度传感器SHT11及其在单片机系统的应用J.国外电子元器件,2004(3):50-5410 刘迎春、叶湘滨.现代新型传感器原理与应用M. 北京:国防工业出版社,1998.11 何希才.传感器及其应用电路M. 北京:电子工业出版社,2001. 12 沙占友.智能化集成温度传感器原理与应用M. 北京:机械工业出版社,2002.13 赵继文.传感器与应用电路设计M. 北京:科学出版社,2002.14 丁镇生.传感器及传感技术应用M. 北京:电子工业出版社,1998.15 张洪润、刘秀英、张亚凡等.单片机应用设计200例M北京:航空航天大学出版社,2006.16 Nordic VLSI ASA. nRF24E1 and nRF24E2 RF layoutsP. Application Note, order code: 200503-nAN24-0.2003.第 23 页附录1:总电路图附录2:软件代码/=文件名:main.c=/预定义包含文件/=#include #include #include #include #include #include #include #include #include #include #define uchar unsigned char#define uint unsigned intsbit dq = P32;bit flag;#define uchar unsigned char#define uint unsigned intuint Temperature;uchar temp_buff9; /存储读取的字节,read scratchpad为9字节,read rom ID为8字节uchar id_buff8;uchar *p;uchar crc_data;uchar code CrcTable 256=0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65,157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220,35, 125, 159, 193, 66, 28, 254, 160, 225, 191, 93, 3, 128, 222, 60, 98,190, 224, 2, 92, 223, 129, 99, 61, 124, 34, 192, 158, 29, 67, 161, 255,70, 24, 250, 164, 39, 121, 155, 197, 132, 218, 56, 102, 229, 187, 89, 7,219, 133, 103, 57, 186, 228, 6, 88, 25, 71, 165, 251, 120, 38, 196, 154,101, 59, 217, 135, 4, 90, 184, 230, 167, 249, 27, 69, 198, 152, 122, 36,248, 166, 68, 26, 153, 199, 37, 123, 58, 100, 134, 216, 91, 5, 231, 185,140, 210, 48, 110, 237, 179, 81, 15, 78, 16, 242, 172, 47, 113, 147, 205,17, 79, 173, 243, 112, 46, 204, 146, 211, 141, 111, 49, 178, 236, 14, 80,175, 241, 19, 77, 206, 144, 114, 44, 109, 51, 209, 143, 12, 82, 176, 238,50, 108, 142, 208, 83, 13, 239, 177, 240, 174, 76, 18, 145, 207, 45, 115,202, 148, 118, 40, 171, 245, 23, 73, 8, 86, 180, 234, 105, 55, 213, 139,87, 9, 235, 181, 54, 104, 138, 212, 149, 203, 41, 119, 244, 170, 72, 22,233, 183, 85, 11, 136, 214, 52, 106, 43, 117, 151, 201, 74, 20, 246, 168,116, 42, 200, 150, 21, 75, 169, 247, 182, 232, 10, 84, 215, 137, 107, 53;/*Function:延时处理*parameter:*Return:*Modify:*/void TempDelay (uchar us) while(us-);/*Function:18B20初始化*parameter:*Return:*Modify:*/void Init18b20 (void) dq=1; _nop_(); dq=0; TempDelay(86); /delay 530 uS/80 _nop_(); dq=1; TempDelay(14); /delay 100 uS/14 _nop_(); _nop_(); _nop_(); if(dq=0) flag = 1; /detect 1820 success! else flag = 0; /detect 1820 fail! TempDelay(20); /20 _nop_(); _nop_(); dq = 1;/*Function:向18B20写入一个字节*parameter:*Return:*Modify:*/void WriteByte (uchar wr) /单字节写入 uchar i; for (i=0;i= 1; /*Function:读18B20的一个字节*parameter:*Return:*Modify:*/ucha

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论