ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:28.38KB ,
资源ID:7785971      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7785971.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DS18B20温度传感器课程设计报告材料.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DS18B20温度传感器课程设计报告材料.docx

1、DS18B20温度传感器课程设计报告材料合用标准文案单片机课程设计报告设计题目: DS18B20 温度传感器班 级: 09 电信 2班姓 名: xxx学 号: xxx指导教师: xxx调试地址: xxx优异文档合用标准文案一、归纳 3二、内容 31、课程设计题目 32、课程设计目的 33、设计任务和要求 34、正文 4一、方案选择与论证 4三、系统的详尽设计与实现 6 1、系统的整体设计方案 6 2、硬件电路设计 6a、单片机控制模块 6b、温度传感器模块 7四、软件设计 131、 主程序 132、 读出温度子程序 133、 温度变换命令子程序 134、计算温度子程序 14五、完满程序以下:

2、14六、设计领悟 19七、参照文件 20优异文档合用标准文案一、归纳2021 年 6 月 14 日随着时代的进步和睁开, 单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。本文主要介绍了一个基于 89S51单片机的测温系统, 详尽描述了利用液晶显示器件传感器 DS18B20开发测温系统的过程, 重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽解析,特别是数字温度传感DS18B20的数据采集过程。对各局部的电路也一一进行了介绍 , 该系统能够方便的实现实现温度采集和显示, 并可依照需要任意设定上下限报警温度, 它使用起来相当方便,拥有精度高、量

3、程宽、矫捷度高、体积小、功耗低等优点,适合于我们平时生活和工、 农业生产中的温度测量, 也能够看作温度办理模块嵌入其他系统中,作为其他主系统的辅助扩展。 DS18B20与 AT89C51结合实现最简温度检测系统,该系统结构简单, 抗搅乱能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用远景。重点词: 单片机 AT89C51、DS18B20温度传感器、液晶显示 LCD1602。二、内容1、课程设计题目基于 DS18B20的温度传感器2、课程设计目的经过基于 MCS-51系列单片机 AT89C51和 DS18B20温度传感器检测温度, 熟悉芯片的使用,温度传感器的功能,数码显示管的使用,汇编语

4、言的设计;而且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,经过理论联系实质,从题目解析、电路设计调试、程序编制调试到传感器的选定等这一完满的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实责问题,以到达提升学生的综合能力、着手能力、文件资料查阅能力的作用,为毕业设计和今后工作打下一个优异的基础。3、设计任务和要求以 MCS-51系列单片机为核心器件, 组成一个数字温度计, 采用数字温度传感器 DS18B20为检测器件,进行单点温度检测,检测精度为 0.5 摄氏度。温度显示采用 LCD1602显示,两位整数,一位小数。优异文档合用标准文案系统整体仿

5、真图板上实现收效图4、正文一、方案选择与论证依照设计任务的整体要求, 本系统能够划分为以下几个根本模块, 针对各个模优异文档合用标准文案块的功能要求,分别有以下一些不相同的设计方案: 1、温度传感模块方案一 :采用热敏电阻,热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不合用的, 也不能够满足测量范围。 在温度测量系统中, 也常采用单片温度传感器,比方 AD590,LM35等。但这些芯片输出的都是模拟信号,必定经过 A/D 变换后才能送给计算机,这样就使测温系统的硬件结构较复杂。别的,这种测温系统难以实现多点测温, 也要用到复杂的算法, 必然程度上也增加了软件实现的难度。方案二:采

6、用单总线数字温度传感器 DS18B20测量温度,直接输出数字信号。便于单片机办理及控制, 节约硬件电路。 且该芯片的物理化学性很牢固, 此元件线形性能好,在 0100 摄氏度时,最大线形偏差小于 1 摄氏度。 DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计 DS18B20 和微控制器AT89C51组成的温度装置,它直接输出温度的数字信号到微控制器。 每只 DS18B20 拥有一个独有的不能更正的 64 位序列号,依照序列号可接见不相同的器件。这样一条总线上可挂接多个 DS18B20传感器,实现多点温度测量, 轻松的组建传感网络。综上解析,我们采用第二种方案。温度传感模块仿真图

