




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
苏州信息职业技术学院苏州信息职业技术学院 毕业设计报告(论文)毕业设计报告(论文) 系 别: 班 级: 学 生 姓 名: 学 生 学 号: 设计(论文)题目: 基于 Proteus 的温度检测 与报警的仿真设计 指 导 教 师: 起 讫 日 期: 2012.9.32012.11.16 苏州信息职业技术学院苏州信息职业技术学院 毕业设计毕业设计(论文论文)成绩评定表成绩评定表 苏州信息职业技术学院苏州信息职业技术学院 毕业设计(论文)任务书毕业设计(论文)任务书 学生姓名系部学号 课题名称基于 Proteus 的温度检测与报警的仿真设计 指导教师评语: 建议成绩: 指导教师: 年 月 日 评阅教师评语: 建议成绩: 评阅教师: 年 月 日 答辩小组评语: 建议成绩: 答辩小组负责人: 年 月 日 专业学号姓名 课题名称:基于 Proteus 的温度检测与报警的仿真设计 主要技术指标: (1)温度测量工作范围:085; (2)检测分辨率1; (3)键盘是采用拨动开关,实现温度设定范围为:085; (4)给定温度用 1 位 LCD 用动态或静态扫描技术显示; (5)实际温度用 1 位 LCD 用动态或静态扫描技术显示; (6)当温度超出设温度置时蜂鸣器进行自动报警。 工作内容和要求: (1)阅相关资料熟悉温度控制与报警器相关知识,进行方案设计; (2)根据设计方案进行电路设计并绘制出相应电原理图; (3)根据硬件设计程序; (4)通过 Proteus 软件对设计方案进行电路功能仿真调试; (5)根据设计,完成毕业论文; (6)准备答辩. 主要参考文献: 1 曾屹,彭楚武单片机原理与应用S 中南大学出版社,2009:18-327. 2 楼然苗,李光飞单片机课程设计指导M 北京航空航天大学出版社,2007:55- 73. 3 周润景,张丽娜基于 Proteus 的电路及单片机系统设计与仿真M 北京航空航 天大学出版社,2006:3-336 4 周润景,刘映群Proteus 入门实用教程M 机械工业出版社,2007:267-332 5 张永枫单片机应用实训教程S.西安电子科技大学出版社,2005:107-267 6 肖洪兵,胡辉,郭速学跟我学单片机S 北京航空航天大学出版社, 2002:192-218. 学 生(签名) 2012 年 9 月 10 日 指 导 教师(签名) 2012 年 9 月 10 日 教研室主任(签名) 2012 年 9 月 10 日 系 主 任(签名) 2012 年 9 月 10 日 苏州信息职业技术学院苏州信息职业技术学院 毕业设计(论文)开题报告毕业设计(论文)开题报告 专业学号姓名 设计(论文)题目基于 Proteus 的温度检测与报警的仿真设计 1 选题的背景和意义: 温度是一种最基本的环境参数,人民的生活环境与温度息息相关,因此研究温度的 测量方法和装置具有重要意义, 蔬菜的生长与温度息息相关,对于蔬菜大棚来说,最重 要的一个管理因素是温度控制。温度太低,蔬菜就会被冻死或则停止生长,所以要将温 度始终控制在适合蔬菜生长的范围内。如果仅靠人工控制既耗人力,又容易发生错误。 为此 ,在现代化的蔬菜大棚管理中通常有温度自动控制系统,以控制蔬菜大棚温度,适 应生产需要。 本文将介绍智能集成温度传感器 DS18B20 的结构特征及控制方法。以及 用单片机 STC89C51 的编程实现温度测量。 2. 课题研究的主要内容: 本数字温度计设计采用美国 DALLAS 半导体公司继 DS1820 之后推出的一种改进型智 能温度传感器 DS18B20 作为检测元件,其温度值可以直接被读出来,通过核心器件单片机 AT89C51 控制温度的显示,用 1602LCD 液晶模块显示显示。 温度检测与报警系统包括主控制器 AT89C51、温度传感器 DS18B20、报警电路、单片 机复位电路及 LCD 液晶模块显示电路。本文是以单片机 AT89C51 为核心进行设计。通过 DALLAS 公司的单总线数字温度传感器 DS18B20 来实现环境温度的采集和 A/D 转换。其输 出温度采用数字显示,用 LED 液晶显示以串口传送数据,实现温度显示,能准确达到以 上要求。 、此温度计属于多功能温度计可以用来测量环境温度,还可以设置上下报警温度, 当温度不在设置范围内时,可以报警。 3.课题研究的方法论述: (1)查阅书籍,进行总体理论分析与设计。 (2)硬件设计(画出电路仿真图) 。 (3)软件设计(运用 C 语言编写相关的程序) 。 (4)用 PROTEUS 软件完成温度检测与报警控制软硬件调试。 四、设计(论文)进度安排: 时间(迄止)日期工作内容 2012. 9.3 - 2012. 9.7查找资料确立选题 2012. 9.8-2012.9.12完成开题报告 2012.9.13-2012.10.25绘制原理图,编写程序 2012.10.26-2012.11.13撰写论文 2012.11.14毕业设计答辩 2012.11.142012.11.18根据答辩小组和指导老师意见修改论文,力争在内容和格式上 符合毕业设计规范要求。 五、指导教师意见: 题目难度适中,设计目标明确、方法得当,安排进度合理,允许开题。 指导教师签名: 年 月 日 六、系部意见 同意开题 系主任签名: 年 月 日 苏州信息职业技术学院苏州信息职业技术学院 毕业设计(论文)中期检查表毕业设计(论文)中期检查表 学生姓名学号指导教师 课题名称基于 Proteus 的温度检测与报警的仿真设计 难易程度偏难适中 偏易选题情况 工作量较大适中 较小 任务书有 无 开题报告有 无 符合规范化的 要求 外文翻译质量优良 中差 学习态度、出 勤情况 好 一般差 工作进度快 按计划进 行 慢 中期工作汇报 及解答问题情 况 该学生了解设计内容的安排,仔细研究了设计方案,认真进行毕业课 题仿真设计,并完成论文初稿,积极查阅资料,多次主动虚心求教,通过 本次设计可以看出该同学做事认真,积极投入,解答问题很有见解,对问 题的分析比较透彻,课题正按计划进行。 指导教师 年 月 日 所在专业意见: 继续进行 系主任 年 月 日 基于 Proteus 的温度检测与报警的仿真设计 摘要:温度是与人们生活息息相关的环境参数,许多情况下都学要进行温度测量及 报警,温度测量报警系统在现代日常生活.科研.工农生产中已经得到了越来越广泛的应 用。所以对温度的测量报警方法及设备的研究也变得极其重要。随着人们生活的不断 提高以及应对各种复杂测量环境的需要,我们对温度测量报警的要求也越来越高,利 用单片机来实现这些控制无疑使人们追求的目标之一,它带给我们的方便时不可否定 的,其中温度检测报警器就是一个典型的例子。要为现代人工作,科研,生活,提供 更好的设施,就需要从单片机技术入手,向数字化,智能化控制方向发展。 本设计所介绍的温度报警器,可以设置上下限报警温度,当温度不在设置范围内时, 可以报警。与传统温度测量系统相比,本设计中的数字温度测量报警系统具有很多前 者没有的优点,如测温范围广而且准确,采用 LED 数字显示,读数方便等。 关键词:单片机,温度检测,AT89C51,DS18B20 目录目录 1 绪 论 .1 1.1 课题背景 .1 2系统的具体设计.2 3 硬件电路设计 .3 3.1 单片机主控设计 .3 3.1.1 主要特性 .4 3.1.2 系统时钟电路 .5 3.1.3 复位电路.5 3.2 温度信号采集设计 .6 3.2.1 DS18B20 的特性 .7 3.2.2 DS18B20 的测温原理 .8 3.2.3 DS18B20 与单片机接口电路 .9 3.4 按键电路设计 .11 3.5 报警电路设计.12 4 温度控制系统的软件设计 .12 4.1 主程序设计.13 4.3 温度采集设计 .14 4.4 温度显示设计 .16 4.5 按键开关设计 .17 4.6 温度处理及蜂鸣器报警设计.19 5 温度检测系统调试仿真 .19 致 谢 .23 附 录 .25 1 1 绪绪 论论 1.11.1 课题背景课题背景 随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应 用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、 化工、建材、食品、石油等各个行业。传统的温度采集方法不仅费时费力,而 且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。 温度是工业对象中的一个重要的被控参数。然而所采用的测温元件和测量方法 也不相同:产品的工艺不用,控制温度的精度也不相同。因此对数据采集的精 度忽然采用的控制方法也不相同。传统的控制方式以不能满足高精度、高速度 的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于 他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本 身误差和交流接触器的寿命限制,通断频率很低。近几年来快速发展了多种先 进的温度控制方式。这些控制技术大大的提高了控制精度,不但使控制变得简 便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。 温度是一个永恒的话题和人们生活环境有着密切关系的物理量, 、科研、生 活中需要测量和控制的重要物理量,是国际单位制七个基本量之一。温度的变 化会给我们的生活、工作、生产等带来重大影响,因此对温度的测量及控制至 关重要。其测量控制一般使用各式各样形态的温度传感器。随着现代计算机和 自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器 件,温度传感器的作用日显突出,已成为自动检测、自动控制系统和计量测试 中不可缺少的重要技术工具,其用途已遍及工农业生产和日常生活的各个领域。 尽管现在以微机为核心的可编程数据采集与处理采集技术的发展方向得到 了迅速的发展,而且组成一个数据采集系统只需要一块数据采集卡,把它插在 微机的扩展槽内并辅以应用软件,就能实现数据采集功能,但这并不会对基于 单片机为核心的数据采集系统产生影响。相较于数据采集板卡成本和功能的限 制,单片机具多功能、高效率、高性能、低电压、低功耗、低价格等优点,这 就使得以单片机为核心的数据采集系统在许多领域得到了广泛的应用。 2 2系统的具体设计系统的具体设计 本系统的温度检测有两套方案,两种都能够对温度进行测量,第一中是采用 AD590,使用 AD590 作为温度传感器,需要进行电流电压变换,电压放大以及 A/D 转换。第二种是采用 DS18B20 作为温度传感器进行温度测量。DS18B20 可以满 足从-55 摄氏度到+125 摄氏度测量范围,在一秒内把温度转化成数字,测得的温 度值的存储在两个八位的 RAM 中,单片机直接从中读出数据转换成十进制就是温 度,使用方便。另外采用外加电源供电对 DS18B20 的 VDD 引脚供电。它的好处是 无须 MOSFET,而且在温度转换期间总线可自由搭载其它器件。它试用于对性能 要求不高成本严格控制的应用,是经济型产品。它具有线性好、精度适中、灵 敏度高、体积小和使用方便等优点,得到广泛应用。 因为 AD590 需要模拟转数字电路,精确度低,测温点数少对线阻有要求,电路 繁多,成本也较高,故本系统采用方案二。 在系统的总体设计方案中,我们采用 AT89C51 单片机作为控制核心对温度传 感器 DS18B20 控制,读取温度信号并进行计算处理,并送到液晶显示器 LCD1602 显示。 按照系统设计功能的要求,温度检测计总体电路结构框图如图 2.1 所示,确定系统由 4 个模块组成:单片机主控制模块、蜂鸣器报警模块、温 度测量模块和液晶显示模块。 AT89C51 单片机最小系统 按键设置温度 LCD 显示 报警电路 DS18B20 传感器 图 2.1 温度检测与报 警总体设计框图 3 3 硬件电路设计硬件电路设计 本课程设计的多点测温系统是以单片机和单总线数字温度传感器 DS18B20 为核心,充分利用单片机优越的内部和外部资源及智能温度传感器 DS18B20 的 优越性能构成一个完备的测温系统,实现对温度的多点测量。整个系统由单片 机控制,能够接收传感器的温度数据并显示出来,可以从键盘输入命令,系统 根据命令,选择对应的温度传感器,并由驱动电路驱动温度显示。本课程设计 了一种合理、可行的单片机监控软件,完成测量和显示的任务。由于单片机具 有强大的运算和控制功能,使得整个系统具有模块化、硬件电路简单以及操作 方便等优点。 本课题的整个系统是由单片机、显示电路、键盘电路、声光报警 电路等构成。 3.13.1 单片机主控设计单片机主控设计 主控制单元是单片机选用市场上常见的美国 ATMEL 公司的 AT89C51 作为控 制元件,以下是一些 AT89C51 的介绍,AT89C51 是一种带 4K 字节 FLASH 存储器 (FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、 高性能 CMOS 8 位微处理器,俗称单片机。AT89C51 是一种带 2K 字节闪存可编 程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 1000 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS- 51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个 芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C51 是它的一种精简版本。 AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 AT89C51 提供以下标准功能: 4k 字节 Flash 闪速存储器 ,128 字节内 部 RAM,32 个 I/O 口线,两个 16 位定时/计数器,一个 5 向量两级中断 结构,一个全双工 串行通信口,片内振荡器及 时钟电路。同时,AT89C51 可降至 0Hz 的静态逻辑操作,并支持两种 软件可选的节电工作模式。空闲 方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及 中断系统 中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁 止其它所有部件工作直到下一个硬件复位。 3.1.1 主要特性 -与 MCS-51 兼容 -4K 字节可编程闪烁存储器 -寿命:1000 写/擦循环 -数据保留时间:10 年 -全静态工作:0Hz-24MHz -三级程序存储器锁定 -1288 位内部 RAM -32 可编程 I/O 线 -两个 16 位定时器/计数器 -5 个中断源 -可编程串行通道 -低功耗的闲置和掉电模式 -片内振荡器和时钟电路 3.1.2 系统时钟电路 单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚 XTALl 和 XTAL2 跨接石英晶体和两个补偿电容构成自激振荡器,系统时钟电路 结构如图 3.1 所示,可以根据情况选择 6MHz、8MHz 或 12MHz 等频率的石英晶体, 补偿电容通常选择 20-30pF 左右的瓷片电容。 3.1.3 复位电路 单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位 操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接 通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。复位电路结 构如图 3.2 所示。上电自动复位通过电容 C3 充电来实现。手动按键复位是通过 按键将电阻 R2 与 VCC 接通来实现。 图 3.2 复位电路 图 3.1 时钟电路 3.23.2 温度信号采集设计温度信号采集设计 如图 3.3 美国 Dallas 半导体公司的数字化温度传感器 DS18B20 是世界上第 一片支持 “一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD) 专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。 “一 线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统 的构建引入全新概念。现在,新一代的 DS18B20 体积更小、更经济、更灵活, 使你可以充分发挥“一线总线”的优点。 同 DS18B20 一样,DS18B20 也支持 “一线总线”接口,测量温度范围在-10+85C 范围内,精度为0.5C。 现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。 适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消 费电子产品等。与前一代产品不同,新的产品支持 3V5.5V 的电压范围,使系 统设计更灵活、方便,而且新一代产品更便宜,体积更小。 对于温度的采集需要用到 DS18B20 一总线温度传感器,以下 DS18B20 的一 些介绍: DSl8B20 温度传感器是美国 DALLAS 半导体公司继 DSl820 之后最新推出的 只用改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温 图 3.3 DS18B20 度并且可根据要求通过简单的编程实现 9l2 位的数字直读方式。可以分别存 93.75ms 和 750ms 内完成 9 位和 12 位的数字量,并且从 DSl8B20 读出的信息或 写入 DSl8B20 的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数 据总线,总线本身也可以向所挂接 DSl8B20 供电,而无需额外电源。因而使用 DSl8B20 可使系统结构更趋简单,可靠性更高。他在测温精度,转换时时间, 传输距离,分辨率等方面较 DSl820 有了很大的改进,给用户带来了更方便的使 用和更令人满意的效果。DSl8B20 采用 3 脚 PR35 封装或 8 脚 SOIC 封装。 DS18B20 的测温流程如下图 3.4 DS18B20 测温流程。 初始化 DS18B20 跳过 ROM 匹配 温度变换延时 1S LED 液晶 显示 转换成显 示吗 读暂存器跳过 ROM 匹配 图 3.4 DS18B20 测温流程 3.2.1 DS18B20 的特性 (1)适应电压范围更宽,电压范围:3.05.5V,寄生电源方式下可由数 据线供。 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线 即可实现微处理器与DS18B20的双向通讯。 (3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上, 实现组网多点测温。 (4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集 成在形如一只三极管的集成电路内。 (5)温范围085,在0+85时精度为0.5。 (6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、 0.125和0.0625,可实现高精度测温。 (7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最 多在750ms内把温度值转换为数字,速度更快。 (8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU, 同时可传送CRC校验码,具有极强的抗干扰纠错能力。 (9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工 作。 3.2.2 DS18B20 的测温原理 DS18B20 的测温原理如图 3.5 所示,图中低温度系数晶振的振荡频率受温 度影响很小,用于产生固定频率的脉冲信号送给计数器 1。高温度系数晶振随 温度变化其振荡率明显改变,所产生的信号作为计数器 2 的脉冲输入。计数器 1 和温度寄存器被预置在-55所对应的一个基数值。计数器 1 对低温度系数晶 振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存器 的值将加 1,计数器 1 的预置将重新被装入,计数器 1 重新开始对低温度系数 晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度 寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补 偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。 DS18B20 在正常使用时的测温分辨率为 0.5,如果要更高的精度,则在对 DS18B20 测 温原理进行详细分析的基础上,采取直接读取 DS18B20 内部暂存寄存器的方法, 将 DS18B20 的测温分辨率提高到 0.10.01。 图 3.5 DS18B20 测温原理图 3.2.3 DS18B20 与单片机接口电路 P3.7 口和 DS18B20 的引脚 DQ 连接,作为单一数据线。U4 即为温度传感芯 片 DS18B20,本设计虽然只使用了一片 DS18B20,但由于不存在远程温度测量的 考虑,所以为了简单起见,采用外部供电的方式,如图 3.6 所示。测温电缆采 用屏蔽 4 芯双绞线,其中一对线接地线与信号线,另一对接 VCC 和地线,屏蔽 层在电源端单点接地。 3.33.3 液晶显示屏输出液晶显示屏输出 如下图 3.7 LCD 液晶显示,液晶显示的原理是利用液晶的物理特性,通过电 压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示 器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点, 目前已经被广泛应用在便携式电脑、数字摄像机、PDA 移动通信工具等众多领 域。 图 3.6 DS18B20 与单片机接口电路 图 3.7LCD 液晶显示 液晶显示器各种图形的显示原理 :点阵图形式液晶由 MN 个显示单元组 成,假设 LCD 显示屏有 64 行,每行有 128 列,每 8 列对应 1 字节的 8 位,即每 行由 16 字节,共 168=128 个点组成,屏上 6416 个显示单元与显示 RAM 区 1024 字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。这就是 LCD 显示的基本原理。用 LCD 显示一个字符时比较复杂,因为一个字符由 68 或 88 点阵组成,既要找到和显示屏幕上某几个位置对应的显示 RAM 区的 8 字 节,还要使每字节的不同位为“1” ,其它的为“0” ,为“1”的点亮,为“0” 的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显 示字符就比较简单了,可以让控制器工作在文本方式,根据在 LCD 上开始显示 的行列号及每行的列数找出显示 RAM 对应的地址,设立光标,在此送上该字符 对应的代码即可。汉字的显示一般采用图形的方式,事先从微机中提取要显示 的汉字的点阵码(一般用字模提取软件) ,每个汉字占 32B,分左右两半,各占 16B,左边为 1、3、5右边为 2、4、6根据在 LCD 上开始显示的行列号 及每行的列数可找出显示 RAM 对应的地址,设立光标,送上要显示的汉字的第 一字节,光标位置加 1,送第二个字节,换行按列对齐,送第三个字节直 到 32B 显示完就可以 LCD 上得到一个完整汉字,字符型液晶显示模块是一种专门 用于显示字母、数字、符号等点阵式 LCD,目前常用 16*1,16*2,20*2 和 40*2 行等的模块。下面以长沙太阳人电子有限公司的 1602 字符型液晶显示器介绍其 用法。LCD1602 主要技术参数: 显示容量:162 个字符; 芯片工作电压:4.5 5.5V ;工作电流:2.0mA(5.0V); 模块最佳工作电压:5.0V; 字符尺寸: 2.954.35(WH)mm, 1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说 明如表 3.1 。 表 3.1 1602LCD 引脚接口说明 3.43.4 按键电路设计按键电路设计 采用独立按键接口,这种方式是各种按键相互独立,每个按键接一根输入 线,一根输入线按键的工作状态不会影响其他输入线上的工作状态。因此,通 过检测输入线的电平状态可以很容易判断哪个按键被按下。 独立式按键电路配置灵活,软件简单。但每个按键需要占用一根输入口线, 在按键数量较多时,需要较多的输入口线且电路结构复杂,故此种键盘用于按 键较少或操作速度较高的场合。独立式按键电路按键直接与单片机的 I/O 口连 接,通过读 I/O 口,判定每个 I/O 口的电平状态,即可识别按下的键。 由于只有四个按键,因此按键接口电路的设计比较简单,单片机 P1.4 和 P1.7 端口设定为输入状态,平时通过电阻上拉到 Vcc,按键按下时,对应的端 口的电平被拉到低电平,如下图 3.4 所示。这样就可以通过查询有无外部中断 来判断有没有按键按下,按键各接一根输入线,一根输入线的按键工作状态不 会影响其他输入线上的工作状态。通过内部判断是否产生外部中断,即可识别 按下的键。2 个按键定义如下: P1.4:报警温度键,按此键则显示设定的报警温度值。 P1.7:正常温度键,按此键则显示设定的正常温度值。 编号符号引脚说明编号符号引脚说明 1VSS 电源地 9D2 数据 2VDD 电源正极 10D3 数据 3VL 液晶显示偏压 11D4 数据 4RS 数据/命令选择 12D5 数据 5R/W 读/写选择 13D6 数据 6E 使能信号 14D7 数据 7D0 数据 15BLA 背光源正极 8D1 数据 16BLK 背光源负极 3.53.5 报警电路设计报警电路设计 本设计采用软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。 当所测温度超过获低于所预设的温度时,数据口相应拉高电平,报警输出。报 警电路硬件连接见图 3.5。 (也可采用发光二级管报警电路,如过需要报警,则 只需将相应位置 1,当参数判断完毕后,再看报警模型单元 ALARM 的内容是否 与预设一样,如不一样,则发光报警) 4 4 温度控制系统的软件设计温度控制系统的软件设计 整个系统需要对每一个硬件模块进行软件设计。在这一章,主要针对每个 硬件电路模块编程,然后进行系统的整合,最后输入到控制处理器中实现所有 设计功能。 图 3.4 按键电路的仿真 图.3.5 报警电路设计 4.14.1 主程序主程序设计设计 根据设计要求,首先要确定软件设计方案,即确定该软件应该完成那些功 能;其次是规划为了完成这些功能需要分成多少个功能模块,以及每一个程序 模块的具体任务是什么。一般划分模块应遵循下述原则: (1)每个模块都应具有独立的功能,能产生一个明确直观的结果 。 (2)模块长度要适中。模块太长时,分析和调试比较困难,失去了模块化 程序结构的优越性;模块太短则信息交换太频繁,也不合适。 (3)每个模块之间的控制参数应尽量简单,数据参数应尽量少。控制参数 是指模块进入开始运行和退出停止运行的条件及方式,数据参数是指模块间的 信息交换方式、交换量的多少及交换的频率。 该系统的软件由五大模块组成:主程序模块、温度采集模块、报警及加热 电路模块、温度显示模块、键盘扫描模块。下面将对这几个模块具体阐述,相 对应的 C 语言程序语言详见附录。 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量的 当前温度值,其程序流程见图 4.1 所示,温度测量每 1s 进行一次。这样可以在 一秒之内测量一次被测温度。 N Y 开始 初始化 初始化命 令 设置温度 发送 ROM 命令 读取温度 值 温度是否在 设定范围 报警 调用 LCD 液晶 显示 图 4.1 软件流程总设计框图 计算机基本的被独立提供出来的程序 ,它能够调用子程序 ,而不被任 何子程序所调用 ,它是计算机程序的中心部分。 主程序的设计内容一般包括: 主程序的起始地址,中断服务程序的起始地址,有关存储单元及相关部件的初 始化和一些子程序调用等等。 主程序模块的主要内容是对整个系统进行初始化,并且包含调用子程序。 在本课题研究的系统中,主程序主要为两个部分:第一个是对系统初始化,如 打开相关中断,设置相关引脚的电平信号以及设置初始实际温度和设定温度的 数值 。 4.34.3 温度采集温度采集设计设计 温度采集子程序主要是实现对温度的采集及对温度数据进行处理传回给单 片机在进行显示。本系统用的 DS18B20 温度传感器要进行温度检测就需要对它 进行初始化、写指令操作,读数据操作以及读温度前的准备工作等。因此温度 采集子程序又由对 DS18B20 温度传感器的初始化子程序、写指令子程序、读数 据子程序、读温度数据前的准备子程序组成。温度采集程序图 4.2 所示。 a 该模块主要对温度传感器 DS18B20 的操作,主要包括以下几个内容: (1) 先将数据线置高电平 “1”; (2) 延时; (3) 数据线拉到低电平 “0”; (4) 延时; (5) 数据线拉到高电平 “1”; (6) 延时等待(如果初始化成功则在 15 到 60 毫秒时间之内产生一 个由 DS18B20 所返回的低电平 “0”。据该状态可以来确定它的存在,但是 应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控 制); (7) 若 CPU 读到了数据线上的低电平 “0”后,还要做延时 ; (8) 将数据线再次拉高到高电平 “1”后结束。 b、DS18B20 的写操作 (1) 数据线先置低电平 “0”; (2) 延时; (3) 按从低位到高位的顺序发送字节(一次只发送一位); (4) 延时; (5) 将数据线拉到高电平 ; (6) 重复上 1 到 6 的操作直到所有的字节全部发送完为止 ; (7) 最后将数据线拉高。 c、DS18B20 的读操作 (1)将数据线拉高 “1”; (2)延时; (3)将数据线拉低 “0”; (4)延时; (5)将数据线拉高 “1”; (6)延时; (7)读数据线的状态得到 1 个状态位,并进行数据处理 ; (8)延时。 4.44.4 温度显示温度显示设计设计 显示子程序主要功用是将传感器测得的温度值显示出来,写数据以及初始 化的流程图如图 4.3 和 4.4 所示根据时序图 LCD 液晶显示器的写指令。本系统 用的是 LCD 液晶显示器,而 LCD 液晶显示器要显示出数据在之前需要对液晶显 示器进行初始化,写指令,写数据等操作因为本系统液晶显示器只写不读,所 以没有附加读操作的时序图。所以 R/W 管脚一直处于低电平,在硬件中就直接 接地,在软件中就不用操作此管脚的信号了,就只需要控制 RS 和 E 管脚就可以 了。 发 DS18B20 复位命令 发跳过 ROM 命令 发读取温度命令 读取操作,CRC 校验 图 4.2 温度采集 9 字节完? CRC 校验正 移入温度暂存器 返回 N N Y Y 写入指令 06H 地址 指针加一,光标加 一 图 4.3LCD 液晶显示器写指令操作流程图 结束 哦 将 E 管脚电平 拉低 将 E 管脚电平 拉高 延时 5ms 向 D0-D7 管脚 写入指令代码 将 RS 管脚电 平拉低 开始 哦 延时 5ms 图 4.4LCD 液晶显示器初始化流程图 写入指令 0CH 开不显示光标 将 E 管脚电平 拉低 开始哦 写入指令 38H 写入指令 01H 清屏 4.54.5 按键开关按键开关设计设计 按键处理程序通过扫描按键情况,读取键值。主要完成各点温度传感器上 下限报警参数设置和显示模式设置。 (1)通过扫描键盘读取键值,流程图如图 4.5 所示。 键盘扫描 有键闭合 延时去键抖动 扫描键盘 找到闭合键 计算键值 闭合键释放 建立有效标志 返回 建立无效标 志 N N N Y Y Y 图 4,.5 键盘扫描流程 (2)设置报警上、下限值 DS18B20 设有温度上下限报警功能。DSl8B20 的存储器由两部分组成:一个 是 9 字节的静态 RAM,其中第 0 和第 1 字节用于存储 16 位的温度转换值,第 2(高温限 TH)和第 3 字节(低温限 TL)作为温度报警限值或通用存储器单元供用 户使用;另一个是非易失性的 EPROM。当静态 RAM 作为温度报警限值使用时, 可以在系统安装和工作前,用写 RAM 命令 4EH 将高温限 TH 和低温限 TL 写入第 2 和第 3 字节单元。由于静态 RAM 掉电后信息即丢失,因此需要再通过拷贝 RAM 命令 48H 将第 2 和第 3 字节单元的温度报警限值拷贝到 EPROM 中。主程序只要 在初始化部分使用重调 EPROM 命令 B8H,就可以将 EPROM 中的温度报警限值 重新拷贝到静态 RAM 中。 读取 DDRAM 或 CGRAM 中的内容。 4.64.6 温度处理及蜂鸣器报警设计温度处理及蜂鸣器报警设计 蜂鸣器报警在本系统中由单片机的 P3.7 管脚电平的高低来控制蜂鸣器报警。 单片机的 P3.7 管脚低电平蜂鸣器报警,单片机的 P3.7 管脚高电平蜂鸣器不报 警。通过对读到并且进行了数据处理的温度值进行判断是否大于或者小于某一 报警值而进行报警,直到读到的温度值不在报警温度值之中就停止报警。本系 统以大于 85小于 0蜂鸣器报警为例,蜂鸣器的正极性的一端联接到 5V 电源 上面,另一端联接到三极管的集电极,三极管的基级由单片机的 P3,7 管脚通过 一个与非门来控制,当 P3.7 管脚为低时,与非门输出高电平,三极管导通,这 样蜂鸣器的电流形成回路,发出声音。当 P3.7 管脚为高时,与非门输出低电平, 三极管截止,蜂鸣器不发出声音。在这里与非门是作为非门来用的,这里采用 一个非门的作用是为了防止系统上电时峰鸣器发出声音,以为系统复位以后, I/O 口输出的是高电平。 用户可以通过程序控制 P3.7 管脚的置低和置高来使 蜂鸣器发出声音和关闭。 蜂鸣器的声音大小及音调可以通过调整 P3.7 管脚的 置高时间及输出的波形进行控制,这一点可以在调试程序的时候来试验。发光 二极管它是半导体二极管的一种,可以把电能转化成光能;常简写为 LCD。发 光二极管与普通二极管一样是由一个 PN 结组成,也具有单向导电性。常用的是 发红光、绿光或黄光的二极管光。报警电路采用发光二极管与单片机相连接, 且需要接上拉电阻,起到限流作用,通过改变单片机 P3.7 口的电位,就可以达 到控制二极管的目的。声报警电路采用蜂鸣器与单片机相连接,蜂鸣器要用三 极管驱动,通过改变单片机 P3.7 口的电位,就可以达到控制蜂鸣器的目的。 5 5 温度检测系统调试仿真温度检测系统调试仿真 整个温度检测系统的设计包括硬件设计和软件设计。这一章的主要内容是 将硬件设计部分和软件设计部分连接起来通过 Proteus 软件进行仿真,将系统的 设计功能通过仿真模拟体现出直观的效果。 Proteus 软件是一种低投资的电子设计自动化软件,提供可仿真数字和模 拟、交流和直流等数千种元器件和多达 30 多个元件库。Proteus 软件提供多种 现实存在的虚拟仪器仪表。此外,Proteus 还提供图形显示功能,可以将线路 上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的 参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结 果的影响,Proteus 软件提供丰富的测试信号用于电路的测试。这些测试信号 包括模拟信号和数字信号。提供 Schematic Drawing、SPICE 仿真与 PCB 设计功 能,同时可以仿真单片机和周边设备,可以仿真 51 系列、AVR、PIC 等常用的 MCU,并提供周边设备的仿真,例如 373、led、示波器等。Proteus 提供了大量 的元件库,有 RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分 SPI 器件、部 分 IIC 器件,编译方面支持 Keil 和 MPLAB 等编译器。 整体电路仿真 5.1 所示,整机的调试与测试,首先是测试显示电路的正确性, 根据硬件写好一段显示程序,写入单片机中。安装好硬件,上电,显示正常, 达到预期效果。证明显示电路正常。按下复位按键,LED 无显示,松开,显示 正常,证明复位电路正常。 然后测试得到温度程序,将初始化程序,DS18B20 正常工作的初始化程序、写 DS18B20 程序、读 DS18B20 程序,得到温度子程序, 温度转换子程序,数据转换子程序,显示子程序正确编排后写入单片机中,上 电,显示不正常。重新读取源程序,经检查后发现问题在于 DS18B20 初始化程 序有错,修改后重新编译并写入单片机。上电后,显示当前温度。证明温度传 感器 DS18B20 工作正常,各部分子程序运行正常。 最后是按键子程序及报警子 程序的调试,将按键子程序及报警子程序及上述程序正确编排后,写入单片机 中,上电后,各个部分工作正常,在测得当前温度超出设定温度上下限后,蜂 鸣器发出报警声,调试基本成功。但后来发现,按键要在按下 1S 后才反应,再 次研读程序发现原因在于按键程序采用扫描方式,程序每执行一遍才扫描按键 一次。进而到考虑采用中断方式解决此问题,但因为 DS18B20 正常工作有严格 的时序限制,否则不能正常工作,而中断则在很大可能上会影响到 DS18B20 正 常工作。在尝试并采用中断方式却失败后,决定仍采用扫描方式。后来仔细排 查发现按键反应迟缓是由于显示程序占用时间过长造成的,修改显示程序并且 在主程序和按键子程序中增加调用显示程序的次数,问题得以解决。至此,此 次设计的调试部分完成。设计的所有功能全部得以实现。一开始老师给我们加 的功能让我们很为难,不知道怎么编所以我们都想推辞掉,不过在编写这些子 程序的过程中慢慢的感觉很有趣,反而觉得挺简单的还是,但也会碰到很多问 题,比如说显示温度上下限的时候一开始无法显示数字出来的是乱码,重新编 写后又变成了日文,后来看了参考书后,最后用了一个 0 到 9 的数组,要显示 的数字从数组中取得,这样就好了,终于能显示出来了,但是发现它无法记时 改变数字,要重新按键才会显示新的上下限温度,后来发现时键盘处理中有点 问题,这个我们花了好久才解决的,就是把去掉一个按键处理,把它用 if 语句 独立出来,这样后就能记时改变温度,还有一个问题是我们发现在报警时我们 无法改变其温度上下限和其他按键,也就是报警时按键无效了,后来知道了我 们的报警程序是用 while 组成,所以报警时一直在 while 语句中做循环,按键 当然无效,这个的解决办法马上就能想到了,就是在 while 语句中再加入读取 键盘值和键盘值处理的子程序就 ok 了。其他别的小问题什么的我们组最后都很 好的及时的解决了,这次的设计我们组觉得还是比较成功的,做出了比预期更 好的设计来。 图 5.1 整体电路仿真(高温报警状态) 通过上述仿真,实现了系统设置温度的检测与报警功能。当温度低于设定 温度时系统发出低温报警,当温度高于设定温度时则发出高温报警信号。软件 和硬件部分系统整合后,通过系统仿真实现了温度检测与报警系统的各项设计 功能。 结 论 经过近三个月的学习设计,我学到了很多新的知识,培养和锻炼了我的创 新能力和实际操作的能力,在毕业设计过程中给我最大的感受就是理论上和实 际应用是有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幕墙施工材料控制方案
- 建筑施工材料管理与验收
- 智算中心跨区域分布式系统方案
- 2025年国开学习网电大健康教育与健康促进形考任务1及答案
- 2025年热工仪表检修工试题与答案(附解析)
- 边缘计算信号优化-洞察及研究
- 智算中心计算与存储资源整合方案
- 水库溢洪道建设方案
- 2025年环保科技与生态治理的专业能力考试试卷及答案
- 可持续供应链中的责任供应链管理-洞察及研究
- 2025四川绵阳市建设工程质量检测中心有限责任公司市场部业务拓展员岗招聘1人笔试备考试题及答案解析
- 2025年秋季开学全体教师大会校长讲话:践行“六个学会”做学生生命中的那束光
- 广东省东莞市2024-2025学年七年级下学期期末语文试题(含答案)
- 项目成本预算管理制度
- 2025年成都教师招聘考试教育公共基础知识真题及答案
- 中学语文教学资源开发与利用指南
- 2025年材料管理岗位考试题库
- 年级主任职责详解及管理要点
- 储能项目投资测算方案
- 【25秋】统编版小学语文二年级上册-《第八单元大单元设计》课件
- 2025年长沙中考化学试卷真题解读及复习备考指导
评论
0/150
提交评论