




已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕毕 业业 设设 计 计 论论 文文 摘摘 要要 随着社会的进步和工业技术的发展 人们越来越重视温度因素 目前许多 产品都对温度范围要求严格 但是目前市场上普遍存在的温度检测仪器大都是 单点测量 并且有温度信息传递不及时 精度不够的缺点 不利于工业控制者 根据温度变化及时做出决定 在这样的形式下 开发设计出一种能够同时测量 多点 并且实时性高 精度高 能够综合处理多点温度信息的测量系统就很有 必要 本课题以 STM32F107 单片机系统为核心 并能对多点温度进行实时巡检 DS18B20 是一种可组网的高精度数字式温度传感器 由于其具有单总线的独特 优点 可以使用户轻松地组建起传感器网络 并可使多点温度测量电路变得简 单 可靠 本论文结合实际使用经验 介绍了 DS18B20 数字温度传感器在单片 机下的硬件连接及软件编程 并给出了软件流程图 关键关键词词 温度测量 单总线 数字温度传感器 STM32F107 单片机 Abstract Along with the progress of the society and the development of the technology industry People pay more and more attention to temperature factors now many pro ducts strict to temperature range But on the market at present the prevalence of temperature testing instrument is mostly single point measurement And have a temperature information transfer not timely precision insufficient shortcomings According to temperature change against industrial controller make timely decision In this form development and design a kind of can simultaneously measuring more and high real time high precision and can handle more comprehensive information system of measurement temperature is very necessary This topic to STM32F107 single chip microcomputer system as the core and able to more real time temperature inspection DS18B20 is a network of high precision digital temperature sensor since it has the unique advantages single bus users can easily set up sensor network and can make more temperature measurement circuit become simple and reliable In this paper the actual use of experience this paper introduces digital temperature sensor DS18B20 in under the single chip of the hardware connection and software program ming and gives the software flow chart Key words temperature measurement single bus Digital temperature sensor STM32F107 single chip 目目 录录 第一章第一章 绪绪 论论 1 1 1 课题背景 1 1 2 本课题的任务与目标 2 1 3 本课题的方案设计 2 第二章第二章 硬件设计硬件设计 4 2 1 温度传感器设计 4 2 2 单片机系统设计 6 2 3 显示电路设计 8 2 4 键盘电路设计 10 2 5 报警电路设计 11 2 6 存储模块设计 11 2 7 通信模块设计 12 第三章第三章 软件设计软件设计 14 3 1 软件设计的一般原则 14 3 2 系统主程序流程图 15 3 3 温度传感器程序设计 16 3 4 显示程序设计 18 3 5 键盘程序设计 19 3 6 报警程序设计 19 3 7 存储模块程序设计 20 3 8 通信模块程序设计 20 第四章第四章 结结 论论 22 参考文献参考文献 23 致致 谢谢 24 附附 录录 25 第一章第一章 绪绪 论论 1 1 课题背景课题背景 在人类的生活环境中 温度扮演着极其重要的角色 无论你生活在哪里 从事什么工作 无时无刻不在与温度打着交道 自 18 世纪工业革命以来 工业 发展对是否能掌握温度有着很大的联系 在冶金 钢铁 石化 水泥 玻璃 医药等行业 可以说几乎 80 的工业部门都不得不考虑着温度的因素 温度传感器主要经过了三个发展阶段 1 模拟集成温度传感器 该传感 器是采用硅半导体集成工艺制成 因此亦称硅传感器或单片集成温度传感器 此种传感器具有功能单一 测温误差小 价格低 响应速度快 传输距离远 体积小 微功耗等 适合远距离测温 控温 不需要进行非线性校准 外围电 路简单 它是目前应用最为普遍的一种集成传感器 典型产品有 AD590 AD592 TMP17 LM135 等 2 模拟集成温度控制器 该传感器 主要包括温控开关 可编程温度控制器 典型产品有 LM56 AD22105 和 MAX6509 某些增强型集成温度控制器中还包含了 A D 转换器以及固化好的程 序 这与智能温度传感器有某些相似之处 但它自成系统 工作时并不受微处 理器的控制 这是二者的主要区别 3 智能温度传感器 该传感器 亦称数 字温度传感器 是微电子技术 计算机技术和自动测试技术 ATE 的结晶 智能 温度传感器内部都包含温度传感器 A D 转换器 信号处理器 存储器和接口 电路 有的产品还带多路选择器 中央控制器 CPU 随机存取存储器 RAM 和 只读存储器 ROM 智能温度传感器的特点是能输出温度数据及相关的温度控 制量 适配各种微控制器 MCU 并且它是在硬件的基础上通过软件来实现测 试功能的 其智能化程度也取决于软件的开发水平 进入 21 世纪后 温度传感器正朝着高精度 多功能 总线标准化 高可靠 性及安全性 开发虚拟传感器和网络传感器 研制单片测温系统等高科技的方 向迅速发展 目前市场上主要存在单点和多点两种温度测量仪表 对于单点温测仪表 主要采用传统的模拟集成温度传感器 其中又以热电阻 热电偶等传感器的测 量精度高 测量范围大 而得到了普遍的应用 此种产品测温范围大都在 200 800 之间 分辨率 12 位 最小分辨温度在 0 001 0 01 之间自 带 LED 显示模块 显示 4 位到 16 位不等 有的仪表还具有存储功能 可存储几百到几 千组数据 该类仪表可很好的满足单个用户单点测量的需要 多点温度测量仪 表 相对与单点的测量精度有一定的差距 虽然实现了多路温度的测控 但价 格昂贵 针对目前市场的现状 本课题提出了一种可满足要求 可扩展的并且性价 比较高的单片机多路测温系统 1 2 本课题的任务本课题的任务与目标与目标 本课题设计主要是实现对温度进行多点同时测量并准确显示 整个系统由 单片机控制 要能够接收温度传感器的数据并显示出来 并且可以从键盘输入 命令 系统根据不同的命令 实现不同的功能 并且能够对异常情况进行报警 还可以将测量数据保存起来以供以后查询使用或者通过串口传给 PC 机 并设 计一种合理 可行的单片机监控软件 完成多点测量和显示的任务 并编写硬 件底层驱动程序 1 3 本课题的方案设计本课题的方案设计 温度测量的方案有很多种 可以采用传统的分立式传感器 模拟集成传感 器以及新兴的智能型传感器 而对于控制系统则可以采用计算机 单片机等 1 3 1 设计方案一设计方案一 本方案采用模拟分立元件 如电容 电感或晶体管等非线形元件 实现多 点温度的测量及显示 该方案设计电路简单易懂 操作简单 且价格便宜 但 采用分立元件分散性大 不便于集成数字化 而且测量误差较大 1 3 2 设计方案二设计方案二 本方案采用 AT89C52 单片机为核心 通过温度传感器 AD590 采集温度信 号 经信号放大器放大后 送到 A D 转换芯片 最终经单片机检测处理温度信 号 但 A D 转换电路设计较烦琐 而且使用 AD590 进行温度检测必须对输出 端进行补偿 以减小误差 1 3 3 设计方案三设计方案三 本方案运用主从分布式思想 由一台上位机 PC 微型计算机 下位机 单片机 多点温度数据采集 组成两级分布式多点温度测量的巡回检测系统 该系统采用 RS 232 串行通讯标准 通过上位机 PC 控制下位机 单片机 进行现场温度采集 温度值既可以送回主控 PC 机进行数据处理 由显示器显 示 也可以由下位机单独工作 实时显示当前各点的温度值 并且对各点进行 控制 下位机采用的是 STM32F107 单片机基于数字温度传感器 DS18B20 的系统 基于数字式温度计 DS18B20 的温度测量系统的硬软件开发过程 DS18B20 将温度信号直接转换为数字信号 实现了与单片机的直接接口 从而省去了信 号调理电路 该仪器电路简单 功能可靠 测量效率高 很好地弥补了传统温 度测量方法的不足 方案 3 相对与方案 1 在功能 性能 可操作性等方面都 有较大的提升 相对与方案 2 硬件电路简单 易于操作 具有更高的性价比 更大的市场 所以本课题设计采用方案 3 完成本设计 DS18B20有如下的性能特点 有如下的性能特点 1 独特的单线接口 既可通过串行口线 也可通过其它I O口线与微机连接 无需变换其它电路 直接输出被测温度值 2 多点能力使分布式温度检测应用得以简化 3 不需要外部元件 4 既可用数据线供电 也可采用外部电源供电 5 不需备份电源 6 测量范围为 55 125 固有测温分辨率为0 5 7 通过编程可实现9 12位的数字读数方式 8 用户可定义非易失性的温度告警设置 9 应用范围包括恒温控制 工业系统 消费类产品 温度计或任何热敏系 统 以上特性使得DS18B20非常适用于构建高精度 多点温度测量系统 第二章第二章 硬件设计硬件设计 本课题研究的多点测温系统是以 STM32F107 单片机和单总线数字温度传感 器 DS18B20 为核心 充分利用单片机优越的内部和外部资源及数字温度传感器 DS18B20 的优越性能构成一个完备的测温系统 实现对温度的多点测量 整个 系统由单片机控制 能够接收传感器的温度数据并显示出来 还可以从按键输 入命令 系统根据不同的命令 实现不同的功能 并且能够对异常情况进行报 警 还可以将测量数据保存起来以供以后查询使用或者通过串口传给 PC 机 由 于单片机具有强大的运算和控制功能 使得整个系统具有模块化 硬件电路简 单以及操作方便等优点 本课题的整个系统是由单片机系统电路 温度传感器电路 显示电路 键 盘电路 报警电路 存储电路 串口通信电路等构成 其系统框图如图 2 1 所 示 图图 2 1 系统整体框图系统整体框图 2 1 温度传感器温度传感器设计设计 DS18B20单总线智能温度传感器 属于新一代适配微处理器的智能温度传 DS18B20 键盘电路 发光 LED 存储电路 LCD 显示 STM32F107 单片机 报警电路 电源电路 时钟电路 复位电路 RS 232 PC 计算 机 感器 全部传感元件及转换电路集成在形如一只三极管的集成电路内 与传统 的热敏电阻相比 它能够直接读出被测温度 并且可根据实际要求通过简单的 编程实现9 12位的数字值读数方式 其可以分别93 75ms和750ms内完成9位 和12位的数字量 最大分辨率为0 0625 而且从DS18B20读出或写入 DS18B20的信息仅需要一根口线 单总线接口 DS18B20与单片机的硬件连接有两种方法 一是外部电源供电方式 VCC 接外部电源 GND接地 I 0与单片机的I 0线相连 二是寄生电源供电方式 VCC和GND接地 I 0接单片机I 0线 无论是哪种供电方式 I 0口线都要接 4 7k Q左右的上拉电阻 DS18B20有如下的性能特点 有如下的性能特点 1 可将被测温度直接转换成计算机能识别的数字信号输出 温度值不需要 经放大和A D转换成数字信号 解决了传统温度传感器存在的因参数不一致性 的问题 使用方便 2 提供9 12位温度读数 精度高 且其信息传输只需一根信号线 与计 算机接口十分简便 读写及温度变换的功率来自于数据线而不需额外的电源 3 每一个DS18B20都有一个惟一的序列号 这就允许多个DS18B20连接到 同一总线上 尤其适合于多点温度检测系统 4 负压特性 当电源极性接反时 DS18B20虽然不能正常工作 但不会因 发热而烧毁 正是由于以上特点 DS18B20广泛应用于过程控制 环境控制 建筑物 机器设备中的温度检测 其外形和管脚如图2 2所示 图图2 2 DS18B20外部形状及管脚图外部形状及管脚图 本课题设计采用外部电源供电方式 四个数字式温度传感器DS18B20与单 片机连接如图2 3所示 图图2 3 DS18B20与单片机连接图与单片机连接图 2 2 单片机系统设计单片机系统设计 STM32F107 是意法半导体推出全新 STM32 互连型系列微控制器中的一款 性能较强产品 它以 32 位 ARM Cortex M3 为内核 72MHZ 运行频率 含有高 达 64KB SRAM 256KB FLASH 80 个可编程的 I O 线 支持 256 个可嵌套中 断源 还集成了各种高性能工业标准接口 包括 ADC DAC I2C USART SPI I2S 拥有全速 USB OTG CAN2 0B 接 口 以及以太网 10 100 MAC 模块 可以满足大部分工业 医疗 楼宇自动化 家庭音响和家电市场等多种产品的需求 本课题是运用 ST 公司的 STM32F107 来实现整个系统的控制 主要运用到 了启动选项配置 复位电路 时钟电路等部分 2 2 1 启动选项启动选项 STM32F107 单片机有三种启动方式 其启动方式如下表 2 1 所示 表表 2 1 启动方式配置选择表启动方式配置选择表 BOOT1 JP13 BOOT2 JP15 启动模式描述 1 2 2 3 or open2 3金牛开发板设定为 User Flash 启动方式 2 31 2金牛开发板设定为 System Memory 启动方式 1 21 2金牛开发板设定为 Embedded SARM 启动方式 1 2 表示接高电平 1 2 3 表示接低电平 0 本课题设计采用默认的启动方式 即 1 2 接高电平 2 3 接低电平 表示从 User Flash 开始启动程序 2 2 2 复位电路复位电路 无论哪种单片机 都会涉及复位电路 如果复位电路不可靠 在工作中就 有可能出现 死机 程序走飞 等现象 复位操作使单片机进入初始化过程 程序从00000000H地址单元开始执行 当STM32F107单片机的复位引脚NRST出 现一段时间的低电平时 单片机就完成了复位操作 如果NRST持续为低电平 单片机就处于循环复位状态 而无法执行程序 因此要求复位后能脱离复位状 态 复位操作通常有上电和开关复位 上电复位要求接通电源后 自动实现复 位操作 开关复位要求在电源接通的条件下 在单片机运行期间 如果发生死 机 用按钮开关操作使单片机复位 常用的复位电路如图2 4所示 图图2 4 复位电路复位电路 2 2 3 时钟电路时钟电路 STM32F107 单片机的时钟信号通常有内部振荡方式和外部振荡方式 单片 机内部有一个高增益反相放大器 在引脚 XTAL1 和 XTAX2 外接晶体振荡器 晶 振为 8MHZ 就够成了内部振荡方式 外部振荡方式是把已有的时钟信号引入单 片机内 这种方式适于用于用来使单片机的时钟与外部信号保持一致 但内部 振荡方式所得的时钟信号比较稳定 本课题设计采用内部振荡器方式 电容值一般为 20PF 起稳定振荡频率 快速起振的作用 其电路连接如图 2 5 a 所示 另外本课题用到 RTC 功能 还 需为 STM32F107 提供 RTC 时钟 RTC 晶振为 32 768KHZ 电容值一般为 10PF 其电路连接如图 2 5 b 所示 图图 2 5 a 系统时钟电路系统时钟电路 图图 2 5 b RTCRTC 时钟电路时钟电路 2 3 显示电路设计显示电路设计 显示设备是电子系统常见的输出设备 在电子系统中占有极其重要的作用 显示电路主要有两种显示方式 数码管显示方式和LCD液晶显示方式 数码管是由7段或8段发光二极管组成 在平面上排成8字型 主要有共阴极 和共阳极两种 只要使某些段点亮而另一些段不亮就可以显示0 9 A F等字型 要使某段点亮必须具备2个条件 一是共阴极管的公共端接地和共阳极管的公共 端接电源 二是共阴极管的控制端接电源和共阳极管的控制端接地 此显示方 式具有接口简单 占用资源少 控制灵活方便等特点 目前市场上主要有2位一 体 4位一体 8位一体等数码管 价格也比较便宜 LCD液晶显示器是Liquid Crystal Display的简称 LCD的构造是在两片平行 的玻璃当中放置液态的晶体 两片玻璃中间有许多垂直和水平的细小电线 透 过通电与否来控制杆状水晶分子改变方向 将光线折射出来产生画面 不仅可 以显示字符 数字 还可以显示汉字 图片等 由于LCD显示器通过控制是否 透光来控制亮和暗 当色彩不变时 液晶也保持不变 这样就无须考虑刷新率 的问题 对于画面稳定 无闪烁感的液晶显示器 刷新率不高但图像也很稳定 LCD显示器还可以通过液晶控制透光度的技术原理让底板整体发光 做到了真 正的完全平面 但是相对于数码管显示器 其价钱比较其昂贵 由于LCD液晶显示方式相对于数码管显示方式来说不用考虑不断刷新等优 点 所以本课题设计利用TFT LCD作为输出显示设备 利用单片机传输控制信 号 在LCD上将传感器的温度信号和按键输入的控制信号都显示出来 其电路 连接如图2 6 a 所示 图图2 6 a TFT LCD电路连接图电路连接图 另外再利用4个发光LED显示4个温度传感器的工作正常情况 其电路连接 如图2 6 b 所示 图图 2 6 b 发光发光 LEDLED 电路连接图电路连接图 2 4 键盘电路设计键盘电路设计 按键是电子设备常见的输入设备 作为人们与电子设备交流的重要途径 一旦出错 将影响到电子设备的整体使用 按键电路虽然简单 但按键的稳定 性 可靠性 应引起足够的重视 单片机的按键电路主要有矩阵形式和线性形式两种 当按键较少时可接成 线性形式 当按键较多时 可以将按键接成矩阵形式 这种形式节省口线 其 中以使用 条l 0线实现 的矩阵扫描式按键电路最为常用 通常按键在按下或释放的时侯 通常伴随着几ms到十几ms的触点抖动 然 后才能稳定下来 在触点抖动期间检测按键的通断状态 会导致一次按键或释 放被错误地认为是多次操作 所以 当检测到有键按下或释放时 应通过软件 延时20 ms左右 避开触点抖动的影响 去抖的时间既不能太短也不能太长 如 果时间太短 无法起到去抖作用 如果时间太长 超过了键按下的持续时间 则会检测不到按键 由于本课题设计需要的按键较少 故采用线性按键方式 其电路连接如图2 7 所示 图图2 7 按键电路连接图按键电路连接图 2 5 报警电路设计报警电路设计 为了实现多点温度检测系统报警的功能 在单片机获取多点DS18B20温度 传感器转换的温度值后 与预设的温度值相比较 如果温度不在预设定的范围 内 高于或者低于预设的温度值 则给出报警信号 并且相应的发光二极管不 断闪烁 表示相应的温度传感器出现异常 其电路连接如图2 8所示 图图2 8 报警电路连接图报警电路连接图 2 6 存储模块设计存储模块设计 DS18B20 完成温度转换后 温度值可以显示出来 但是一些重要的数据需 要保存下来 供给以后查询使用 这就需要设计一个存储电路 由于需要存储 温度数据不是很多 所以本课题设计选用E2PROM AT24LC02芯片来设计一个 存储电路 AT24LC02芯片可以存储128个字节 足以满足本设计系统存储的需 要 其电路连接如图2 9所示 图图 2 9 存储电路连接图存储电路连接图 2 7 通信模块设计通信模块设计 RS 232是目前异步串行通信中应用最广泛的标准总线 适用于数据中断设 备 DTE 和数据通信设备 DEC ELA RS 232是目前最常用的串行接口标准 用 于计算机与计算机之间 计算机与单片机的数据通信 此标准的目的是定义数 据终端设备 DTE 之间的电气特性 RS 232提供了单片机与单片机 单片机与 PC机之间串行数据通信的标准接口 但RS 232规定的逻辑电平与单片机的逻辑 电平是不一致的 因此在应用中 必须把微处理器的信号电平 TTL电平 转换 为RS 232电平 通常选用电平转换芯片MAX 232来实现 RS 232C总线标准接 口引脚信号定义如表2 2所示 表表2 2 RS 232C通信接口标准定义表通信接口标准定义表 引 脚信 号方 向功 能 1DCDIN数据载波检测 2RXDIN接收数据 3TXDOUT发送数据 4DTROUT数据终端设备 DTE 就绪 5GND 信号公共参考地 6DSRIN数据通信设备 DEC 就绪 7RTSOUT请求发送 8CTSIN清除发送 9RIIN振铃指示 STM32F107单片机内部带有有5个串口电路接口 其功能与51系列单片机的 串口相似 在设计硬件接口电路时 应充分考虑到电路的电气特性 逻辑电平 以及驱动能力的匹配问题 若匹配得不好 将会导致通信失败 本课题设计使用的是STM32F107内部的串口1接口 采用MAX 232作为PC 机与单片机的串行通信接口间的电平转换芯片 硬件连接时 可从MAX 232中 的2路发送器和接收器中任选一路 只要注意发送与接收的引脚对应关系即可 其接口电路连接如图2 10所示 图图2 10 PCPC机与单片机通信电路连接图机与单片机通信电路连接图 第三章第三章 软件设计软件设计 系统进行软件设计时 先要对本课题硬件结构有一个熟练的掌握 知道系 统的组成 数据的传输 信号是如何被控制的 以及信号的显示 然后进行软 件设计时 先搞清楚各个部分的子程序及他们的流程图 再进行编程 最后将 它们进行系统的编程和整合 本系统软件设计主要包括系统程序和流程图 根据整个系统的要求 完成 温度的测量与控制必须经过以下几个步骤 单片机接受传感器的温度信号 并 通过 LCD 显示出来 同时单片机扫描按键 接受控制信号 系统根据不同的命 令 实现不同的功能 例如 可以将测量数据保存起来以供以后查询使用或者 通过串口传给 PC 机 若温度不在预设温度的范围内则发出报警信号 3 1 软件设计的一般原则软件设计的一般原则 在单片机应用开发中 程序代码使用效率 单片机的抗干扰性以及软件可 靠性是实际工程设计的重点 本课题采用C语言进行编程 必须注意以下几个 问题 3 1 1 提高程序代码效率提高程序代码效率 必须熟悉当前使用的 C 语言编译器 试验每条 C 语言编译以后对应的汇编 语言的语句行数 这样就可以很明确的知道代码效率 3 1 2 减少程序错误减少程序错误 我们在编写程序时 要注重考虑如下方面 1 物理参数 2 资源参数 3 应用参数 4 过程参数 3 1 3 单片机的抗干扰性单片机的抗干扰性 防止干扰最有效的方法是去除干扰源 隔离干扰路径 单片机干扰最常见的 现象就是复位 导致程序运行异常 设计系统一般是需要添加一个 看门狗 监控模块 在系统出现不可逆转的干扰时 监控模块将重启系统 并从断点处 继续执行 3 1 4 系统的可靠性系统的可靠性 1 要测试单片机软件功能的完善性 2 上电 掉电测试 3 系统耗损测试 3 2 系统主程序流程图系统主程序流程图 根据系统设计的功能要求 我们将整个软件系统分割成若干个独立的程序 模块 这些程序模块可以是几条语句的集合 功能函数或程序文件 随后 根 据各个程序模块的实现功能写出流程 一般还需要写出具体的实现功能描述 本课题系统主程序流程如图 3 1 所示 是 否 是 否 是 否 是 判断 是 否 开始 系统初始化 显示系统主界面 KEY1 按下 KEY2 按下 KEY4 按下 显示 4 路温度 传感器的温度值 保存 4 路温度传感器 的温度值及 RTC 时间 将 4 路温度传感器的 温度值发送到 PC 机 高于 低于 预设温度值 KEY3 按下 给出报警信号 及相应发光 LED 闪烁 相应发光 LED 闪烁 按键扫描 图图3 1 系统主程序流程图系统主程序流程图 3 3 温度传感器程序设计温度传感器程序设计 对单总线的DS18b20芯片来说 访问每个器件都要遵守下列命令序列 首 先是初始化 其次执行ROM 命令 最后就是执行功能命令 初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成 应答脉冲 使主机知道 总线上有从机设备 且准备就绪 每次访问线器件 必须严格遵 守这个命令序列 如果出现序列混乱 则器件不会响应主机 在主机检测到应答脉冲后 就可以发出ROM命令 这些命令与各个从机设 备的唯一64位ROM代码相关 允许主机在单总线上连接多个从机设备时 指定 操作某个从机设备 这些命令还允许主机能够检测到总线上有多少个从机设备 以及其设备类型或者有没有设备处于报警状态 从机设备支持5种ROM命令 每种命令长度为8位 5种ROM命令分别如下 1 搜索 搜索ROM F0h 当系统初始上电时 主机必须找出总线上所有从机设备的ROM代码 这样 主机就能够判断出从机的数目和类型 主机通过重复执行搜索ROM循环以找出 总线上所有的从机设备 如果总线只有一个从机设备 则可以采用读ROM命令 来替代搜索ROM命令 在每次执行完搜索ROM循环后 主机必须返回初始化 2 读 读ROM 33h 读ROM命令仅适用于总线上只有一个从机设备 它允许主机直接读出从机 的64位ROM代码 而无须执行搜索ROM过程 如果该命令用于多节点 系统则 必然发生数据冲突 因为每个从机设备都会响应该命令 3 匹配 匹配ROM 55h 匹配ROM命令跟随64位ROM代码 从而允许主机访问多节点系统中某个指 定的从机设备 仅当从机完全匹配64位ROM代码时 才会响应主机随后发出的 功能命令 而其它设备将处于等待复位脉冲状态 4 跳越 跳越ROM CCh 主机能够采用该命令同时访问总线上的所有从机设备 而无须发出任何 ROM代码信息 例如 主机通过在发出跳越ROM命令后跟随转换温度命令 44h 就可以同时命令总线上所有的DS18B20开始转换温度 这样大大节省了主机的 时间 值得注意的是 如果跳越ROM命令跟随的是读暂存器 BEh 的命令 则 该命令只能应用于单节点系统 否则将由于多个节点都响应该命令而引起数据 冲突 5 5 报警搜索 报警搜索 ECh ECh 除那些设置了报警标志的从机响应外 该命令的工作方式完全等同于搜索 ROM命令 报警搜索命令允许主机设备判断那些从机设备发生了报警 同搜索 ROM命令一样 在完成报警搜索循环后 主机必须返回初始化 完成DS18B20初始化和发送合适的ROM命令之后 主机就可以发出相应的 功能命令 就可以通过编程控制读到其内部RAM所采集到的温度值 由于本课题采用的是单节点测温系统 可以发出跳越ROM命令 并且其后 跟随转换温度命令 44h 就可以直接启动总线上的DS18B20开始温度转换 这 样可以大大节省主机的时间 提高效率 其程序流程如图3 2所示 返回 图图3 2 温度传感器程序流程图温度传感器程序流程图 DSl8B20编程注意事项 编程注意事项 1 温度换时间设置为750ms时 灵敏度会大大提高 在需要较高精度要求 下建议使用 而且回复性很好 2 DS18B20的读写时序须经过仔细调整 在反复的调试中找出合适的延时 发送温度转换命令 44h 发送跳越 ROM 命令 CCh DS18B20 初始化 DS18B20 初始化 发送跳越 ROM 命令 CCh 发送存储器命令 BEh 连续读出两个字节的数据 即温度 读取温度值 延时 750ms 开始 时间 3 在程序等待DS18B20发出的存在信号时 最好设置一个有限的等待时间 否则一旦有温度传感器损坏时 程序将进人无限等待的死循环中 3 4 显示程序设计显示程序设计 根据系统设计的功能要求 单片机系统不仅要能接收到温度信号 还要将 温度信号显示出来 使系统一目了然 对于输入的温度信号 其显示是通过 3 2 寸 320 240 的彩色 TFT LCD 显示出来的 主要显示系统主界面和 4 路温度传感 器的温度值 该显示模块的 LCD 驱动芯片型号为 ILI9320 其程序流程如图 3 3 a 所示 另外再利用 4 个发光 LED 显示 4 个温度传感器的工作正常情况 其 程序流程如图 3 3 b 所示 图图3 3 a LCDLCD显示程序流程图显示程序流程图 判断 是 判断 是 判断 是 判断 是 LED1 亮 闪烁温度传感器 1 正常 异常 LED2 亮 闪烁温度传感器 2 正常 异常 LED3 亮 闪烁温度传感器 3 正常 异常 温度传感器 4 正常 异常 开始 发送数据 初始化液晶 ILI9320 置显示位置 功能设置 返回 LED 初始化 LED4 亮 闪烁 图图3 3 b 发光发光LEDLED程序流程图程序流程图 3 5 键键盘盘程序设计程序设计 单片机系统将传感器的温度信号显示以后 需要扫描按键 系统根据输入 的不同键码执行相应的功能 按键电路虽然简单 但按键的稳定性 可靠性 应引起足够的重视 例如 当检测到有键按下或释放时 应通过软件延时以避 开触点抖动的影响 去抖时间既不能太短也不能太长 时间太短 无法起到去 抖作用 时间太长 超过了键按下的持续时间 则会判不到按键 根据本课题设计的系统要求 采用了4个线性按键 KEY1 KEY2 KEY3 KEY4 其程序流程如图3 4所示 系统主界面主要显示 RTC实时时钟的时间和STM32F107芯片本身的温度值 STM32F107芯片内部自 带有一个温度传感器 其连接着ADC接口的第16通道 通过启动ADC转换即可 得到实时芯片的工作温度值 另外再定义一个按键扫描的函数 接受按键的键 码值 根据扫描的键码值单片机转入执行相应的功能 扫描函数既可以采用循 环扫描方式 也可采用中断方式 本课题采用中断方式来实现按键扫描函数 判断 是 判断 是 判断 是 判断 是 图图3 4 按键程序流程图按键程序流程图 3 6 报警报警程序程序设计设计 本课题设计采用高温和低温报警 事先预设一个最高温度值和一个最低温 度值 最高 低温度值可根据实际情况来设置 单片机采集到温度值后 与其比 较 如果某个传感器的温度超过或者低于了预设定的温度值 将发出报警信号 KEY1 按下返回显示系统主界面 KEY2 按下显示 4 路温度传感器的温度值 KEY3 按下保存 4 路温度传感器的温度值及 RTC 时间 将 4 路温度传感器的温度值发送到 PC 机KEY4 按下 KEY 初始化 其程序流程如图3 5所示 否 是 图图3 5 报警程序流程图报警程序流程图 3 7 存储模块程序设计存储模块程序设计 本课题设计采用E2PROM AT24LC02芯片来存储经DS18B20转换后的温度 值及RTC的时间 AT24LC02芯片与STM32F107单片机通过I2C总线相连 因为 I2C只有时钟线SCL和数据线SDA两根线 因此 对读写的数据位有着严格的时 序要求 只有严格遵守通讯协议才能保证数据传输的正确性和完整性 否则将 无法读取数据 其程序流程如图3 6所示 图图3 6 存储程序流程图存储程序流程图 高于 低于 预设温度值 给出 报警信号 AT24LC02 初始化 读 写数据 写地址 返回 开始 显示 当前温度值 3 8 通信模块程序设计通信模块程序设计 本系统通过串口与上位机进行通信 可以实时向上位机传送经DS18B20转 换后的温度值 本课题设计采用单片机系统通过RS 232总线与计算机相连接 在进行实物仿真时 可以看到上位机 PC机 接收到的4个通道的温度值以及 记录该温度值的RTC时间 当然也可以在本身系统的LCD上显示4个通道转换后 的温度值 其程序流程如图3 7所示 否 是 图图3 73 7 通信程序流程图通信程序流程图 开始 发送数据 初始化串口 串口中断入口 发联络信号 AAH 返回 是联络信 号 55H 第四章第四章 结结 论论 本课题设计是利用Keil uVision3软件对系统进行程序代码的设计和编写 并在金牛开发板上进行了程序仿真 从本课题设计的结果可以看出 利用硬件 实物 金牛开发板 进行单片机系统的程序设计仿真可以极大地提高单片机程 序在目标硬件上的可靠性 稳定性 对于提高产品的开发效率 降低开发成本 等有重要的作用 硬件电路的简单是以软件的复杂为代价的 所以在程序编写和调试的过程 中稍一粗心就会出现错误 包括时间延时不够 设置参数的类型有误 按键子 程序放置位置不妥等错误 本程序经过了反复的调试修改 虽然能达到预期的 基本目标 但是还有很多地方需要完善 如开始仿真时机器会扫描错误代码而 使电路报警等 本课题通过分析和对比各种不同的温度传感器 最终选定DS18B20 这种 单总线数字温度传感器的通信方式比较独特 软件编写要求的比较新颖 特点 突出 用其构建的系统有很多优点 硬件连线简单 省去了使用模拟传感器要 进行放大 A D转换等工作 由于它的级联功能 一条总线可挂接多个传感器 测量不同位置的温度 根据DS18B20唯一的序号识别不同传感器在各自位置的 温度 需要注意的是 由于DS1820单线通信功能是分时完成的 遵循严格的时 隙概念 因此 系统对DS1820和各种操作必须按协议进行 即 初始化DS1820 发ROM功能命令 发存储器操作命令 处理数据 通过调试系统发现了DS18B20有上述优点 但是也有一些缺点 例如 DS18B20在测量温度的时候 灵敏度不够高 温度快速变化时无法迅速显示出 其变化 我们可以发现 由DS18B20构建的测温系统适用于环境温度监控 对 温度小变化较敏感的测温场所 而不适合应用于要求实时性强 温度跨度大的 测温场所 参参 考考 文文 献献 1 康华光 数字电子技术 M 第四版 北京 高等教育出版社 1998 2 康华光 模拟电子技术 M 第四版 北京 高等教育出版社 1998 3 万文略 单片机原理及应用 M 重庆 重庆大学出版社 2004 4 何立民 单片机应用系统设计 M 北京航空航天大学出版社 1994 5 胡汉才 单片机原理及其接口技术 M 清华大学出版社 1996 6 周航慈 单片机应用程序设计技术 M 北京航空航天大学出版社 2001 7 郁有文 常健 程继红 传感器原理及工程应用 M 第二版 西安 西安电子科技大学 出版社 2003 8 周云波 由 DS18B20 单线数字温度计构成的单线多点温度测量系统 M 电子技术应用 1996 9 肖建华 一种利用 RS 485 总线实现 PC 机与单片机通讯的方法 M 中国仪器仪表 1999 10 赵广林 Protel99SE 电路设计与制版 M 北京 电子工业出版社 2005 11 余载泉 李玉和 PROTEL 实战演练 M 2000 12 金奎焕 李允俊 任正权 如何使用 KEIL 8051 C 编译器 M 2002 13 马中梅 单片机 C 语言设计 M 北京 北京航空航天大学出版社 1999 14 爱钧 彭秀华 Keil Cx51 V7 0 单片机高级语言编程与 Vision2 应用实践 M 北京 电子工业出版 致致 谢谢 从论文选题到搜集资料 从提纲的完成到正文的反复修改 我经历了喜悦 聒噪 痛苦和彷徨 在写作论文的过程中 心情是如此复杂 如今 伴随着这 篇毕业论文的最终成稿 复杂的心情烟消云散 我甚至还有一点成就感 本次毕业设计是在谢平阳老师的悉心指导下完成的 不论在选题 资料搜 集还是在论文写作方面 谢老师都给予了我很大的帮助 谢老师治学严谨 一 丝不苟 对学生既严格要求 又耐心指导 循循善诱 在繁忙的工作之余经常 关心我的论文进行情况 并且对我在毕业设计中遇到的问题耐心指导 巧妙地 激发我的求知欲来促使我对问题进行更深入的研究 使我的独立探索解决问题 的能力有了很大的提高 谢老师的用心良苦 让我深深体会到为人师表的伟大 与无私 在本次毕业设计中 我还得到了其他很多同学和老师的帮助 对我成 功完成本次毕业设计带来了很大的帮助 在此次论文完成之即 请接受我真诚 的感谢 衷心地感谢在百忙之中评阅论文和参加答辩的各位专家 教授 最后感谢四年里陪伴我的老师 同学 朋友们 有了他们 我的人生才丰 富 有了他们 我在奋斗的路上才不孤独 谢谢他们 附录附录 A 材料清单材料清单 已用 部件类型 元件标号 封装 描述 3 1K R1 R20 R24 C R LED 1 1M R2 C R LED 1 3 2TFT CN7 LCD Connector 2 4K7 R27 R28 C R LED 1 8MHZ X2 JZ 11 10K R3 R4 R5 R6 R7 R8 C R LED R21 R22 R23 R25 R26 2 10PF C5 C6 C R LED 5 10R R15 R16 R17 R18 R19 C R LED 2 10UF C1 C2 C R LED 2 20PF C7 C8 C R LED 1 24LC02 U4 E2PROM 1 32 768KHZ X1 JZ 8 100NF C3 C4 C9 C10 C R LED C11C12 C13C14 4 470R R11 R12 R13 R14 C R LED 2 8085 Q1 Q2 Q 1 JATG CN2 JTAG 5 LED R D1 D2 D3 D4 D5 C R LED 1 LT11117 3 3 U2 LTI 1 MAX232 U3 MAX232 1 POWER CN1 CN 2 R R9 R10 C R LED 5 RESET RESET S1 S2 S3 S4 KEY 1 STM32F107 U1 STM32F107 4 TEMP CN3 CN4 CN5 CN6 CN 1 USART1 CN8 DB9 1 YS Y FENG 附录附录 B 系统原理图系统原理图 附录附录C 系统系统PCB图图 附录附录D 程序仿真图程序仿真图 附录附录E 系统源程序系统源程序 主程序如下 include include sys h include usart h include led h include key h include lcd h include adc h include ds18b20 h include 24cxx h include rtc h Const u8 Week 7 Sunday Monday Tuesday Wednesday Thursday Friday Saturday int main void u16 t delay init 72 延时初始化 Stm32 Clock Init 9 系统时钟设置 delay init 72 延时初始化 uart init 72 9600 串口 1 初始化 LED Init KEY Init 按键初始化 LCD Init Adc Init AT24CXX Init RTC Init RTC Set 2012 06 03 12 18 55 设置时间 delay ms 10 LCD Clear YELLOW 清屏 BACK COLOR YELLOW 设置背景颜色为蓝色 POINT COLOR RED 设置字体为红色 delay ms 10 LCD ShowString 30 30 Temperature measurement 16 0 LCD ShowString 80 50 experiment 16 0 LCD ShowString 80 90 2012 06 03 16 0 LCD ShowString 60 150 RTC 16 0 LCD ShowString 60 180 16 0 LCD ShowString 60 222 16 0 delay ms 10 if t timer sec t timer sec LCD ShowNum 60 180 timer w year 4 16 0 LCD ShowNum 100 180 timer w month 2 16 0 LCD ShowNum 124 180 timer w date 2 16 0 delay ms 10 switch timer week case 0 LCD ShowString 60 198 Sunday 16 0 break case 1 LCD ShowString 60 198 Monday 16 0 break case 2 LCD ShowString 60 198 Tuesday 16 0 break case 3 LCD ShowString 60 198 Wednesday 16 0 break case 4 LCD ShowString 60 198 Thursday 16 0 break case 5 LCD ShowString 60 198 Friday 16 0 break case 6 LCD ShowString 60 198 Saturday 16 0 break LCD ShowNum 60 222 timer hour 2 16 0 LCD ShowNum 84 222 timer min 2 16 0 LCD ShowNum 108 222 timer sec 2 16 0 delay ms 10 while 1 int key key KEY Scan if key 1 u16 t adcx float temp float temperate LCD Clear YELLOW 清屏 LCD ShowString 30 30 Temperature measurement 16 0 LCD ShowString 80 50 experiment 16 0 LCD ShowString 80 90 2012 06 03 16 0 LCD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年无人机驾驶员职业技能考核试卷及答案(无人机遥控操作)
- 2025年电梯维修工程师资格考试试题及答案解析
- 高校合同审计报告模板(3篇)
- 高清柔性屏采购合同模板(3篇)
- 高空瓦匠施工合同范本(3篇)
- 爱婴医院考试试题及答案
- 卫生健康委员会疾病预防控制体系建设合同
- 汽修厂汽车维修工人劳动合同与职业发展规划
- 专业市场店铺股份收购及供应链整合协议
- 地下商场商铺产权转让协议
- c2考驾照科目一试题及答案
- 送气工配送管理制度
- 湖北省圆创名校联盟2025届高三第四次联合测评化学试题及答案
- 安全文化课件
- 企业运营管理学习课件
- 班主任基本功大赛培训
- 基础课程改革试题及答案
- 蓝藻治理打捞管理制度
- 2025年合肥兴泰金融控股(集团)有限公司招聘23人笔试参考题库附带答案详解
- 苏州市建设工程档案立卷程序与标准
- 2025年上半年湖北十堰竹山招募三支一扶高校毕业生聘用为事业单位人员12人易考易错模拟试题(共500题)试卷后附参考答案
评论
0/150
提交评论