7、(2)、显示模块方案一: 采用 8 位段数码管,将单片机获得的数据经过数码管显示出来。该方案简单易行,但所需的元件很多,且不简单进行操作,可读性差,一旦设定后很难再参加其他的功能, 显示格式受限制, 且大耗电量大, 不宜用电池给系统供电。方案二: 采用液晶显示器件,液晶显示平稳、省电、雅观,更简单实现题目要求,对后续的园艺通兼容性高,只要将软件作更正即可,可操作性强,也易于读数,采用 RT1602两行十六个字符的显示,能同时显示其他的信息如日期、时间、星期、温度。综上解析,我们采用了第二个方案优异文档合用标准文案显示模块仿真图三、系统的详尽设计与实现1、系统的整体设计方案采用 AT89S52单

8、片机作为控制核心对温度传感器 DS18B20控制,读取温度信号并进行计算办理,并送到液晶显示器 LCD1602显示。 依照系统设计功能的要求,确定系统由 3 个模块组成:主控制器、测温电路和显示电路。数字温度计整体电路结构框图如图下所示。(2、硬件电路设计a、单片机控制模块该模块由 AT89C51单片机组成在设计方面, AT89C51的 EA接高电平,其外围电路供应能使之工作的晶振脉冲、复位按键,四个 I/O 分别接 8 路的单列 IP 座方便与外面设备连接。 当 AT89C51芯片接到来自温度传感器的信号时,其内部程序将依照信号的种类进行办理, 而且将办理的结果送到显示模块, 发送控制信号控

9、制各模块。优异文档合用标准文案b、温度传感器模块DS18B20相关资料1、DS18B20原理与解析DS18B20是美国 DALLAS半导体公司继 DS1820此后最新推出的一种改良型智能温度传感器。与传统的热敏电阻对照,它能够直接读出被测温度而且可依照实际要求经过简单的编程实现 912 位的数字值读数方式。能够分别在 93.75 ms和 750 ms 内完成 9 位和 12 位的数字量,而且从 DS18B20读出的信息或写入DS18B20的信息仅需要一根口线单线接口读写 , 温度变换功率本源于数据总线,总线自己也能够向所挂接的 DS18B20供电,而无需额外电源。所以使用DS18B20可使系统

10、结构更趋简单,可靠性更高。他在测温精度、变换时间、传输距离、分辨率等方面较 DS1820有了很大的改良, 给用户带来了更方便的使用和更令人满意的收效。 以下是 DS18B20的特点:1独到的单线接口方式: DS18B20与微办理器连接时仅需要一条口线即可实现微办理器与 DS18B20的双向通讯。2在使用中不需要任何外面元件。3可用数据线供电,电压范围: +3.0 +5.5 V 。4测温范围: -55 - +125 。固有测温分辨率为 0.5 。5经过编程可实现 9-12 位的数字读数方式。6用户可自设定非易失性的报警上下限值。7支持多点组网功能, 多个 DS18B20能够并联在独一的三线上,实

11、现多点测温。8负压特点,电源极性接反时, 温度计不会因发热而烧毁, 但不能够正常工作。优异文档合用标准文案2、DS18B20的测温原理DS18B20的测温原理上图所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入,图中还隐含着计数门,当计数门翻开时, DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,第一将 -55 所对应的基数分别置入减法计数器 1 和温度存放器中,减法计数器

12、1 和温度存放器被预置在 -55 所对应的一个基数值。减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度存放器的值将加 1,减法计数器 1 的预置将重新被装入,减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,这样循环直到减法计数器 2 计数到 0 时,停止温度存放器值的累加,此时温度存放器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度存放器值到达被测温度值,这就是 DS18B20的测温原理。 别的,由于 DS18B20单线通讯

13、功能是分时完成的,他有严格的时隙看法,所以读写时序很重要。系统对 DS18B20的各种操作必定按协议进行。操作协议为:初始化 DS18B20发复位脉冲发 ROM功能命令发储藏器操作命令办理数据。 DS18B20 工作过程一般依照以下协议:初始化 ROM操作命令储藏器操作命令办理数据 初始化单总线上的所有办理均从初始化序列开始。初始化序列包括总线主机发出一复位脉冲,接着由隶属器件送出存在脉冲。 存在脉冲让总线控制器知道 DS1820 在总线上且已准备好操作。 ROM操作命令一旦总线主机检测到隶属器件的存在, 它便能够发出器件 ROM操作命令之一。所有 ROM操作命令均为 8 位长。这些命令以下:

14、Read ROM(读 ROM)33h此命令赞同总线主机读 DS18B20的 8 位产品系列编码,独一的 48 位序列号,以及 8 位的 CRC。此命令只幸亏总线上仅有一个 DS18B20的情况下能够使用。如优异文档合用标准文案果总线上存在多于一个的隶属器件, 那么当所有从片企图同时发送时将发生数据矛盾的现象漏极开路会产生线与的结果 。Match ROM( 吻合 ROM)55h此命令后继以 64 位的 ROM数据序列,赞同总线主机对多点总线上特定的 DS1寻址。只有与 64 位 ROM序列严格吻合的 DS18B20才能对后继的存贮器操作命令作出响应。所有与 64 位 ROM序列不符的从片将等待复

15、位脉冲。此命令在总线上有单个或多个器件的情况下均可使用。Skip ROM( 跳过 ROM )CCh在单点总线系统中,此命令经过赞同总线主机不供应 64 位 ROM编码而接见储藏器操作来节约时间。若是在总线上存在多于一个的隶属器件而且在 Skip ROM命令此后发出读命令,那么由于多个从片同时发送数据,会在总线上发生数据矛盾漏极开路下拉会产生线与的收效 。Search ROM( 找寻 ROM)F0h当系统开始工作时,总线主机可能不知道单线总线上的器件个数也许不知道其64位ROM编码。找寻 ROM命令赞同总线控制器用消除法鉴别总线上的所有从机的 64 位编码。Alarm Search( 告警找寻

16、)ECh此命令的流程与找寻 ROM命令相同。但是,仅在近来一次温度测量出现告警的情况下, DS18B20才对此命令作出响应。告警的条件定义为温度高于 TH 或低于 TL。只要 DS18B20一上电,告警条件就保持在设置状态,直到另一次温度测量显示出非告警值也许改变 TH或 TL 的设置,使得测量值再一次位于赞同的范围之内。储藏在 EEPROM内的触发器值用于告警。 储藏器操作命令Write Scratchpad 写暂储存藏器 4Eh这个命令向 DS18B20的暂存器中写入数据,开始地址在地址 2。接下来写入的两个字节将被存到暂存器中的地址地址 2 和 3。能够在任何时辰发出复位命令来中止写入。

17、Read Scratchpad 读暂储存藏器 BEh这个命令读取暂存器的内容。读取将从字节 0 开始,素来进行下去,直到第9字节 8,CRC字节读完。若是不想读完整部字节,控制器能够在任何时间发出复位命令来中止读取。Copy Scratchpad 复制暂储存藏器 48h这条命令把暂存器的内容拷贝到 DS18B20的 E2 储藏器里,即把温度报警触发字节存入非易失性储藏器里。若是总线控制器在这条命令此后随着发出读时间隙,而 DS18B20又正在忙于把暂存器拷贝到 E2 储藏器, DS18B20就会输出一个“ 0,若是拷贝结束的话, DS18B20那么输出“ 1。若是使用寄生电源,总线控制器必定在

18、这条命令发出后马上起动强上拉并最少保持 10ms。Convert T 温度变换 44h这条命令启动一次温度变换而无需其他数据。温度变换命令被执行,此后DS18B20保持等待状态。若是总线控制器在这条命令此后随着发出读时缝隙,而DS18B20又忙于做时间变换的话, DS18B20将在总线上输出“ 0,假设温度变换完成,那么输出“ 1。若是使用寄生电源,总线控制器必定在发出这条命令后马上起优异文档合用标准文案动强上拉,并保持 500ms。Recall E2 重新调整 E2 B8h这条命令把储藏在 E2 中温度触发器的值重新调至暂储存藏器。 这种重新调出的操作在对 DS18B20上电时也自动发生,

19、所以只要器件一上电, 暂储存藏器内就有了有效的数据。 在这条命令发出此后, 对于所发出的第一个读数据时间片, 器件会输出温度变换忙的表记: “0=忙,“1=准备就绪。Read Power Supply 读电源 B4h对于在此命令发送至 DS18B20此后所发出的第一读数据的时间片,器件都会给出其电源方式的信号: “0=寄生电源供电,“1=外面电源供电。 办理数据DS18B20的高速暂储存藏器由 9 个字节组成,其分配如图 3 所示。当温度变换命令宣布后,经变换所得的温度值以二字节补码形式存放在高速暂储存藏器的第 0 和第 1 个字节。单片机可经过单线接口读到该数据, 读取时低位在前,高位在后。

20、DS18B20温度数据表上表是 DS18B20温度采集转变后获得的 12 位数据,储藏在 DS18B20的两个 8 比特的 RAM中,二进制中的前面 5 位是符号位,若是测得的温度大于或等于 0,这 5 位为 0,只要将测到的数值乘于 0.0625 即可获得实质温度;若是温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 0.0625 即可获得实质温度。温度变换计算方法举例:比方当 DS18B20采集到 +125的实质温度后,输出为 07D0H,那么:实质温度 =07D0H 0.0625=20000.0625=1250C。 比方当 DS18B20采集到 -55 的实质温度后,输出

21、为 FC90H,那么应先将 11 位数据位取反加 1 得 370H符号位不变,也不作为计算,那么: 实质温度 =370H0.0625=8800.0625=550C。2、显示模块 LCD1602 资料这里主要介绍下指令说明及时序优异文档合用标准文案1602 液晶模块内部的控制器共有11 条控制指令,如表 10-14 所示:序号指令RSR/W D7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开 /关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生计贮器地00

22、01字符发生计贮器地址址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写 数 到 CGRAM或0要写的数据内容DDRAM 111从 CGRAM 或 DDRAM1读出的数据内容读数1表 10-14 :控制命令表1602 液晶模块的读写操作、 屏幕和光标的操作都是经过指令编程来实现的。 说明: 1 为高电平、 0 为低电平指令 1:清显示,指令码 01H, 光标复位到地址 00H 地址。指令 2:光标复位,光标返回到地址 00H 。指令 3:光标和显示模式设置 I/D:光标搬动方向,高电平右移,低电平左移 S:屏幕上所有文字可否左移也许右移。高电平表示有效,低电平

23、那么无效。指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标可否闪烁,高电平闪烁,低电平不闪烁。指令 5:光标或显示移位 S/C :高电平时搬动显示的文字,低电平时搬动光标。优异文档合用标准文案指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示, 高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符。指令 7:字符发生器 RAM 地址设置。指令 8:DDRAM 地址设置。指令 9:读忙信号和光标地址

24、 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 读操作时序优异文档合用标准文案图 10-56 写操作时序四

25、、软件设计系统程序主要包括主程序、读出温度子程序、温度变换子程序、计算温度子程序、显示等等。1、 主程序主要功能是完成 DS18B20的初始化工作, 并进行读温度, 将温度转变为为压缩BCD码 并在显示器上显示传感器所测得的实质温度。2、 读出温度子程序读出温度子程序的主要功能是读出 RAM中的 9 字节,在读出时需要进行 CRC 校验,校验有错时不进行温度数据的改写。其程序流程图以以下列图所示。3、 温度变换命令子程序温度变换命令子程序主若是发温度变换开始命令,当采用 12 位辩白率时变换优异文档合用标准文案时间约为 750ms,在本程序设计中采用 1s 显示程序延时法等待变换的完成。流程图

26、图以下4、计算温度子程序计算温度子程序将 RAM中读取值进行 BCD码的变换运算,并进行温度值正负的判断。流程图以下:五、完满程序以下:#include #include 优异文档合用标准文案typedef unsigned char uint8;#define uint unsigned int#define uchar unsigned charsbit DQ = P33; / 定义 DQ 引脚为uchar code Bw10= 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;/ 百位编码uchar codeXsw16=0x30,0x31

27、,0x31,0x32,0x33,0x33,0x34,0x34,0x35,0x36,0x36,0x37,0x38,0x38,0x39,0x39;/ 小数位编码sbit RS = P20 ;sbit RW = P21 ;sbit EN = P22 ;sbit BUSY = P07;uchar wendu;uchar temp_g,temp_d;unsigned char code word1=Temperature:;void delay(uint xms)uint i,j;for(i=xms;i0;-i)for(j=110;j0;-j);void Delayus(int t) / 在 11.05

28、9MHz 的晶振条件下调用本函数需要 24 s ,此后每次计数需 16 sint s;for (s=0; st;s+);等待繁忙标志void wait(void)P0 = 0xFF;doRS=0;RW=1;EN=0;EN=1;while (BUSY = 1);EN=0;写数据优异文档合用标准文案void w_dat(uint8 dat)wait();EN=0;P0 = dat;RS=1;RW=0;EN=1;EN=0;写命令void w_cmd(uint8 cmd)wait();EN=0;P0 = cmd;RS=0;RW=0;EN=1;EN=0;发送字符串到 LCDvoid w_string(uint8 addr_start, uint8 *p)w_cmd(addr_start);while (*p != 0)w_dat(*p+);初始化 1602void Init_LCD1602(void)w_cmd(0x38); / 16*2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1