下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计报告设计题目:DS18B20 温度传感器班级:09电信( 2)班姓名: xxx学号:xxx指导教师:xxx调试地点:xxx目 录一、概述2009 年 6 月 14 日随着时代的进步和发展, 单片机技术已经普及到我们生活、 工作、科研、各个领域,已经成为一种比较成熟的技术。本文主要介绍了一个基于 89S51 单片机的测温系统,详细描述了利用液晶显示器件传感器 DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感 DS18B20的数据采集过程。对各部分的电路也一一进行了介绍 , 该系统可以方便的实现实现温度采
2、集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与 AT89C51结合实现最简温度检测系统, 该系统结构简单, 抗干扰能力强, 适合于恶劣环境下进行现场温度测量,有广泛的应用前景。关键词:单片机 AT89C51、DS18B20温度传感器、液晶显示LCD1602。二、内容1、课程设计题目基于 DS18B20的温度传感器2、课程设计目的通过基于 MCS-51系列单片机 AT89C51和 DS18B20温度传
3、感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,汇编语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。3 、设计任务和要求以 MCS-51系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20 为检测器件,进行单点温度检测,检测精度为±摄氏度。温度显示采用
4、LCD1602显示,两位整数,一位小数。系统总体仿真图板上实现效果图4 、正文(一)、方案选择与论证根据设计任务的总体要求,本系统可以划分为以下几个基本模块,针对各个模块的功能要求,分别有以下一些不同的设计方案:(1)、温度传感模块方案一:采用热敏电阻,热敏电阻精度、重复性、可靠性较差,对于检测1 摄氏度的信号是不适用的,也不能满足测量范围。在温度测量系统中,也常采用单片温度传感器,比如 AD590,LM35等。但这些芯片输出的都是模拟信号,必须经过A/D 转换后才能送给计算机,这样就使测温系统的硬件结构较复杂。另外,这种测温系统难以实现多点测温,也要用到复杂的算法,一定程度上也增加了软件实现
5、的难度。方案二:采用单总线数字温度传感器 DS18B20测量温度,直接输出数字信号。便于单片机处理及控制,节省硬件电路。且该芯片的物理化学性很稳定,此元件线形性能好,在 0100 摄氏度时,最大线形偏差小于1 摄氏度。 DS18B20的最大特点之一采用了单总线的数据传输, 由数字温度计 DS18B20和微控制器 AT89C51构成的温度装置,它直接输出温度的数字信号到微控制器。每只DS18B20具有一个独有的不可修改的64位序列号,根据序列号可访问不同的器件。这样一条总线上可挂接多个DS18B20传感器,实现多点温度测量,轻松的组建传感网络。综上分析,我们选用第二种方案。温度传感模块仿真图(2
6、) 、显示模块方案一: 采用 8 位段数码管,将单片机得到的数据通过数码管显示出来。该方案简单易行,但所需的元件较多,且不容易进行操作,可读性差,一旦设定后很难再加入其他的功能,显示格式受限制,且大耗电量大,不宜用电池给系统供电。方案二: 采用液晶显示器件,液晶显示平稳、省电、美观,更容易实现题目要求,对后续的园艺通兼容性高,只需将软件作修改即可,可操作性强,也易于读数,采用RT1602两行十六个字符的显示,能同时显示其它的信息如日期、时间、星期、温度。综上分析,我们采用了第二个方案显示模块仿真图三、系统的具体设计与实现(1)、系统的总体设计方案采用 AT89S52单片机作为控制核心对温度传感
7、器 DS18B20控制,读取温度信号并进行计算处理,并送到液晶显示器 LCD1602显示。 按照系统设计功能的要求,确定系统由 3 个模块组成:主控制器、测温电路和显示电路。数字温度计总体电路结构框图如图下所示。(2)、硬件电路设计a、单片机控制模块该模块由 AT89C51单片机组成在设计方面, AT89C51的 EA接高电平,其外围电路提供能使之工作的晶振脉冲、复位按键,四个 I/O 分别接 8 路的单列 IP 座方便与外围设备连接。 当 AT89C51芯片接到来自温度传感器的信号时,其内部程序将根据信号的类型进行处理,并且将处理的结果送到显示模块,发送控制信号控制各模块。b、温度传感器模块
8、DS18B20相关资料1、DS18B20原理与分析DS18B20是美国 DALLAS半导体公司继 DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现 912 位的数字值读数方式。可以分别在 ms 和 750 ms 内完成 9 位和 12 位的数字量,并且从 DS18B20读出的信息或写入 DS18B20的信息仅需要一根口线(单线接口)读写 , 温度变换功率来源于数据总线,总线本身也可以向所挂接的 DS18B20 供电,而无需额外电源。因而使用 DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间
9、、传输距离、分辨率等方面较 DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。 以下是 DS18B20的特点:(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20的双向通讯。(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围:+ + V 。(4)测温范围: -55 - +125。固有测温分辨率为。(5)通过编程可实现9-12 位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。(8)负压特性,电源极性接反时,温度计不会因
10、发热而烧毁,但不能正常工作。2、DS18B20的测温原理DS18B20的测温原理上图所示, 图中低温度系数晶振的振荡频率受温度的影响很小, 用 于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入,图中还隐含着计数门,当计数门打开时, DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器 1 和温度寄存器中, 减法计数器 1 和温度寄存器被预置在 -55 所对应的一个基数值。 减法计数器 1 对
11、低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入, 减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是 DS18B20的测温原理。 另外,由于 DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对 DS
12、18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲) 发 ROM功能命令发存储器操作命令处理数据。 DS18B20 工作过程一般遵循以下协议:初始化 ROM操作命令存储器操作命令处理数据 初始化单总线上的所有处理均从初始化序列开始。初始化序列包括总线主机发出一复位脉冲,接着由从属器件送出存在脉冲。存在脉冲让总线控制器知道 DS1820 在总线上且已准备好操作。 ROM操作命令一旦总线主机检测到从属器件的存在,它便可以发出器件ROM操作命令之一。所有ROM操作命令均为8 位长。这些命令如下:Read ROM(读 ROM)33h此命令允许总线主机读DS18B20的 8
13、 位产品系列编码, 唯一的 48 位序列号,以及 8位的 CRC。此命令只能在总线上仅有一个 DS18B20的情况下可以使用。 如果总线上存在多于一个的从属器件,那么当所有从片企图同时发送时将发生数据冲突的现象(漏极开路会产生线与的结果)。Match ROM( 符合 ROM)55h此命令后继以 64 位的 ROM数据序列,允许总线主机对多点总线上特定的 DS1寻址。只有与 64 位 ROM序列严格相符的 DS18B20才能对后继的存贮器操作命令作出响应。 所有与 64 位 ROM序列不符的从片将等待复位脉冲。 此命令在总线上有单个或多个器件的情况下均可使用。Skip ROM( 跳过 ROM )
14、CCh在单点总线系统中,此命令通过允许总线主机不提供 64 位 ROM编码而访问存储器操作来节省时间。如果在总线上存在多于一个的从属器件而且在 Skip ROM 命令之后发出读命令,那么由于多个从片同时发送数据,会在总线上发生数据冲突(漏极开路下拉会产生线与的效果) 。Search ROM( 搜索 ROM)F0h当系统开始工作时,总线主机可能不知道单线总线上的器件个数或者不知道其64位ROM编码。搜索 ROM命令允许总线控制器用排除法识别总线上的所有从机的64 位编码。Alarm Search( 告警搜索 )ECh此命令的流程与搜索ROM命令相同。但是,仅在最近一次温度测量出现告警的情况下,
15、DS18B20才对此命令作出响应。告警的条件定义为温度高于TH 或低于 TL。只要DS18B20一上电,告警条件就保持在设置状态, 直到另一次温度测量显示出非告警值或者改变 TH或 TL 的设置,使得测量值再一次位于允许的范围之内。贮存在EEPROM内的触发器值用于告警。 存储器操作命令Write Scratchpad(写暂存存储器)4Eh这个命令向 DS18B20的暂存器中写入数据,开始位置在地址 2。接下来写入的两个字节将被存到暂存器中的地址位置 2 和 3。可以在任何时刻发出复位命令来中止写入。Read Scratchpad (读暂存存储器) BEh这个命令读取暂存器的内容。读取将从字节
16、0 开始,一直进行下去,直到第9(字节 8,CRC)字节读完。如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。Copy Scratchpad (复制暂存存储器) 48h这条命令把暂存器的内容拷贝到 DS18B20的 E2 存储器里,即把温度报警触发字节存入非易失性存储器里。如果总线控制器在这条命令之后跟着发出读时间隙,而DS18B20又正在忙于把暂存器拷贝到 E2 存储器, DS18B20就会输出一个“ 0”,如果拷贝结束的话, DS18B20 则输出“ 1”。如果使用寄生电源,总线控制器必须在这条命令发出后立即起动强上拉并最少保持 10ms。Convert T (温度变换)
17、 44h这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后DS18B20保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙,而 DS18B20又忙于做时间转换的话, DS18B20将在总线上输出“ 0”,若温度转换完成,则输出“ 1”。如果使用寄生电源,总线控制器必须在发出这条命令后立即起动强上拉,并保持 500ms。 Recall E2 (重新调整 E2)B8h这条命令把贮存在 E2 中温度触发器的值重新调至暂存存储器。这种重新调出的操作在对 DS18B20上电时也自动发生,因此只要器件一上电,暂存存储器内就有了有效的数据。在这条命令发出之后,对于所发出的第一个读数据时
18、间片,器件会输出温度转换忙的标识:“0”=忙,“1”=准备就绪。Read Power Supply (读电源) B4h对于在此命令发送至 DS18B20之后所发出的第一读数据的时间片, 器件都会给出其电源方式的信号:“ 0” =寄生电源供电,“1”=外部电源供电。 处理数据DS18B20的高速暂存存储器由9 个字节组成,其分配如图 3 所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0 和第1 个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。DS18B20温度数据表上表是 DS18B20温度采集转化后得到的12 位数据,存储在 DS18B
19、20的两个 8 比特的 RAM中,二进制中的前面5 位是符号位,如果测得的温度大于或等于0,这 5 位为 0,只要将测到的数值乘于即可得到实际温度;如果温度小于0,这 5 位为 1,测到的数值需要取反加 1 再乘于即可得到实际温度。温度转换计算方法举例:例如当 DS18B20采集到 +125的实际温度后,输出为07D0H,则:实际温度 =07D0H=2000=1250C。 例如当 DS18B20采集到 -55 的实际温度后,输出为FC90H,则应先将 11 位数据位取反加 1 得 370H(符号位不变,也不作为计算) ,则: 实际温度 =370H=880 =550C。2、显示模块 LCD160
20、2资料(这里主要介绍下指令说明及时序)1602 液晶模块内部的控制器共有11 条控制指令,如表 10-14所示:序号指令RSR/W D7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开 / 关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到 CGRAM或 DDRAM)10要写的数据内容11从 CGRAM或 DDRAM读数 11读出的数据
21、内容表 10-14 :控制命令表1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。为高电平、 0 为低电平)(说明: 1指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令 3:光标和显示模式设置 I/D :光标移动方向,高电平右移,低电平左移上所有文字是否左移或者右移。高电平表示有效,低电平则无效。S: 屏幕指令 4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标B :控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/
22、C :高电平时移动显示的文字,低电平时移动光标。指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N :低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符。指令 7:字符发生器 RAM地址设置。指令 8:DDRAM地址设置。指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令 10:写数据。指令 11:读数据。与 HD44780相兼容的芯片时序表如下:读状态输入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=高脉 输出无冲表 10-15 :基本操作时序表读写操作时序如图10-55 和 10-56 所示:图 10-55 读操作时序图 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络安全事情紧急响应技术部门预案
- 通知供应商物料验收标准(3篇)
- 家电技术改进评估表
- 2026年教师招聘学科专业知识(数学)考试题库附答案
- 2026年碳达峰比武笔试真题及答案
- 关于某批次产品安全问题的紧急通知5篇
- 建筑施工阶段造价控制方案
- 2026事业单位笔试-上海-上海普外科(医疗招聘)历年参考题库含答案详解
- 2026事业单位工勤技能-黑龙江-黑龙江水工监测工五级(初级工)历年参考题库含答案详解
- 2026事业单位工勤技能-黑龙江-黑龙江印刷工一级(高级技师)历年参考题库含答案详解
- 2025“外研社国才杯”“理解当代中国”外语能力综合能力赛项(英语组)模拟样卷
- 2026年河北高考历史真题(试卷+解析)
- 人教版2026-2027学年高中物理必修第三册第9章-13章期中测试卷(含解析)
- 2025年信息安全工程师考试真题及答案解析
- 2026年企业合规师初级题库及答案
- 2026年武汉市中考语文试卷(含答案)
- 司法辅助人员笔试完整题型、分值及真题答案
- 陕西科技大学教师专业技术职务评审工作实施办法(试行)
- 肿瘤患者输血支持(医学课件)
- 2026中国土地用途管制制度创新与实施效果评估报告
- 农商行催收培训
评论
0/150
提交评论