基于DS18B20的温度采集系统(1602显示)的设计_课程设计.docx_第1页
基于DS18B20的温度采集系统(1602显示)的设计_课程设计.docx_第2页
基于DS18B20的温度采集系统(1602显示)的设计_课程设计.docx_第3页
基于DS18B20的温度采集系统(1602显示)的设计_课程设计.docx_第4页
基于DS18B20的温度采集系统(1602显示)的设计_课程设计.docx_第5页
已阅读5页,还剩16页未读, 继续免费阅读

下载本文档

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

文档简介

课程设计:温度采集通道的设计包伟2013年12月27日目 录摘要2一设计内容及要求41.1 设计工艺要求41.2 设计任务41.3 要求4二.芯片资料52.1 ds18b2052.1.1 ds18b20的工作原理52.1.2 ds18b20的使用方法72.2 at89c51112.2.1 at89c51简介112.2 .2 at89c51功能112.2.3 at89c51引脚11三.系统流程143.1读ds18b20的子程序143.2 读转换温度子程序153.写ds18b20的子程序15四.程序与电路设计174.1 程序设计174.1.1 main程序(部分)174.1.2 ds18b20初始化程序184.1.3 ds18b20全处理184.2 电路图194.2.1 最小系统设计图194.2.2 ds18b20模块电路图194.2.3 1602lcd显示模块设计图204.2.4 整机原理图21五.系统调试与分析22六.设计体会23参考文献24教师评语25摘要随着人们生活水平的不断提高,单片机技术已经普及到我们生活,工作,科研等各个领域。单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本文利用单片机结合传感器技术开发设计,把传感器理论与单片机实际应用有机结合,详细地讲述了利用温度传感器ds18b20测量环境温度,设置上下报警温度,当温度不在设置范围内是,可以报警。同时51单片机在现代电子产品中广泛应用以及其技术已经非常成熟,ds18b20可以直接读出被测温度值,而且采用一线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。关键词: ds18b20;单片机控制;温度检测;温度传感器;温度报警 abstract with the continuous improvement of living standard, single chip technology has spread to our lives, work, research and other fields.scm is undoubtedly one of the goals people pursue, the convenience it brings is not negative, in which digital thermometer is a typical example, but it requires more and more people to work for the modern man, research, provide a better life, more convenient facilities need to start from a few microcontroller technology, all toward the digital control, intelligent control direction.in this paper, combined with sensor technology development and design of single chip, the sensor application of theory and practical combination of scm in detail about the use of temperature sensors measure the ambient temperature ds18b20, set the upper and lower alarm temperature range when the temperature is not set is for the police. 51 micro also widely used in modern electronic products and its technology is well established. ds18b20 can directly read the measured temperature, and the use of front-line system is connected with the microcontroller, reducing the external hardware circuit, the characteristics of low cost and ease of use.keywards: ds18b20;mcu control ;temperature measure;temperature sensors; temperature alarming 一设计内容及要求1.1 设计工艺要求温度测量范围0200(以热电偶或金属热电阻位主线)或-50100(以集成温度传感器为主线);检测通道为一路;温度采集通道输出为15v;温度采集通道的输入输出特性要求为线性的;此温度采集通道的精度为0.5。1.2 设计任务查阅有关温度检测文献,确定此温度采集通道的总体设计方案,并分析其可行性。设计方案要求包含传感器、补偿电路、量程调整电路、调零电路、线性化电路及转化放大电路;另外对于一个完善的温度采集系统还应包含模数转换器及mcu微处理器实现智能采集。其次根据确定的设计方案进行各个模块的硬件电路设计,要求传感器自动化111以热电偶为主,自动化112以热电阻为主,自动化113以集成温度传感器为主,自动化114以热电阻为主设计。另外有精力的同学可以加上模数转换模块及微处理器(可以是单片机、arm、dsp、工控pc机)设计及软件设计。1.3 要求设计方案明确,模块电路绘制,说明推导,结论正确。二.芯片资料2.1 ds18b202.1.1 ds18b20的工作原理ds18b20的读写时序和测温原理与ds1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 ds18b20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 ds18b20的数据部件: (1) 光刻rom中的64位序列号是出厂前被光刻好的,它可以看作是该ds18b20的地址序列码。64位光刻rom的排列是:开始8位(28h)是产品类型标号,接着的48位是该ds18b20自身的序列号,最后8位是前面56位的循环冗余校验码(crc=x8+x5+x4+1)。光刻rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。(2) ds18b20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/lsb形式表达,其中s为符号位。表1. ds18b20温度值格式表这是12位转化后得到的12位数据,存储在18b20的两个8比特的ram中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。(3)ds18b20温度传感器的存储器ds18b20温度传感器的内部存储器包括一个高速暂存ram和一个非易失性的可电擦除的eepram,后者存放高温度和低温度触发器th、tl和结构寄存器。序号名称引脚功能描述1gnd地信号2dq数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3vdd可选择的vdd引脚。当工作于寄生电源时,此引脚必须接地。2.1.2 ds18b20的使用方法由于ds18b20采用的是1wire总线协议方式,即在一根数据线实现数据的双向传输,而对at89s51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对ds18b20芯片的访问。 由于ds18b20是在一根i/o线上读写数据,因此,对读写的数据位有着严格的时序要求。ds18b20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 ds18b20的初始化 a) 先将数据线置高电平“1”。 b) 延时(该时间要求的不是很严格,但是尽可能的短一点) c) 数据线拉到低电平“0”。 d) 延时750微秒(该时间的时间范围可以从480到960微秒)。 (5) 数据线拉到高电平“1”。e) 延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由ds18b20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。 f) 若cpu读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。 g) 将数据线再次拉高到高电平“1”后结束。 ds18b20的写操作 a) 数据线先置低电平“0”。 b) 延时确定的时间为15微秒。 c) 按从低位到高位的顺序发送字节(一次只发送一位)。 d) 延时时间为45微秒。 e) 将数据线拉到高电平。 f) 重复上(1)到(6)的操作直到所有的字节全部发送完为止。 g) 最后将数据线拉高。 ds18b20的读操作 a) 将数据线拉高“1”。 b) 延时2微秒。 c) 将数据线拉低“0”。 d) 延时3微秒。 e) 将数据线拉高“1”。 f) 延时5微秒。 g) 读数据线的状态得到1个状态位,并进行数据处理。 h) 延时60微秒。 rom指令表 指 令 约定代码功 能读rom33h读ds1820温度传感器rom中的编码(即64位地址) 符合 rom 55h发出此命令之后,接着发出 64 位 rom 编码,访问单总线上与该编码相对应的 ds1820 使之作出响应,为下一步对该 ds1820 的读写作准备。 搜索 rom 0foh用于确定挂接在同一总线上 ds1820 的个数和识别 64 位 rom 地址。为操作各器件作好准备。 跳过 rom 0cch忽略 64 位 rom 地址,直接向 ds1820 发温度变换命令。适用于单片工作。 告警搜索命令 0ech执行后只有温度超过设定值上限或下限的片子才做出响应。 ram指令表 指 令 约定代码功 能温度变换44h启动ds1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节ram中。 读暂存器 0beh 读内部ram中9字节的内容 写暂存器 4eh 发出向内部ram的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存器 48h 将ram中第3 、4字节的内容复制到eeprom中。 重调 eeprom 0b8h 将eeprom中内容恢复到ram中的第3 、4字节。 读供电方式 0b4h 读ds1820的供电模式。寄生供电时ds1820发送“ 0 ”,外接电源供电 ds1820发送“ 1 ”。 2.2 at89c512.2.1 at89c51简介at89s51美国atmel公司生产的低功耗,高性能cmos 8位单片机,片内含4k bytesisp(in-system programmable)的可反复擦写1000次的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术制造,兼容标准mcs-51指令系统及at89c51引脚结构,芯片内集成了通用8位中央处理器和isp flash存储单元。单片机at89s51强大的功能可为许多嵌入式控制应用系统提供高性价比的解决方案。2.2 .2 at89c51功能 at89s51提供以下标准功能:40个引脚、4k bytes flash片内程序存储器、128 bytes的随机存取数据存储器(ram)、32个外部双向输入/输出(i/o)口、5个中断优先级2层中断嵌套中断、2个数据指针、2个16位可编 程定时/计数器、2个全双工串行通信口、看门狗(wdt)电路、片内振荡器及时钟电路。此外,at89s51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式,空闲模式,cpu暂停工作,而ram、定时/计数器、串行通信口、外中断系统可继续工作。掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三种封装形式,以适应不同产品的需求2.2.3 at89c51引脚p0口:p0口为一个8位漏级开路双向i/o口,也即地址/数据总线复用口。作为输出口用时,能驱动8个ttl逻辑门电路。对端口写“1”时,被定义为高阻输入。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在flash编程时,p0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。p1口:p1口是一个带内部上拉电阻的8位双向i/o口,p1口的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(i)。p2口:p2口是一个带有内部上拉电阻的8位双向i/o口, p2口的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(i)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行movxdptr指令)时,p2口送出高8位地址数据。在访问8位地址的外部数据寄存器(例如执行movxri指令)时,p2口线上的内容(也即特殊功能寄存器(sfr)区中p2寄存器的内容),在整个访问期间不改变。p3口: p3口是一个带有内部上拉电阻的双向8位i/o口, p3口的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对p3口写“1”时,它们被内部的上拉电阻拉高并可作为输入端口。作输入口使用时,被外部信号拉低的p3口将用上拉电阻输出电流(i)。rst:复位输入。当振荡器工作时,rst引脚出现两个机器周期以上的高电平时间将使单片机复位。wdt溢出将使该引脚输出高电平,设置sfr auxr的disrto位(地址8eh)可打开或关闭该功能。 disrto位缺省为reset输出高电平打开状态。 ale/:当访问外部存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部寄存器,ale仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。值得注意的是:每当访问外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(prog)。如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。该位置位后,只要一条movx和movc指令才会激活ale。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale无效。:程序存储允许()输出是外部程序存储器的读选通信号,当at89s51由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。当访问外部数据存储器时,没有两次有效的信号。ea/vpp:外部访问允许。欲使cpu仅访问外部程序存储器(地址为0000h-ffffh),ea端必须保持低电平(接地)。需要注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态。如ea端保持高电平(接vcc端),cpu则执行内部程序存储器中的指令。三.系统流程3.1读ds18b20的子程序 3.2 读转换温度子程序y发ds18b20复位命令发跳过rom命令发读取温度命令读取操作,crc校验9字节完?结束crc校验正确?移入温度暂存器nyn3.写ds18b20的子程序复位延时16us以上把一个字节data 分成8个bit环移给c 写入一个bit等待100微妙重新释放总线置r2为8写入下一个bit写完8 bit重新释放总线返回四.程序与电路设计4.1 程序设计4.1.1 main程序(部分)4.1.2 ds18b20初始化程序4.1.3 ds18b20全处理4.2 电路图4.2.1 最小系统设计图4.2.2 ds18b20模块电路图4.2.3 1602lcd显示模块设计图4.2.4 整机原理图五.系统调试与分析a. 调试显示程序的开始,接线后显85.0,更改ds18b20的温度现实,数码管就会现实相应的温度,温度上下限为-15128.b. 根据ds18b20 的通讯协议,主机控制ds18b20 完成温度转换必须经过三个步骤:每一次读写之前都要对ds18b20 进行复位,复位成功后发送一条rom 指

温馨提示

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

评论

0/150

提交评论