单片机课程设计报告基于DS18B20的数字温度计设计.doc
《单片机课程设计报告基于DS18B20的数字温度计设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告基于DS18B20的数字温度计设计.doc(19页珍藏版)》请在三一办公上搜索。
1、单片机课设报告设计题目: 数字温度计设计 电子工程与自动化 学院 智能科学与技术 专业 8003902 班姓名: 学号: 成绩:指导老师:赵龙阳目录:关键字及摘要:*第一页第一节:设计要求* 第一页第二节:设计内容 1、Ds18B20传感器原理及程序*第二页至第九页 2、LCD1602液晶显示原理及程序*第十页至第十四页3、上下限设置及程序*第十五页 4、报警子程序*第十六页 5、蜂鸣器发声程序*第十七页 6、主程序main*第十七页 7、仿真图*第十七页8、protel原理图*第十八页至十九页9、PCB图*第二十页第三节:总结*第二十页第四节:引文*第二十页关键字:DS18B20 温度计 数
2、字 单片机 液晶 LCD1602摘要:本次课程设计是基于Ds18B20的数字温度计设计,他实现的温度的读取与直接显示,能够设置上下限,并能实现报警功能,显示用液晶显示(LCD1602)。一、设计要求1、基本范围-10110;2、精度误差小于0.5;3、直读显示数字温度值;4、可以任意设定温度的上下限报警功能。二、设计内容1、DS18B20传感器原理、DS18B20概述DS18B20是一个可以通过单线接口进行双向信温度传感器。它可以通过数据线供电,电源电压范围为35.5V,零待机功耗,测温范围为-55+125,精确度为912位(可通过设定数据位选择相应位数)。9位的分辨率为0.5,12位的温度分
3、辨率为0.0625,默认位数为12位。由此可以看出用DS18B20进行温度计设计能够实现以上温度读取要求。、DS18B20引脚排列 如图DS18B20有两种封装,本次设计中选用3引脚封装(DS18B20 PR35 PACKAGE)、传感器温度读取DS1820 有三个主要数字部件:1)64 位激光 ROM;2)温度传感器;3)非易失性温度报警触发器 TH 和 TL。DS1820 依靠一个单线端口通讯。在单线端口条件下,必须先建立 ROM 操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5个ROM操作命令之一:1)读 ROM;2)匹配 ROM;3)搜索ROM;4)跳过 ROM;5)
4、报警搜索。这些命令对每个器件的激光 ROM 部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条 ROM 操作序列后,即可进行存储器和控制操作,控制器可以提供 6 条存储器和控制操作指令中的任一条。 一条控制操作命令指示 DS1820 完成一次温度测量。测量结果放在 DS1820 的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器 TH 和 TL 各由一个 EEPROM 字节构成。如果没有对DS1820 使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。可以用一条存储器操
5、作命令对 TH 和 TL 进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。温度数据关系DS1820 是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55)的值增加,表明所测温度大于-55。 同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到 0,如果门周期仍未结束,将重复这一过程。 斜坡式累加器用来补
6、偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。 DS1820 内部对此计算的结果可提供 0.5的分辨力。温度以 16bit 带符号位扩展的二进制补码形式读出,表 1 给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。DS1820 测温范围-55+125,以 0.5递增。如用于华氏温度,必须要用一个转换因子查找表。、通过单线总线端口访问 DS1820 的协议如下: 初始化 ROM 操作命令 存储器操作命令 执行/数据 初始化 通过单线总线的
7、所有执行(处理)都从一个初始化序列开始。初始化序列包括一个由总线控制器发出的复位脉冲和跟有其后由从机发出的存在脉冲。 存在脉冲让总线控制器知道 DS1820 在总线上且已准备好操作。详见“单线信号”节。 ROM 操作命令 一旦总线控制器探测到一个存在脉冲,它就可以发出 5 个 ROM 命令中的任一个。所有 ROM 操作命令都 8位长度。下面是这些命令:Read ROM 33h 这个命令允许总线控制器读到 DS1820 的 8 位系列编码、唯一的序列号和 8 位 CRC码。只有在总线上存在单只 DS1820 的时候才能使用这个命令。如果总上有不止一个从机,当所有从机试图同时传送信号时就会发生数据
8、冲突(漏极开路连在一起开成相与的效果)。 Match ROM 55h 匹配 ROM 命令,后跟64 位 ROM 序列,让总线控制器在多点总线上定位一只特定的DS1820。只有和 64 位ROM序列完全匹配的 DS1820 才能响应随后的存储器操作命令。所有和64位ROM序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多个器件时都可以使用。 Skip ROM CCh 这条命令允许总线控制器不用提供 64 位 ROM 编码就使用存储器操作命令, 在单点总线情况下右以节省时间。如果总线上不止一个从机,在 Skip ROM命令之后跟着发一条读命令,由于多个从机同时传送信号,总线上就会发生数据
9、冲突(漏极开路下拉效果相当于相相与)。Search ROM F0h 当一个系统初次启动时,总线控制器可能并不知道单线总线上有多少器件或它们的64位ROM编码。搜索 ROM命令允许总线控制器用排除法识别总线上的所有从机的 64 位编码。 Alarm Search ECh 这条命令的流程图和 Search ROM 相同。然而,只有在最近一次测温后遇到符合报警条件的情况, DS1820 才会响应这条命令。 报警条件定义为温度高于 TH 或低于 TL。 只要DS1820不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。 I/O 信号 DS1820 需要严格的协议以确保数据的完整性。协议
10、包括几种单线信号类型:复位脉冲、存在脉冲、写 0、写1、读0 和读 1。所有这些信号,除存在脉冲外,都是由总线控制器发出的。 和 DS1820 间的任何通讯都需要以初始化序列开始,初始化序列见图 11。一个复位脉冲跟着一个存在脉冲表明 DS1820 已经准备好发送和接收数据 (适当的 ROM 命令和存储器操作命令) 。 备注:1、温度转换时间可长达500ms。接到温度转换的协议后,如果器件不是从 VDD 供电的话,I/O线就必须至少保持 500ms 高电平。这样,发出一个 Convert T 命令之后,单线总线上在这段时间内就不能有其他活动。 2、接到 Copy Scratchpad 协议后,
11、如果器件不是从VDD 供电的话,I/O 线必须至少保持10ms高电平。这样,在发出一个Copy Scratchpad 命令后,这段时间内单线总线上就不能有其他活动。 总线控制器发出(TX)一个复位脉冲(一个最少保持480s 的低电平信号),然后释放总线,进入接收状态(RX)。单线总线由 5K 上拉电阻拉到高电平。探测到 I/O 引脚上的上升沿后,DS1820等待 1560s,然后发出存在脉冲(一个 60240s 的低电平信号)。 存储器操作命令: Write Scratchpad 4E 这个命令向 DS1820的暂存器中写入数据,开始位置在地址 2。接下来写入的两个字节将被存到暂存器中的地址位
12、置 2 和 3。可以在任何时刻发出复位命令来中止写入。 Read Scratchpad BEh 这个命令读取暂存器的内容。读取将从字节0 开始,一直进行下去,直到第 9(字节 8CRC)字节读完。如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。 Copy Scratchpad 48h 这条命令把暂存器的内容拷贝到DS1820的 E2存储器里,即把温度报警触发字节存入非易失性存储器里。如果总线控制器在这条命令之后跟着发出读时间隙,而 DS1820 又正在忙于把暂存器拷贝到 E2存储器,DS1820 就会输出一个“0”,如果拷贝结束的话,DS1820则输出“1”。如果使用寄生电源
13、,总线控制器必须在这条命令发出后立即起动强上拉并最少保持10ms。 Convert T 44h 这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后 DS1820保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙,而DS1820 又忙于做时间转换的话,DS1820 将在总线上输出“0”,若温度转换完成,则输出“1”。如果使用寄生电源,总线控制器必须在发出这条命令后立即起动强上拉,并保持500ms。 Recall E2 B8h 这条命令把报警触发器里的值拷回暂存器。这种拷回操作在 DS1820 上电时自动执行,这样器件一上电暂存器里马上就存在有效的数据了。若在这条命令发出之后
14、发出读时间隙,器件会输出温度转换忙的标识:“0”=忙,“1”=完成。 Read Power Supply B4h 若把这条命令发给 DS1820 后发出读时间隙,器件会返回它的电源模式:“0”=寄生电源,“1”=外部电源。 读/写时间隙 DS1820 的数据读写是通过时间隙处理位和命令字来确认信息交换。当主机把数据线从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两种写时间隙:写1 时间隙和写 0时间隙。所有写时间隙必须最少持续 60s,包括两个写周期间至少 1s 的恢复时间。 I/O 线电平变低后,DS1820 在一个 15s 到 60s 的窗口内对 I/O 线采样。如果线上是高电平,就是
15、写 1,如果线上是低电平,就是写 0(见下图)主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的 15s内允许数据线拉到高电平。 主机要生成一个写 0 时间隙,必须把数据线拉到低电平并保持 60s。 读时间隙 当从 DS1820 读取数据时,主机生成读时间隙。当主机把数据线从高高平拉到低电平时,写时间隙开始。数据线必须保持至少 1s;从 DS1820 输出的数据在读时间隙的下降沿出现后 15s 内有效。因此,主机在读时间隙开始后必须停止把 I/O 脚驱动为低电平 15s,以读取I/O 脚状态(见下图)。在读时间隙的结尾,I/O 引脚将被外部上拉电阻拉到高电平。所有读时间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 报告 基于 DS18B20 数字 温度计 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4147691.html