

已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北华航天工业学院毕业论文 毕业设计报告(论文) 报告(论文)题目:多点温度测量及显示系统设计 作者所在系部: 电子工程系 作者所在专业: 应用电子技术 作者所在班级: 08212 作 者 姓 名 : 作 者 学 号 : 指导教师姓名: 完 成 时 间 : 2011 年 6 月 9 日 北华航天工业学院教务处制 北华航天工业学院毕业论文 毕业设计(论文)任务书 姓名:姓名:专业专业: :应用电子技术班班 级级: :08212学学号号: :20083021240 指指导导教教师师: :职职称:称:助教 完成完成时时 间间: : 2011.06.09 毕业设计毕业设计( (论论文)文)题题目:目: 多点温度测量及显示系统设计 设计设计目目标标: : 利用单片机技术与数字温度传感器的知识,设计实现能在 1602 液晶显示屏上显示多线程、 多地点实时温度显示基本要求。 技技术术要求:要求: 1. 能显示3地点的实时温度。 2. 数字温度传感器的应用。 3.字符型液晶1602的人机界面。 4. 可实时的温度测量。 5. 可单独地点选择的测量。 所需所需仪仪器器设备设备: : 计算机一台、keilc 和 proteus 软件 北华航天工业学院毕业论文 成果成果验验收形式:收形式: 原理图、仿真结果 参考文献:参考文献: 数字电子技术基础、电子系统设计、单片机原理与应用 15 周-6 周立题论证39 周-13 周仿真调试 时间时间 安排安排 27 周-8 周方案设计414 周-16 周成果验收 指指导导教教师师: 教研室主任教研室主任: 系主任系主任: 北华航天工业学院毕业论文 摘 要 本文基于 ds18b20 设计了一种温度数据采集系统,系统主要由单片机电路和一个 ds18b20 数字传感器构成。软件方面,我们采用 keil 软件对程序进行编写以及调试,硬 件方面,我们通过 proteus 软件对硬件电路进行仿真以及测试,该系统结构简单,功耗较 低,测温范围为- 50 + 255,通过 lcd1602a 液晶显示。该系统硬件分为 3 部分: ds18b20 温度测量模块、单片机模块、液晶显示。系统的测温精度可以达到0.5, 并且能稳定的与单片机和 pc 机通讯。系统软件部分,在设计过程中,采用模块程序设 计法,分成若干部分,各部分相对独立,完成一定的功能,从而满足对生产对象的实际 需求。 关键字:ds18b20 单总线 多线程 单片机 北华航天工业学院毕业论文 1 目 录 第 1 章 绪论 .2 1.1 传统和新型温度传感器 .2 1.2 dsl8b20 温度传感器 .2 1.3 课题的建立以及本文完成的主要工作 .3 第 2 章 单总线技术 .4 2.1 单总线概述 .4 2.2 硬件结构 .4 2.3 命令序列 .5 第 3 章 系统硬件 .9 3.1 系统概况 9 3.1 单片机与按键 .10 3.3 液晶显示 .13 3.4 温度传感器 16 第 4 章 系统软件 18 4.1 软件概况 .18 4.2 按键程序 .19 4.3 温度采集 .19 4.4 数据处理 21 4.5 显示程序 .22 第五章 总结 24 致 谢 25 参考资料 26 附录一 27 附录二 28 北华航天工业学院毕业论文 2 多点温度测量及显示系统设计 第 1 章 绪论 1.1 传统和新型温度传感器 在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被 控参数。其中,温度控制也越来越重要。在工业生产的很多领域中,人们都需要对各类 加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控 制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指 标,从而大大提高产品的质量和数量。因此,单片机对温度的控制问题是工业生产中经 常会遇到的控制问题。 在传统的温度测控系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇 到诸如传感器外围电路复杂及抗干扰能力差等问题,而其中任何一环节处理不当,就会 造成整个系统性能的下降。采用数字温度传感器与单片机组成的温度检测系统进行温度 检测、数值显示和数据存储,体积减小,精度提高,抗干扰能力强,并可组网进行多点 协测,还可以实现实时控制等技术,在现代工业生产中应用越来越广泛。 传统的温度测控系统设计往往是热电阻、adc 转换器和控制器的搭配,再要加上人 机互动操作设备这样就会增加系统的成本和系统软件设计的负担,传统的温度测控系统 软件设计不仅要控制温度采集、adc 的转换、数据的处理、显示和按键功能。制温度采 集、adc 的转换、显示和按键功能相对简单一些,但是 adc 采集的数据不是现成的温度 数据还要控制器处理器对数据进行处理,热电阻是反映温度和电压的关系,常用的有正 温度和负温度电阻,而且大多数不是正比例而是指数型,这样的数据处理函数可想而知 有多复杂,还要考虑电压在传输时的损耗。 本设计就采用以 51 单片机为核心,和单总线数字式温度传感器 ds18b20 模拟出一 温度测控系统。以 ds18b20 为代表的新型单总线数字式温度传感器集温度测量和 a/d 转换于一体,直接输出数字量,与单片机接口电路结构简单。现实生活中的养殖产业及大 棚种植等场合都有触及到,具有较强的推广应用价值。 1.2 dsl8b20 温度传感器 dsl820 数字温度计是美国 dallas 公司生产的数字温度计,它提供 9 位(二进制)温度 读数,指示器件的温度。信息经过单线接口送入 dsl8b20 或从 dsl8b20 送出,因此从主 机 cpu 到 dsl8b20 仅需一条线。dsl820 的电源可以由数据线本身提供而不需要外部电 北华航天工业学院毕业论文 3 源。因为每一个 dsl8b20 在出厂时已经给定了唯一的序号,因此任意多 dsl8b20 可以存 放在同一条单线总线上。这允许在许多不同的地方放置温度敏感器件。 (主要介绍在硬件 里) 1.3 课题的建立以及本文完成的主要工作 本文主要包括以下内容: 1以 at89c51 对多个 ds18b20 的温度测量; 2字符液晶的温度显示; 3配合按键控制的人机系统。 北华航天工业学院毕业论文 4 北华航天工业学院毕业论文 5 第 2 章 单总线技术 2.1 单总线概述 1-wire 单总线是 maxim 全资子公司 dallas 的一项专有技术。与目前多数标准串行 数据通信方式,如 spi/i2c/microwire 不同,它采用单根信号线,既传输时钟,又传 输数据,而且数据传输是双向的它具有节省 i/o 口线资源、结构简单、成本低廉、便于 总线扩展和维护等诸多优点。 1-wire 单总线适用于单个主机系统,能够控制一个或多个从机设备,当只有一个从 机位于总线上时,系统可按照单节点系统操作;而当多个从机位于总线上时,则系统按 照多节点系统操作。 为了较为全面地介绍单总线系统 将系统分为三个部分讨论:硬件结构、命令序列和 信号方式(信号类型和时序) 。 2.2 硬件结构 顾名思义,单总线只有一根数据线。设备(主机或从机)通过一个漏极开路或三态 端口,连接至该数据线,这样允许设备在不发送数据时释放数据总线,以便总线被其它 设备所使用。单总线端口为漏极开路,其内部等效电路如图 2-1 所示。 单总线要求外接一个约 5k 的上拉电阻:这样,单总线的闲置状态为高电平不管什么 原因,如果传输过程需要暂时挂起,且要求传输过程还能够继续的话,则总线必须处于 空闲状态 位传输之间的恢复时间没有限制 只要总线在恢复期间处于空闲状态(高电平) 如果总线保持低电平超过 480us,总线上的所有器件将复位,另外,在寄生方式供电时, 为了保证单总线器件在某些工作状态下(如温度转换期间、eeprom 写入等)具有足够 的电源电流,必须在总线上提供强上拉(如图 2-1 所示的 mosfet) 图 2-1 单总线硬件接口示意图 北华航天工业学院毕业论文 6 2.3 命令序列 典型的单总线命令序列如下: 第一步 初始化; 第二步 rom 命令(跟随需要交换的数据) ; 第三步 功能命令(跟随需要交换的数据) 。 每次访问单总线器件,必须严格遵守这个命令序列,如果出现序列混乱,则单总线 器件不会响应主机。但是,这个准则对于搜索 rom 命令和报警搜索命令例外,在执行 两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步。 基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位 脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道,总线上有从机设备,且准备就 绪。 在主机检测到应答脉冲后,就可以发出 rom 命令,这些命令与各个从机设备的唯 一 64 位 rom 代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从 机设备这些命令还允许主机能够检测到总线上有多少个从机设备以及其设备类型,或者 有没有设备处于报警状态,从机设备可能支持 5 种 rom 命令。实际情况与具体型号有 关每种命令长度为 8 位主机在发出功能命令之前,必须送出合适的 rom 命令下面将简 要地介绍各个 rom 命令的功能,以及使用在何种情况下 。 搜索 romf0h当系统初始上电时,主机必须找出总线上所有从机设备的 rom 代 码,这样主机就能够判断出从机的数目和类型,主机通过重复执行搜索 rom 循环,搜 索 rom 命令跟随着位数据交换,以找出总线上所有的从机设备,如果总线只有一个从 机设备,则可以采用读 rom 命令来替代搜索 rom 命令。完搜索 rom 循环后,主机 必须返回至命令序列的第一步(初始化) 。 读 rom33h 仅适合于单节点,该命令仅适用于总线上只有一个从机设备 它允许 主机直接读出从机的 64 位 rom 代码而无须执行搜索 rom 过程,如果该命令用于多节 点系统,则必然发生数据冲突,因为,每个从机设备都会响应该命令。 匹配 rom55h,匹配 rom 命令跟随 64 位 rom 代码,从而允许主机访问多节点 系统中某个指定的从机设备,仅当从机完全匹配 64 位 rom 代码时,才会响应主机随后 发出的功能命令。其它设备将处于等待复位脉冲状态。 跳越 romcch 仅适合于单节点主机能够采用该命令同时访问总线上的所有从机 设备,而无须发出任何 rom 代码信息。例如,主机通过在发出跳越 rom 命令后跟随 转换温度命令44h,就可以同时命令总线上所有的 ds18b20 开始转换温度,这样大大 节省了主机的时间。值得注意,如果跳越 rom 命令跟随的是读暂存器beh的命令,包 括其它读操作命令,则该命令只能应用于单节点系统,否则将由于多个节点都响应该命 令而引起数据冲突。 北华航天工业学院毕业论文 7 报警搜索ech仅少数 1-wire 器件支持,除那些设置了报警标志的从机响应外,该 命令的工作方式完全等同于搜索 rom 命令,该命令允许主机设备判断那些从机设备发 生了报警,如最近的测量温度过高或过低等,同搜索 rom 命令一样 在完成报警搜索循 环后,主机必须返回至命令序列的第一步。 在主机发出 rom 命令,以访问某个指定的 ds18b20 接着就可以发出 ds18b20 支 持的某个功能命令,这些命令允许主机写入或读出 ds18b20 暂存器,启动温度转换以及 判断从机的供电方式 ds18b20 的功能命令总结于表 2-1 命令描述命 令 代 码 发送命令后 单总 线上的响应信息 温度转换命令 转换温度启动温度转换44h无 读暂存器读全部的暂存器内 容包括 crc 字节 behds18b20 传输多达 9 个字节至主机 写暂存器写暂存器第 2 3 和 4 个字节的数据 (即 th、tl 和配 置寄存器 ) 4eh主机传输 3 个字节数 据至 ds18b20 复制暂存器将暂存器中的 t、tl 和配置字节 复制到 eeprom 中 48h无 回读 eeprom 将 th 、tl 和配置 字节从 eeprom 回 读至暂存器中 b8h无 表 2-1 ds18b20 功能命令集 所有的单总线器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了 几种信号类型,复位脉冲、应答脉冲、写 0、写 1、读 0 和读 1。所有这些信号,除了应 答脉冲以外,都由主机发出同步信号,并且发送所有的命令和数据都是字节的低位在前, 这一点与多数串行通信格式不同(多数为字节的高位在前) 。 当从机发出响应主机的应答脉冲时。即向主机表明它处于总线上。且工作准备就绪。 在主机初始化过程,主机通过拉低单总线至少 480 us,以产生(tx)复位脉冲。接着, 主机释放总线,并进入接收模式(rx)当总线被释放后,5k 上拉电阻将单总线拉高。在 北华航天工业学院毕业论文 8 单总线器件检测到上升沿后,延时 15-60 us 接着通过拉低总线 60-240us,以产生应答脉 冲。 图 2-2 复位时序 读/写时序,在写时序期间,主机向单总线器件写入数据:而在读时序期间,主机读 入来自从机的数据。在每一个时序,总线只能传输一位数据 。 写时序,存在两种写时序,写 1 和写 0。主机采用写 1 时序向从机写入 1,而采用写 0 时序向从机写入 0。所有写时序至少需要 60us,且在两次独立的写时序之间至少需要 1us 的恢复时间。两种写时序均起始于主机拉低总线。产生写 1 时序的方式:主机在拉 低总线后,接着必须在 15us 之内释放总线,由 5k 上拉电阻将总线拉至高电平;而产生 0 时序的方式,在主机拉低总线后,只需在整个时序期间保持低电平即可(至少 60us) 。 在写时序起始后 15-60us 期间,单总线器件采样总线电平状态,如果在此期间采样 为高电平,则逻辑 1 被写入该器件;如果为 0 则写入逻辑 0 。 北华航天工业学院毕业论文 9 图 2-3 写时序 图 2-4 读时序 北华航天工业学院毕业论文 10 读时序,单总线器件仅在主机发出读时序时,才向主机传输数据,所以,在主机发 出读数据命令后,必须马上产生读时序,以便从机能够传输数据。所有读时序至少需要 60 us,且在两次独立的读时序之间至少需要 1u s 的恢复时间。每个读时序都由主机发 起,至少拉低总线 1us ,在主机发起读时序之后,单总线器件才开始在总线上发送 0 或 1。 若从机发送 1 则保持总线为高电平,若发送 0 则拉低总线,当发送 0 时,从机在 该时序结束后释放总线,由上拉电阻将总线拉回至空闲高电平状态。从机发出的数据在 起始时序之后,保持有效时间 15 us 因而,主机在读时序期间必须释放总线,并且在时 序起始后的 15us 之内采样总线状态。 北华航天工业学院毕业论文 11 第 3 章 系统硬件 3.1 系统概况 图 3-1 系统框图 系统概况:系统主要分为四大部分分别为控制器、独立按键、液晶显示和温度采集。 选择合适的器件完成设计任务,目前各半导体公司、电气商都向市场上推出了形形色色 的器件,如何选择合适的器件使系统最大的简单化,功能优异化,可靠性强,成本低廉, 成为了器件选择的重中之重。系统主控制器单片机为是宏晶科技推出的新一代超强抗干 扰/ 高速/ 低功耗的单片机,指令代码完全兼容传统 8051 单片机 stc89c516rd+。字 符液晶显示器 1602 和温度传感器 ds18b20。 控 制 器 按键 显 示 温度采集 北华航天工业学院毕业论文 12 3.1 单片机与按键 图 3-2 单片机引脚图 (1)电源引脚: vcc:40 脚 正电源脚,工作电压为 5v。 gnd:20 脚 接地端。 (2)单片机 i/o 口: p0 口:p0 口为一个 8 位漏极开路双向 i/o 口。p0 口能用于外部程序数据存储器, 它可以被定义为数据/地址的第八位。在 flash 编程时,p0 口作为原码输入口,当 falsh 进行校验时,p0 口输出原码,此时 p0 口外部必须被拉高。 p1 口: p1 口是 一个内部提供上拉电阻的 8 位双向 i/o 口。p1 口管脚写入 1 后,被 内部上拉为高,可用作输入,p1 口被外部下拉为低电平时,将输出电流。在 falsh 编 程和校验时,p1 口作为第八位地址接收。 p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口。当 p2 口被写入“1”时,其管 脚被内部上拉电阻拉高,且作为输入。p2 口当用于外部程序存储器或 16 位地址外部数 据存储器进行存取时,p2 口输出地址的高八位。p2 口在 flash 编程和校验时接收高八 位地址信号和控制信号。 p3 口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口。当 p3 口写入“1”后,它们 被内部上拉为高电平并用作输入。 北华航天工业学院毕业论文 13 p3 口除作 i/o 口使用外,还有特殊功能如图所示: 表 3-1 p3 口的特殊功能 (3) rst 复位: 当振荡器 复位器件时, 要保持rst 脚 两个机器周期 的高电平时间。 复位可分为上 电复位和手动 复位两种,如 图所示: 图 3-3 复位电路 (4) 晶振电路: xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。晶振电路如图所示: p3 引脚兼用功能 p3.0 串行通讯输入(rxd) p3.1 串行通讯输出(txd) p3.2 外部中断 0( int0) p3.3 外部中断 1(int1) p3.4 定时器 0 输入(t0) p3.5 定时器 1 输入(t1) p3.6 外部数据存储器写选通 wr p3.7 外部数据存储器写选通 rd 北华航天工业学院毕业论文 14 图 3-4 晶振电路 (5) ale/prog: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale 端以不变的频率周期输出 正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时 目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ale 脉冲。如想禁止 ale 的输出可在 sfr8eh 地址上置 0。此时, ale 只有在执行 movx,movc 指令是 ale 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ale 禁止, 置位无效。 (6) /psen: 外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /psen 有效。但在访问外部数据存储器时,这两次有效的/psen 信号将不出现。 (7) /ea/vpp: 当/ea 保持低电平时,则在此期间外部程序存储器(0000h-ffffh) ,不管是否有内 部程序存储器。注意加密方式 1 时,/ea 将内部锁定为 reset;当/ea 端保持高电平时, 此间内部程序存储器。 北华航天工业学院毕业论文 15 图 3-5 主电路(省略晶振与复位) 按键电路,此系统按键电路为独立按键直接与单片机 p1 口相连,另一端接地,与 p1 口相连处上拉电压。在系统运行中无按键按下时单片机检测到得为高电平,当按键按 下时为低电平。 3.3 液晶显示 本系统的字符型液晶模块是一种用 5x7 点阵图形来显示字符的液晶显示器,根据显 示的容量可以分为 1 行 16 个字、2 行 16 个字、2 行 20 个字等等,这里以常用的 2 行 16 个字的 1602 液晶模块来介绍它的编程方法。 北华航天工业学院毕业论文 16 图 3-5 液晶显示器及电路板 1602 采用标准的 16 脚接口,其中: 第 1 脚:vss 为地电源 第 2 脚:vdd 接 5v 正电源 第 3 脚:v0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对 比度最高,对比度过高时会产生“鬼影” ,使用时可以通过一个 10k 的电位器调整对比 度 第 4 脚:rs 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚: rw 为读写信号线, 高电平时进行读操作,低电平时进行写操作。当 rs 和 rw 共同为低电平时可以写入指令或者显示地址,当 rs 为低电平 rw 为高电平 时可以读忙信号,当 rs 为高电平 rw 为低电平时可以写入数据。 第 6 脚:e 端为使能端,当 e 端由高电平跳变成低电平时,液晶模块执行命令。 第 714 脚:d0d7 为 8 位双向数据线。 北华航天工业学院毕业论文 17 第 1516 脚:空脚 lcd1602 的控制命令 表 3-2 lcd1602 控制命令 控制命令详解: 指令 1:清显示,指令码 01h,光标复位到地址 00h 位置; 指令 2:光标复位,光标返回到地址 00h; 指令 3:光标和显示模式设置 i/d:光标移动方向,高电平右移,低电平左移 s:屏 幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效; 指令 4:显示开关控制。 d:控制整体显示的开与关,高电平表示开显示,低电平 表示关显示 c:控制光标的开与关,高电平表示有光标,低电平表示无光标 b:控制光 标是否闪烁,高电平闪烁,低电平不闪烁; 指令 5:光标或显示移位 s/c:高电平时移动显示的文字,低电平时移动光标; 北华航天工业学院毕业论文 18 指令 6:功能设置命令 dl:高电平时为 4 位总线,低电平时为 8 位总线 n:低电 平时为单行显示,高电平时双行显示 f: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符 (有些模块是 dl:高电平时为 8 位总线,低电平时为 4 位总线) ; 指令 7:字符发生器 ram 地址设置; 指令 8:ddram 地址设置; 指令 9:读忙信号和光标地址 bf:为忙标志位,高电平表示忙,此时模块不能接收 命令或者数据,如果为低电平表示不忙; 指令 10:写数据; 指令 11:读数据。 3.4 温度传感器 dsl820 数字温度计提供 9 位温度读数,指示器件的温度。信息经过单线接口送入 dsl820 或从 dsl820 送出,因此从中央处理器到 dsl820 仅需连接一条线(和地) 。读、 写和完成温度变换所需的电源可以由数据线本身提供,而不需要外部电源。因为每一个 dsl820 有唯一的系列号(silicon serial number) ,因此多个 dsl820 可以存在于同一条单 线总线上。这允许在许多不同的地方放置温度灵敏器件。此特性的应用范围包括 hvac 环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测。 3.4.1 ds18b20 的主要性能特点 (1) 只需一个端口即可实现通信。 (2) 可用数据线供电,电压范围:3.0v5.5v。 (3) 实际应用中不需要外部任何元器件即可实现测温。 (4) 测温范围:-55+125,在-10+85时精度为0.5。 (5) 可编程的分辨率为 9 12 位,对应的分辨温度为 0.5、0.25、0.125和 0.0625。 (6) 负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 (7) 内部有温度上、下限告警设置。非易失性温度报警触发器 th 和 tl。可通 过软件写入用户报警上下限值。 (8) 每个芯片唯一编码,支持联网寻址,零功耗等待。 3.4.2 ds18b20 的结构 ds18b20 的引脚排列采用 3 脚 pr-35 封装或 8 脚 soic 封装。i/o 为数据输入/ 输出端(即单线总线) ,属于漏极开路输出,外接上拉电阻后常态下呈高电平。udd 是 可供选用的外部+5v 电源端,不用时需接地。gnd 为地,nc 为空脚。 管脚图如下: 北华航天工业学院毕业论文 19 图3-7 ds18b20管脚图 北华航天工业学院毕业论文 20 第 4 章 系统软件 4.1 软件概况 系统软件设计说明 在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个 生产对象的实际需求设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。 对本系统,软件更为重要。 在单片机控制系统中,大体上可分为数据的处理、过程控制两个基本类型。数据处 理包括:数据的采集、数字信号的处理、标度的转换等。过程控制程序主要使单片机按 一定的方式经行计算,然后再控制输出。 为了完成上述任务,在经行软件设计时,通常吧整个过程分成若干个部分,每一部 分叫做一个模块。所谓“模块” ,实质上就是所完成一定功能,相对独立的程序,这样程 序设计方法叫模块程序设计法。 模块程序设计法的主要优点: (1)单个模块比一个完整的程序容易编写及调试; (2)模块可以共存,一个模块可以被多个任务在不同条件下使用; (3)模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。 (4)本系统软件采用模块化结构,由主程序、显示程序、按键程序、算法程序和采样 程序。 开始 按键程序 测温程序 显示程序 数据处理 结束 图 4-1 流程图 北华航天工业学院毕业论文 21 4.2 按键程序 按键程序系统刚开始工作时人工选择进入的工作方式,如不选择则进入自动模式, 按键程序如下。 anjian: jnb p1.0 next判断按键是否按下 jn p1.0 $等待按键释放 ajmp moshi1进入模式 1 next: jnb p1.1 next1 jn p1.1 $ ajmp moshi2 next1: jnb p1.2 next2 jn p1.2 $ ajmp moshi3 next2: jnb p1.3 anjian jn p1.3 $ ajmp zidong 4.3 温度采集 下面是温度采集程序,温度采集程序必须按照单总线时序经行编写。 getwen:mov a ,#0cch lcall write ;发跳过 rom 命令 mov a ,#44h lcall write ;发启动转换命令 mov r4,#0ffh lcall delay15 mov r4,#0ffh lcall delay15 loop4: lcall reset ljmp loop4 loop7: mov a ,#0cch ;发跳过 rom 命令 lcall write mov a,#0beh ;发读内存命令 lcall write lcall read 北华航天工业学院毕业论文 22 mov 20h, a ;温度值低位字节送 20h lcall read mov 21h, a ;温度值高位字节送 21h ret reset: setb dq;ds18b20 复位程序 nop clr dq mov r6,#250 djnz r6,$ setb dq mov r7,#40h djnz r7,$ jnb dq,init2 clr psw.5 ret init2: setb psw.5 mov r6,#6bh init3: djnz r6,init3 setb dq ret delay15:mov r5,#6;时间可变的延时程序 del151: djnz r5,del151 djnz r4,delay15 ret write: setb dq;ds18b20 写程序 mov r2,#8 ;循环 8 次,写一个字节 clr c wr11: clr dq mov r3,#4 djnz r3,$ rrc a ;写入位从 a 中移到 cy mov dq, c ;命令字按位依次送给 ds18b20 mov r3,#20 北华航天工业学院毕业论文 23 djnz r3,$ setb dq nop djnz r2,wr11 setb dq ret read: mov r6, #8 ;ds18b20 读程序 rd11: clr dq ;循环 8 次,读一个字节 mov r4 , #4 clr c nop nop setb dq ;口线设为输入 rd12: djnz r4 , rd12 ;等待 8s mov c , dq ;主机按位依次读入 ds18b20 的资料 mov r5, #23 rd13: djnz r5 , rd13 ;保证读过程持续 60s rrc a ;读取的资料移入 a djnz r6 , rd11 ;读完一个字节的数据,存入 a 中 setb dq ret 4.4 数据处理 sjcl: anl 20h,#0f0h anl 21h,#07h mov a,21h orl 20h,a mov a,20h swap a mov 25h,a ret 北华航天工业学院毕业论文 24 tz: mov a,25h;bcd 码调整程序? mov b,#0ah div ab mov 30h,a mov 31h,b ret 4.5 显示程序 rs bit p2.0 ;rs 为寄存器选择 rw bit p2.1 ;rw 为读写信号线 e bit p2.2 ;e 端为使能端 display: mov p0,#01h ;清屏并光标复位 lcall wr_code ;调用写入命令子程序 mov p0,#02h ;光标返回 lcall wr_code ;调用写入命令子程序 mov p0,#038h ;5x7 的点阵字符 lcall wr_code ;调用写入命令子程序 mov p0,#06h ;光标右移 lcall wr_code ;调用写入命令子程序 mov p0,#0fh ;开显示,光标闪烁 lcall wr_code ;调用写入命令子程序 mov p0,#080h ;写入显示起始地址(第一行第一个位置) lcallwr_code ;调用写入命令子程序 mov dptr,#table ;送数据表 lcall write1 mov p0,#0c0h ;第二行的第一个位置 lcall wr_code mov dptr,#table5 lcall write1 ret wr_data:mov p0,a setb rs ;rs=1 clr rw ;rw=0 ;准备写入数据 clr e ;e=0 ;执行显示命令 北华航天工业学院毕业论文 25 lcall busy ;判断液晶模块是否忙? setb e ;e=1 ;显示完成,程序停车 ret wr_code:clr rs ;写入控制命令的子程序 clr rw clr e lcall busy setb e ret busy:mov p0,#0ffh ;判断液晶显示器是否忙的子程序 clr rs setb rw clr e nop setb e jb p0.7,busy ;如果 p1.7 为高电平表示忙就循环等待 ret write1: mov r7,#16 mov r1,#0 a1:mov a,r1 movc a,a+dptr lcall wr_data inc r1 djnz r7,a1 ret 北华航天工业学院毕业论文 26 第五章 总结 经过几个月的不断学习和努力,在张老师的谆谆教导下,在其他老师及同学们的热 心帮助与指导下,基于 at89c51 的单总线多点温度测控系统的毕业设计即将结束,基本 完成了老师所规定的各项工作任务。 本次设计的基于 ds18b20 的多点温度测量系统是一种分布式的温度测量系统,它可 以远程对温度实现测量和监控,广泛应用于电力工业、煤矿、森林、火灾、高层建筑等 场合。系统采用单总线技术,按照 ds18b20 的通信协议,由主机向 ds18b20 发送命令, 读取 ds18b20 转换的温度,从而实现对多个环境的温度的测量。当温度超过一定的值时, 报警器开始报警。 本文介绍了用单片机 at89c51 控制 ds18b20 以及着重分析各单元电路的设计,以 及各电路与单片机的接口技术。最后还给出系统的软件的设计过程,使用了 c 语言进行 程序设计。本文是采用模块化的方式进行叙述,对各模块的设计进行了比较详细地阐述。 在这次毕业设计中使我和老师的关系更进了一步,在这几周的时间里,我和指导老师经 过了很多次交流,通过和老师的交流使我学会了很多设计技巧及方法.有不懂的地方及遇到 自己难以解决的问题便向老师请教,老师每次都是不厌其烦的耐心指导我,并一步一步把我 引向成功.我在老师那里不仅学到了很多额外的知识,同时也学到了不少解决问题的方式方 法,在此我非常感谢帮助过我的指导老师张志通老师. 在这次设计中我觉得和同学的关系更进一步了,有什么不明白的地方大家一起讨论一 下,更加增进了我们之间的感情.团队的协作使我们感受到了同学们之间的友谊.比如说:我 在调试板子的时候发现检测不到 51 芯片,测量发现 51 芯片的 20 脚和 40 脚之间没有 5v 电压.于是,我们就检查供电回路发现 20 脚的接地端与其他地线没接上。通过这件事更加 增加了我们之间深厚的友谊。 经过这一次毕业设计,我学了不少的知识,学会了怎样查阅资料和利用工具书,以 及熟练地使用 proteus 仿真软件和 keil 开发工具。通过这次毕业设计,我更加深刻 地认识到只有将书本与具体的实践相结合,才会有真正的收获,才能巩固自已的所学, 认识到自己的不足。 北华航天工业学院毕业论文 27 致 谢 毕业论文终于完成了,在此之际,我思绪万千,心情久久不能平静。回顾三年学习期 间的一千余个日日夜夜,自己为课题的研究,静心钻研,潜心研究,并取得初步研究成 果而感到欣慰。欣慰之余,心里感动一丝沉重:我即将离开我的老师和同学们。 非常感谢学校的领导,感谢张志通老师及我的答辩老师。他们为我做毕业设计提供 了条件,并且在百忙之中抽出时间对我的毕业设计给予了详细的指导和细心的修改。在 他们的帮助下,我的课题的设计任务得以顺利完成。他们严谨的治学态度和踏实的工作 作风给我留下了深刻的印象,是我学习的榜样。在此,向张志通老师致以最诚挚的谢意。 同时还要感谢教育和指导过我的所有老师,你们给予我的不仅仅是知识,还有你们对知 识孜孜不倦的追求精神和对生活的积极向上态度,使我终身受益。我将在以后的工作中 继续努力,不断学习,努力提高自己。路漫漫其修远兮,吾将上下而求索。我愿在未来 的学习和研究过程中,以更加丰厚的成果来答谢曾经关心、帮助和支持过我的所有领导、 老师、同学、同事和朋友,一并表示感谢! 最后,再次向他们表示我最诚挚的谢意,我将以最大的热情投入到工作中,以报答 所以帮助我过的老师和同学。 北华航天工业学院毕业论文 28 参考资料 1何立民,单片机高级教程.北京航空航天大学出版社.2004.7 2 粟世明,刘湘涛.单片机原理与应用.电子工业出版社.2006.8 3 何立民,单片机中级教程.北京航空航天大学出版社.1999.12 4 李华,mcu-51 系列单片机实用接口技术.北京:北京航空航天大学出版社,1993.6 5 陈光东,单片机微型计算机原理与接口技术(第二版).武汉:华中理工大学出版社, 1999.4 6 徐淑华,程退安,姚万生.单片机微型机原理及应用.哈尔滨:哈尔滨工业大学出版社, 1999. 6. 7 锻九州,放大电路实用设计手册.沈阳:辽宁科学技术出版社,2002.5 8 马田华等,可编程单总线数字式温度传感器 ds18b2 的原理与应用.电子质量, 2004.7 9 于永学等,1-wire 总线数字温度传感器 ds18b20 及应用.电子产品世界,2003.12 10 张胜全,d18b20 数字温度计在微机温度采集系统中的序编制. 南京:南京大学出版 社 1998. 3 11 周晗晓,袁慧梅.单片机系统的印制板设计与抗干扰技术.电子工艺技术,2004 .6 北华航天工业学院毕业论文 29 附录一 at89c51 单片机引脚图 c5 104 c6 104 c7 104 r8 4.7k vcc x1x2 spk r5 2.2k r4 2.2k led2 led1 led1 led2 vcc l0 l1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络直播平台流量分成与电商平台合作合同
- 深海地质勘探专利许可与技术升级改造协议
- 电商企业进口退税担保及税务风险管理合同
- 古钱币鉴定设备租赁与品牌授权与售后服务协议
- 大数据技术入股合作框架协议
- 大数据股权收益权转让与数据分析合作协议
- 美团外卖平台餐饮商家线上订单处理协议
- 离婚协议在线电子签署及履行监督协议
- 工业自动化生产线传感器设备采购、安装及维护服务合同
- 介入治疗和护理
- 《高效面试技巧课件版》教案
- 实验室精密仪器全面维护保养服务协议
- (三模)2025年沈阳市高中三年级教学质量监测 (三)生物试卷(含答案)
- 拓扑优化与异形结构打印-洞察阐释
- 2024年天津高考英语第二次高考真题(原卷版)
- 蒸汽疏水阀性能监测斯派莎克工程中国有限公司-Armstrong
- 机械创新设计技术结课论文
- 神经外科各种引流管的护理精品课件
- 湘教版初中地理会考重点图复习汇集
- 年产10万吨飞灰水洗资源综合利用项目可行性研究报告模板
- 裤类统一单价表-服装工序工价表
评论
0/150
提交评论