1、凌 阳, 拇指 凌阳 凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 project 凌阳, 拇指 凌阳报 凌阳, 拇指 凌阳告 凌阳, 拇指 凌阳 ( 2010 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 2011 凌阳, 拇指 凌阳 学年 凌阳, 拇指 凌阳 第 凌阳, 拇指 凌阳 2 凌阳, 拇指 凌阳 学期) 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 课程名称: 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳
2、 凌阳, 拇指 凌阳 project3 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳凌阳, 拇指 凌阳 班 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 级: 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 学 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 号: 凌
3、阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳 ,拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 姓 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 名: 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 指导教师: 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳
4、凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 2011 凌阳, 拇指 凌阳 年 凌阳, 拇指 凌阳 05月 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 一、题目( 1):环境温度监测系统 凌阳, 拇指 凌阳 设计要求 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 1.测量环境温度并显示 , 拇指 精确到 0.1;(基本) 凌阳, 拇指 凌阳 2.能通过按键设置温度上下限 , 拇指 当所测温度超过该范围时能有报警提示(声或 凌阳, 拇指 凌阳 光);(基本) 凌阳, 拇指
5、凌阳 3.多点温度的测量和显示;(进阶) 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳
6、 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 1 凌 阳, 拇指 凌阳总体 设计方案 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 1.1方案选择 凌 阳, 拇指 凌阳 本设计方案的选择主要是感温元件的选择 , 拇指 经过查阅资料 , 拇指 市场上应用比较广泛的感温器有以下两种: 凌阳, 拇指 凌阳 AD590: 电流输出型的测温组件 , 拇指 温度每升高 1摄氏度 K, 拇指 电流增加 1UA, 拇指 温度测量范围在 -55度到 150度之间 。 食指 其所采集到的数据需要经过 A/
7、D转换 , 拇指 才能得到实际的温度值 。 食指 凌阳, 拇指 凌阳 DS18B20:除了测量温度之外 , 拇指 可以把温度以数字方式送出 , 拇指 温度送出的精度为 0.5度温度测量范围在 -55度 到 125度之间 , 拇指 可做恒温控制 。 食指 凌阳, 拇指 凌阳 本次设计选用 DS18B20, 拇指 因为其性能符合设计要求 , 拇指 而且不需要外加 A/D转换 , 拇指 比 AD590更加方便 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 1.2方案总体设计框图 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 1.2.1控制器 凌阳, 拇指 凌阳 单片机 AT89S51具有低电压供电和体
8、积小等特点 , 拇指 四个端口只需要两个口就能满足电路系统的设计需要 。 食指 凌阳, 拇指 凌阳 1.2.2显示电路 凌阳, 拇指 凌阳 分为三部分 , 拇指 一个共阴极的四段数码管和两个共阴极额二段数码管 , 拇指 分别用于显示温度和上下限温度 。 食指 凌阳, 拇指 凌阳 1.2.3温度传感器 凌阳, 拇指 凌阳 DS18B20温度传感器是美国 DALLAS半导体公司最新推出的一种改进型智能温度传感器 , 拇指与传统的热敏电阻等测温元件相比 , 拇指 它能直接读出被测温度 , 拇指 并且可根据实际要求通过简单的编程实现位的数字值读数方式 。 食指 凌阳, 拇指 凌阳 1.2.4按键 凌阳
9、, 拇指 凌阳 选用 四个按键 , 拇指 分别控制选择上下限 , 拇指 增加 , 拇指 减小 和选择温度计 。 食指 凌阳, 拇指 凌阳 1.2.5报警 凌阳, 拇指 凌阳 选用一个 sounder进行 报警 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 2 凌 阳, 拇指 凌阳DS18B20介绍 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 2.1技术特性描述 凌阳, 拇指 凌阳 2.1.1 凌阳, 拇指 凌阳 独特的单线接口方式 , 拇指 DS18B20在与微处理器连接时仅需要一条口线即可实现
10、微处理器与 DS18B20的双向通讯 。 食指 凌阳, 拇指 凌阳凌阳, 拇指 凌阳 2 1.2 凌阳, 拇指 凌阳 测温范围 凌阳, 拇指 凌阳 55 +125 , 拇指 固有测温分辨率 0.5 。 食指 凌阳 ,拇指 凌阳凌阳, 拇指 凌阳 2.1.3 凌阳, 拇指 凌阳 支持多点组网功能 , 拇指 多个 DS18B20可以并联在唯一的三线上 , 拇指 最多只能并联 8个 , 拇指 如果数量过多 , 拇指 会使供电电源电压过低 , 拇指 从而造成信号传输的不稳定 , 拇指 实现多点测温 凌阳, 拇指 凌阳凌阳, 拇指 凌阳 控 制 器 显示电路 温度传感器 报警 按键 2.1.4 凌阳,
11、拇指 凌阳 工作电源 : 凌阳, 拇指 凌阳 35V/DC 凌阳, 拇指 凌阳凌阳, 拇指 凌阳 2.1.5 凌阳, 拇指 凌阳 在使用中不需要任何外围元件 凌阳, 拇指 凌阳凌阳, 拇指 凌阳 2.1.6 凌阳, 拇指 凌阳 测量结果以 912位数字量方式串行传送 凌阳 ,拇指 凌阳凌阳, 拇指 凌阳 2.1.7 凌阳, 拇指 凌阳 不锈钢保护管直径 凌阳, 拇指 凌阳凌阳, 拇指 凌阳 2.1.8 凌阳, 拇指 凌阳 适用于 DN1525, 凌阳, 拇指 凌阳 DN40DN250各种介质工业管道和狭小空间设备测温 凌阳, 拇指 凌阳凌阳, 拇指 凌阳 2.1.9 凌阳, 拇指 凌阳 标准安
12、装螺纹 凌阳, 拇指 凌阳 M10X1, 凌阳, 拇指 凌阳 M12X1.5, 凌阳, 拇指 凌阳 G1/2” 任选 凌阳, 拇指 凌阳凌阳, 拇指 凌阳 2.1.10 凌阳, 拇指 凌阳 PVC电缆直接出线或德式球型接线盒出线 ,便于与其它电器设备连接 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 2.2内部结构 凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指凌阳 上图为 DS1820 凌阳, 拇指 凌阳 的主要部件 。 食指 DS1820 凌阳, 拇指 凌阳 有三个主要数字部件: 1) 64 凌阳, 拇指 凌阳 位激光 ROM, 拇指 凌阳, 拇指 凌阳 2)温度传感器 , 拇
13、指 3)非易失性温度报警触发器 TH 凌阳, 拇指 凌阳 和 TL。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 DS1820 凌阳, 拇指 凌阳 依靠一个单线端口通讯 。 食指 在单线端口条件下 , 拇指 必须先建立 ROM 凌阳, 拇指 凌阳 操作协议 , 拇指 才能进行存储器和控制操作 。 食指 因此 , 拇指 控制器必须首先提供下面 5 凌阳, 拇指 凌阳 个 ROM 凌阳, 拇指 凌阳 操作命令之一: 1)读 ROM, 拇指 2)匹配 ROM, 拇指 3)搜索 ROM, 拇指 4)跳过 ROM, 拇指 5)报警搜索 。 食指 这些命令对每个器件的激光 ROM 凌阳, 拇指 凌阳 部
14、分进行操作 , 拇指 在单线总线上挂有多个器件时 , 拇指 可以区分出单个器件 , 拇指 同时可以向总线控制器指明有多少器件或是什么型号的器件 。 食指 成功执行完一条 ROM 凌阳, 拇指 凌阳 操作序列后 , 拇指 即可进行存储器和控制操作 , 拇指 控制器可以提供 6 凌阳, 拇指 凌阳 条存储器和控制操作指令中的任一条 。 食指 凌阳, 拇指 凌阳 一条控制操作命令指示 凌阳, 拇指 凌阳 DS1820 凌阳, 拇指 凌阳 完成一次温度测量 。 食指 测量结果放在 DS1820 凌阳, 拇指 凌阳 的暂存器里 , 拇指 用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出 。 食指
15、 温度报警触发器 TH 凌阳, 拇指 凌阳 和 TL 凌阳, 拇指 凌阳各由一个 EEPROM 凌阳, 拇指 凌阳 字节构成 。 食指 如果没有对 DS1820 凌阳, 拇指 凌阳 使用报警搜索命令 , 拇指 这些寄存器可以做为一般用途的用户存储器使用 。 食指 可以用一条存储器操作命令对 TH 凌阳, 拇指 凌阳 和 TL 凌阳, 拇指 凌阳 进行写入 , 拇 指 对这些寄存器的读出需要通过暂存器 。 食指 所有数据都是以最低有效位在前的方式进行读写 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 2.3电路连接 凌 阳, 拇指 凌阳 凌 阳, 拇指 凌阳 2.3.1寄生电源 凌阳, 拇指
16、 凌阳 上图示出寄生电源电路 。 食指 这个电路会在 I/O 凌阳, 拇指 凌阳 或 VDD 凌阳, 拇指 凌阳 引脚处于高电平时“偷”能量 。 食指 凌阳, 拇指 凌阳 2.3.2加外部电源 凌阳, 拇指 凌阳 电路如下图: 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 需要外加外部电源 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 2.4软件设计 凌 阳, 拇指 凌阳 为了实现 DS18B20功能 , 拇指 软件需要两个部分: 凌阳, 拇指 凌阳 启动温度转换 凌阳, 拇指 凌阳 读取温度数值 凌阳, 拇指 凌阳 为了实现以上步骤 , 拇指 软件需要有三块内容: 凌阳, 拇指 凌阳 复位 凌
17、阳, 拇指 凌阳 写操作 凌阳, 拇指 凌阳 读操作 凌阳, 拇指 凌阳 现不详细三块内容的具体写法 , 拇指 仅出示三部分的时序图 , 拇指 如下: 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 启动温度转化步骤: 凌阳, 拇指 凌阳 1.复位 DS18B20凌阳, 拇指 凌阳 2.发出 Skip 凌阳, 拇指 凌阳 ROM命令( CCH) 凌阳, 拇指 凌阳 3.发出 Convert 凌阳, 拇指 凌阳 T命令( 44H) 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 读取温度步骤: 凌阳, 拇指 凌阳 1.复位 DS18B20凌阳, 拇指 凌阳 2.发出 Sk
18、ip 凌阳, 拇指 凌阳 ROM命令( CCH) 凌阳, 拇指 凌阳 3.发出 Read 凌阳, 拇指 凌阳 命令( BEH) 凌阳, 拇指 凌阳 4.读两字节的温度 凌阳, 拇指 凌阳 5.温度格式转换 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 2.5温度转换 凌 阳, 拇指 凌阳 DS18B20中的温度传感器可完成对温度的测量 , 拇指 以 12位转化为例:用 16位符号扩展的二进制补码读数形式提供 , 拇指 以 凌阳 , 拇指 凌阳 0.0625 /LSB形式表达 , 拇指 其中 S为符号位 。 食指 凌阳, 拇指 凌阳 凌 阳, 拇指 凌阳 这是 12位转化后得到的 12位数据 , 拇指
19、 存储在 18B20的两个 8比特的 RAM中 , 拇指 二进制中的前面 5位是符号位 , 拇指 如果测得的温度大于 0, 拇指 凌阳, 拇指 凌阳 这 5位为 0, 拇指 只要将测到的数值乘于 0.0625即可得到实际温度;如果温度小于 0, 拇指 这 5位为 1, 拇指 测到的数值需要取反加 1再乘于0.0625即可得到实际 凌阳, 拇指 凌阳 温度 。 食指 凌阳, 拇指 凌阳 例如 +125 的数字输出为 07D0H, 拇指 +25.0625 的 数字输出为 0191H, 拇指 -25.0625 的数字输出为 FE6FH, 拇指 -55 的数字输出为 FC90H 凌 阳, 拇指 凌阳
20、。 食指 凌阳, 拇指 凌阳 凌 阳, 拇指 凌阳 3 凌 阳, 拇指 凌阳系统整体硬件电路 凌阳, 拇指 凌阳 系统的硬件电路同方案设计框图所示相同 , 拇指 包含单片机电路 , 拇指 显示电路 , 拇指 按键报警电路 ,拇指 和 18B20电路 。 食指 凌阳, 拇指 凌阳 总体模拟电路如下图: 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 3.1单片机电路 凌阳, 拇指 凌阳 本次设计采用 AT89C51型号的单片机 。 食指 凌阳, 拇指 凌阳 因为仅采用 proteus仿 真 , 拇指 所以单片机的外围电路可以略去 , 拇指 所以在上图电路中没有表现 。 食指 凌阳, 拇指 凌阳 3.2显
21、示电路 凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 显示电路选用了三个共阴极数码管 。 食指 其中四位的显示 DS18B20所测得的温度 , 拇指 两个两位的显示预设的温度上下限 。 食指 其中 , 拇指 他们的片选引脚都接在 P2口 , 拇指 而段选引脚都接在 P0口 , 拇指因此 , 拇指 P0需要一个上拉电阻 。 食指 凌阳, 拇指 凌阳 3.3DS18B20电路 凌阳, 拇指 凌阳 凌阳,拇指 凌阳 两个 DS18B20分别接在 P3.7与 P3.6。 食指 都采用给外接电源的接法 。 食指 但是没有采用一线式的接法 。 食指 另外一个不同点是 , 拇指 在总线上缺少上拉电阻 , 拇指
22、笔者在试验过程中发现 , 拇指 这不影响 DS18B20的工作 , 拇指 但是在实际电路中必须要添加 。 食指 凌阳, 拇指 凌阳 3.4按键报警电路 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 按键电路分为以上三块 , 拇指 不做具体介绍 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 4 凌 阳, 拇指 凌阳系统软件算法与分析 凌阳, 拇指 凌阳 系统程序包括主函数 , 拇指 DS18B20函数 , 拇指 显示函数 , 拇指 按键函数等 。 食指 其中 , 拇指 DS18B20函数包括读一个字节 , 拇指 写一个字节和读取温度函数 。 食指 凌阳, 拇
23、指 凌阳 凌阳, 拇指 凌阳 初始化 按键 1 函数 按键 2 函数 Model22 读取温度计 1 温度 读取温度计 2 温度 判断上下限 给定温度数值,显示 报警 1 2 Y N 上图为主函数的程序框图 。 食指 凌阳, 拇指 凌阳 DS18B20的读取温度流程分为复位 DS18B20, 拇指 发出 Skip 凌阳, 拇指 凌阳 ROM命令( CCH) , 拇指 发出 Convert 凌阳, 拇指 凌阳 T命令( 44H)复位 DS18B20, 拇指 发出 Skip 凌阳, 拇指 凌阳 ROM命令( CCH) , 拇指 发出 Read 凌阳, 拇指 凌阳 命令( BEH) , 拇指 读两字
24、节的温度 , 拇指 温度格式转换 。 食指 凌阳, 拇指 凌阳 显示与按键函数都为最基本的函数 , 拇指 不进行解释 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 5 凌 阳, 拇指 凌阳总结与体会 凌阳, 拇指 凌阳 本次设计基本完成设计任务 , 拇指 但是在细节上还有一些不足: 凌阳, 拇指 凌阳 1.温度为负值时无法显示 。 食指 凌阳, 拇指 凌阳 2.温度超过上下限时 , 拇指 显示会有频闪 。 食指 凌阳, 拇指 凌阳 3.在刚运行时 , 拇指 喇叭会有一声短响 。 食指 凌阳, 拇指 凌阳 4.多点测温不是一线式 , 拇指 编程属于最笨的多线测量 。 食指 凌阳, 拇指 凌阳
25、 凌阳, 拇指 凌阳 本次为第二次编写单片机程序 , 拇指 对单片机与 C语言有了进一步的了解 。 食指 此次课程设计的重点在于 DS18B20的运用 , 拇指 由于其内部有着严格的时序性 , 拇指 所以要对其进行认真的学习才能了解函数的运行状况 。 食指 建议仔细研读 DS18B20手册 , 拇指 上网观看 DS18B20的讲解视频 。 食指 凌阳, 拇指 凌阳 通过此次设计 , 拇指 我意识到单片机的学习要敢于尝试 , 拇指 理论与实际相结合 , 拇指 不怕错误 , 拇指 多多向高手问问题 。 食指 只有在一次一次的实验中 , 拇指 自己的水平才能真正的提高 。 食指 而且 , 拇指 编写单片机程序会上瘾的 。 食指 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 参考文献 凌 阳, 拇指 凌阳 杜树春 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 单片机 C语言和汇编语言混合编程实践 凌阳, 拇指 凌阳 DS18B20中文资料 凌阳, 拇指 凌阳 李群芳 凌阳, 拇指 凌阳 张士军 凌阳, 拇指 凌阳 单片机微型计算机与接口技术 凌阳, 拇指 凌阳 http:/ 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 附:系统程 序 凌阳, 拇指 凌阳