基于单片机温度检测系统课程设计.doc_第1页
基于单片机温度检测系统课程设计.doc_第2页
基于单片机温度检测系统课程设计.doc_第3页
基于单片机温度检测系统课程设计.doc_第4页
基于单片机温度检测系统课程设计.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

长 春 大 学 课程设计纸 i 装 订 线 基于单片机温度检测系统设计 【摘要】温度是表征物体冷却程度的物理量,也是一种最基本的环境参数。在 农工业生产及日常生活中,对温度的测量及控制始终占据着极其重要的地位。 目前,以 ds18b20 为代表的新型单总线数字是温度传感器和 a/d 转换器于一体, 直接输出数字量,与单片机接口结构简单,广泛用于距离远,节点分布多的场 合,具有较强的推广应用价值,采用单片机对它们进行控制不仅具有控制方便, 简单灵活性大等特点,而且还可以大幅度提高被控温度的技术指标,从而能够 大大提高产品质量,因此,智能化温度传感技术正被广泛地采用。 本温度设计采用现在流行的 at89c52 单片机,配以 ds18b20 数字温度传感 器,该温度传感器可自行设置温度上下限,单片机将检测到的温度信号与输入 的温度上,下限进行比较。本设计加入了 1602 液晶显示屏显示,使整个设计 更加完整,灵活。 随着社会经济的不断发展,现代农业生产离不开环境控制,本文在对国内 外温室智能控制进行深入分析的基础上,针对温室智能化控制存在的诸多因子, 将智能传感器监测和单片机控制相结合,提出了基于单片机的温度检测系统设 计方案。本系统采用层次化、模块化设计,整个系统由数据采集系统、单片机 控制系统、计算机监控系统组成。系统以单片机为核心,以多个温度、湿度传 感器作为测量元件,通过单片机与智能传感器相连,采集存储智能传感器的测 量数据。在单片机系统中,还要实现程序的扩展存储、数据的实时显示、超限 语音报警和数据辅助存储功能。单片机作为监控计算机与智能传感器连接的中 心。本设计主要做了如下几方面的工作:一是确定系统的总体设计方案,包括 其功能设计;设计原则;组成与工作原理;二是进行智能传感器的硬件电路设 计;包括硬件电路构成及测量原理;温度传感器的选择;单片机的选择;输入 输出通道设计;三是进行了调试和仿真,包括硬件仿真和软件仿真。 长 春 大 学 课程设计纸 i 装 订 线 目目 录录 第一章第一章 引引 言言1 1 1.1 设计目的 1 1.2 设计产品功能 2 第二章第二章 总体设计方案总体设计方案2 2 第三章第三章 温度控制系统设计基础温度控制系统设计基础4 4 3.1 温度传感器的历史发展 4 3.2 ds18b20 数字温度传感器简介 5 3.2.1 温度传感器内部结构.5 3.2.2 ds18b20 产品的特点 .6 3.2.3 ds18b20 引脚图及引脚功能介绍 .6 3.2.4 ds18b20 的使用方法 .7 3.3 ds18b20 的测温原理 8 第四章第四章 系统总体设计系统总体设计9 9 4.1 1602 液晶显示器和单片机接口技术.9 4.1.1 1602 液晶显示器简介 .9 4.1.2 功能管脚.10 4.1.3 特性应用10 4.1.4 1602 与单片机接口电路 .11 4.2 单片机单元 11 4.2.1 at89c51 单片机简介 11 4.2.2 晶振电路.14 4.2.3 复位电路 .14 4.3 系统的硬件组成及设计原理 .15 第五章第五章 系统软件设计系统软件设计1515 5.1 程序流程图 .15 5.2 程序 .16 总总 结结2626 致致 谢谢2727 参参 考考 文文 献献2828 附附 录录2929 长 春 大 学 课程设计纸 共 32 页 第 1 页 装 订 线 第一章第一章 引引 言言 随着社会的发展,科技的进步,以及测温仪器在整个领域的应用,智能化 已实现待温度控制系统发展的主流方向。温度控制不好可能引起生产安全,产 品质量和产量等一系列问题,智能温度控制是许多机器的重要构成部分,它的 功能是将温度控制在所需要的温度范围内,然后进行共建的加工和处理,不论 是在生活中还是工业生产过程中,温度的变化对生活,生产的某些细节环节都 会造成不同程度的影响,所以适时地对温度进行控制,设计一个温度控制系统, 具有广泛的应用前景与实际意义。 温度是科技最基本的物理量之一,物理,化学,生物等学科都离不开温度, 在工业生产和实验研究中,温度常常是表征对象和过程状态的最重要参数之一。 比如,发电厂锅炉的温度必须控制在一定范围之一;许多化学反应的工艺过程 必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压 力条件下进行分馏才能得到汽油,柴油,煤油等产品。没有合适的温度,许多 电子设备就不能正常工作。因此,各行各业对温度控制的要求越来越高,可见 温度的测量和控制是非常重要的。 单片机在电子产品的应用已越来越广泛,在很多的电子产品中也用到了温 度检测和温度控制。随着温度控制器应用范围的日益广泛和多样性,各种适用 于不同场合的智能温度控制系统应运而生。 1.11.1 设计目的设计目的 本设计的内容是温度测试控制系统,控制对象是温度,温度控制在日常生 活及工业领域相当广泛,比如温度,水池,发酵缸等场所的温度控制。而以往 温度控制是由人工完成的而且不够重视,其实在很多场所温度都需要监控以防 止意外发生。针对此问题,本系统设计的目的是 本课题综合了现代测控技术、电子信息、计算机技术专业领域方方面面 的知识,具有综合性、科学性、代表性,可全面检验和促进学生的理论素养和 工作能力。 掌握一个显示屏和一个温度传感器的原理、性能、使用特点和方法,利 用单片机对系统进行编程。 长 春 大 学 课程设计纸 共 32 页 第 2 页 装 订 线 实现一种可连续高精度调温的温度控制系统,它应用广泛、功能强大、 小巧美观、便于携带,是一款既实用又廉价的控制系统。 本课题的研究可以使学生更好的掌握基于单片机应用系统的分析与设计 方法,培养创新意识、协作精神和理论联系实际的学风,提高电子产品研发素 质、增强针对实际应用系统设计制作的能力。 1.21.2 设计产品功能设计产品功能 通过搭建 51 单片机最小系统及周边电路,可是本产品具有以下功能及特点: 1. 实现温度计功能,可实现实时显示和报警。 2. 实现数字万年历功能。 3. 所有 i/o 口全部引出,方便进行二次开发。 第二章第二章 总体设计方案总体设计方案 温度检测系统有着共同的特点:测量点多,环境复杂,布线分散,现场离 控制室远等。若采用一般温度传感器采集温度信号,则需设计信号调理电路, a/d 转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送 到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因检测 环境复杂,测量点多,信号传输距离远及各种干扰的影响,会使检测系统的稳 定性和可靠性下降,所以温度检测系统的设计关键在于两部分:温度传感器的 选择和主控单元的设计。温度传感器应用范围广,使用数量庞大,也高居各类 传感器之首。 首先由温度传感器 ds18b20 采集温度数据,经 at8c52 单片机中进行运算 处理,并液晶屏显示当前温度,由单片机控制是否发出控制信号及报警信号, 从而实现恒温监控。在整个过程中,温度始终得以显示,设定温度过程中显示 设定温度值,以便于操作。设定完毕后,改为显示当前测定温度值。 本系统的电路设计主要有六部分主成:主控制部分芯片采用单片机 at89c51显示部分采用 1602 液晶显示屏实现;温度采集部分采用 ds18b20 温度传感器;报警部分蜂鸣器的使用;供电部分;独立按键部 分用于控制万年历 1. 主控制部分 长 春 大 学 课程设计纸 共 32 页 第 3 页 装 订 线 此部分是电路的核心部分,系统控制采用了单片机 at89c51,有 atmel 公 司生产的 at89c51 是一种低功耗,高性能的微控制器,具有 8k 在线系统可编 程 flash 存储器,单片机 at89c51 具有低电压供电和体积小等特点,四个端口 只需要两个就能满足电路系统的设计要求,很适合便携手持式产品的设计使用 2显示电路 采用技术成熟,价格便宜的 1602 液晶显示器作为输出显示。本次设计使用 的 1602 液晶显示器为 5v 电压驱动,带背光,可显示两行,每行 16 个字符, 不能显示汉字,内置 128 个字符的 ascii 字符集字库,只有并行接口,无串口 接口。 3. 温度采集部分 ds18b20 温度传感器是美国 dallas 公司生产的 1wire,即单总线器件, 具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单, 在一根通信线,可以挂很多这样的数字温度计,十分方便。可直接读出被测温 度。这一部分主要完成对温度温度信号的采集和转换工作,由 ds18b20 数字式 温度传感器及其与单片机的接口部分主成,ds18b20 数字式温度传感器把采集 到的温度通过数据引脚传到单片机接受温度并存储,此部分只用到 ds18b20 和 单片机,硬件很简单。 ds18b20 数字式温度传感器通常采用两种方式供电,一种是寄生电源供电 方式,另一种是采用外部电源供电方式,此时 ds18b20 的 1 引脚接地,2 引脚 作为信号线,3 引脚接电源,本设计采用外部供电方式,外部电源供电方式是 ds18b20 最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比 较简单,可以开发出稳定可靠的多点温度监控系统。 图 2-2 ds18b20 与单片机接口电路 4 报警部分 此处三极管选取型号为 8550 的 pnp 型三极管,管脚排列见下图 长 春 大 学 课程设计纸 共 32 页 第 4 页 装 订 线 图 2-3 蜂鸣器电路 5. 独立按键部分 图 2-4 独立按键电路 6. 单片机最小系统 图 2-5 最小系统 第三章第三章 温度控制系统设计基础温度控制系统设计基础 3.13.1 温度传感器的历史发展温度传感器的历史发展 温度的测量是从热胀冷缩开始,水银温度计至今仍是各种温度计测量的计 长 春 大 学 课程设计纸 共 32 页 第 5 页 装 订 线 量标准,可是它的缺点是只能近距离观测,而且水银有毒玻璃管易碎,代替水 银的有酒精温度计和金属簧片温度计,它们虽然没有毒性,但测量精度较低, 只能作为一个概略指示,不过在居民宅中使用已可满足要求,在工业生产和实 验研究中心为了配合远传仪表指示,出现了许多不同的温度检测方法,常用的 有电阻式、热电偶式、pn 结型、辐射型、光纤式及石英谐振型等。它们都是基 于温度变化引起其物理参数的变化的原理。随着大规模的集成电路工艺的提高, 出现了多种集成的数字化温度传感器。然而测量温度的关键就是温度传感器, 温度传感器的发展经历了三个发展阶段: 传统的分立式温度传感器;模拟集 成温度传感器;只能集成温度传感器。 目前典型的温度测控系统由模拟式温度传感器和单片机组成。由于模拟式 温度传感器输出的模拟信号必须经过 a/d 转换环节获得数字信号后才能与单片 机等微处理器连接,因而使得硬件电路结构复杂,成本较高。因此目前国际上 新型温度传感器正从模拟向数字式,从集成化向智能化,网络化的方向飞速发 展,以 ds18b20 为代表的新型单总线数字式温度传感器集温度测量和 a/d 转 换于一体,直接输出数字量,与单片机接口电路结构简单,广泛使用距离远、 节点分布多的场合,具有较强的推广和应用价值。 3.23.2 ds18b20ds18b20 数字温度传感器简介数字温度传感器简介 3.2.13.2.1 温度传感器内部结构温度传感器内部结构 ds18b20 数字温度传感器是 dallas 公司生产的 1wire,即单总线器件, 具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单, 在一根通信线,可以挂很多这样的数字温度计,十分方便。 长 春 大 学 课程设计纸 共 32 页 第 6 页 装 订 线 图 3-1 温度传感器内部结构 3.2.23.2.2 ds18b20ds18b20 产品的特点产品的特点 独特的单线接口仅需一个端口引脚进行通讯 简单的多点分布应用 无需外部器件 可通过数据线供电 零待机功耗 测温范围-55+125,以 0.5递增。华氏器件-67+2570f,以 0.90f 递增 温度以 9 位数字量读出 温度数字量转换时间 200ms(典型值) 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统 3.2.33.2.3 ds18b20ds18b20 引脚图及引脚功能介绍引脚图及引脚功能介绍 to92 封装的 ds18b20 的引脚排列见图 3-2,其引脚功能描述见表 3-1。 长 春 大 学 课程设计纸 共 32 页 第 7 页 装 订 线 图 3-2 ds18b20 的引脚图 表 3-1 ds18b20 详细引脚功能描述 序 号 名 称 引脚功能描述 1g nd 地信号 2d q 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生 电源下,也可以向器件提供电源。 3v dd 可选择的 vdd 引脚。当工作于寄生电源时,此引脚必须接地。 3.2.43.2.4 ds18b20ds18b20 的使用方法的使用方法 由于 ds18b20 采用的是 1wire 总线协议方式,即在一根数据线实现数据 的双向传输,而对 at89s51 单片机来说,硬件上并不支持单总线协议,因此, 我们必须采用软件的方法来模拟单总线的协议时序来完成对 ds18b20 芯片的访 问。由于 ds18b20 是在一根 i/o 线上读写数据,因此,对读写的数据位有着严 格的时序要求。ds18b20 有严格的通信协议来保证各位数据传输的正确性和完 整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时 序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传 长 春 大 学 课程设计纸 共 32 页 第 8 页 装 订 线 输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写 命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 ds18b20 的复位时序 ds18b20 的读时序 对于 ds18b20 的读时序分为读 0 时序和读 1 时序两个过程。 对于 ds18b20 的读时隙是从主机把单总线拉低之后,在 15 秒之内就得释 放单总线,以让 ds18b20 把数据传输到单总线上。ds18b20 在完成一个读时 序过程,至少需要 60us 才能完成。 ds18b20 的写时序 对于 ds18b20 的写时序仍然分为写 0 时序和写 1 时序两个过程。对于 ds18b20 写 0 时序和写 1 时序的要求不同,当要写 0 时序时,单总线要被拉低 至少 60us,保证 ds18b20 能够在 15us 到 45us 之间能够正确地采样 io 总线上 的“0”电平,当要写 1 时序时,单总线被拉低之后,在 15us 之内就得释放单总 线。 3.33.3 ds18b20ds18b20 的测温原理的测温原理 ds18b20 是 dallas 公司生产的一线式数字温度传感器,具有 3 引脚 to- 92 小体积封装形式;温度测量范围为-55+125,可编程为 9 位12 位 a/d 转换精度,测温分辨率可达 0.0625,被测温度用符号扩展的 16 位数字量方式串 行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个 ds18b20 可以并联到 3 根或 2 根线上,cpu 只需一根端口线就能与诸多 ds18b20 通信,占 长 春 大 学 课程设计纸 共 32 页 第 9 页 装 订 线 用微处理器的端口较少,可节省大量的引线和逻辑电路. 低温度系数晶振的震荡频率受温度的影响很小,用于产生固定频率脉冲信 号送给减法计数器 1,高温度系数晶振随温度变化其震荡频率明显改变,所产 生的信号作为减法计数器 2 的脉冲输入,途中还隐含着计数门,当计数门打开 时,ds18b20 就对低温度系数晶振器产生的时钟脉冲进行计数,进而完成温度 测量,计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将- 55所对应的一个基值,减法计数器 1 对低温度系数晶振产生的脉冲信号进行 减法计数。当减法计数器 1 的预值减到 0 时,温度寄存器的值将加 1,减法计 数器 1 的预值将从新被装入,减法计数器 1 从新开始对低温度系数晶振产生的 脉冲信号进行计数,如此循环,直到减法计数器 2 计数到 0 时,停止温度寄存 器值得累加,此时温度寄存器中的数值即为所测温度。 对于 ds18b20 的使用,多采用单片机实现数据采集,处理时,将 ds18b20 信号线与单片机一位口线相连,单片机可挂接多片 ds18b20,从而实现多点温 度检测系统。 第四章第四章 系统总体设计系统总体设计 4.14.1 16021602 液晶显示器和单片机接口技术液晶显示器和单片机接口技术 4.1.14.1.1 16021602 液晶显示器简介液晶显示器简介 1602lcd 是指显示的内容为 16x2,即可以显示两行,每行 16 个字符液晶模 块(显示字符和数字) 。目前市面上字符液晶绝大多数是基于 hd44780 液晶芯 片的,控制原理是完全相同的,因此基于 hd44780 写的控制程序可以很方便地 应用于市面上大部分的字符型液晶。 工业字符型液晶,能够同时显示 16x02 即 32 个字符。 (16 列 2 行) 注:为了表示的方便 ,后文皆以 1 表示高电平,0 表示低电平。 1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母、数字、符 号等的点阵型液晶模块。它由若干个 5x7 或者 5x11 等点阵字符位组成,每个 点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有 间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图 形(用自定义 cgram,显示效果也不好) 。 1602lcd 是指显示的内容为 16x2,即可以显示两行,每行 16 个字符液晶模 长 春 大 学 课程设计纸 共 32 页 第 10 页 装 订 线 块(显示字符和数字) 。 目前市面上字符液晶绝大多数是基于 hd44780 液晶芯片的,控制原理是完 全相同的,因此基于 hd44780 写的控制程序可以很方便地应用于市面上大部分 的字符型液晶。 4.1.24.1.2 功能管脚功能管脚 图 4-1 1602 管脚图 1602 采用标准的 16 脚接口,其中: 第 1 脚:vss 为电源地 第 2 脚:vcc 接 5v 电源正极 第 3 脚:v0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电 源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个 10k 的 电位器调整对比度) 。 第 4 脚:rs 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择 指令寄存器。 第 5 脚:rw 为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写 操作。 第 6 脚:e(或 en)端为使能(enable)端。 第 714 脚:d0d7 为 8 位双向数据端。 第 1516 脚:空脚或背灯电源。15 脚背光正极,16 脚背光负极。 4.1.34.1.3 特性应用特性应用 +3.3v 电压,对比度可调 内含复位电路 提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能 有 80 字节显示数据存储器 ddram 内建有 192 个 5x7 点阵的字型的字符发生器 cgrom 长 春 大 学 课程设计纸 共 32 页 第 11 页 装 订 线 8 个可由用户自定义的 5x7 的字符发生器 cgram 微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功 耗应用系统中。 4.1.44.1.4 16021602 与单片机接口电路与单片机接口电路 系统显示电路由单片机 at89c51、字符液晶显示器 lm016l 和 1kx8 的排 阻构成。单片机实现对 lcd 命令和显示数据的读写控制功能,p0 口作数据口, 与 lm016l 的 d0d7 相接,在 p0 口 d0d7 数据线之间分别接 8 个上拉电阻, 以确保电路能够正常显示。at89c51 的 p1 口作为 lcd 的控制线,p2.0p2.2 分别接 lm016l 的 rs、rw 和 e 端;lm016l 的其它三个控制端 vdd 和 vss、vee 分别接电源和地。系统显示电路组成如图所示。 图 4-2 1602 与单片机接口 4.24.2 单片机单元单片机单元 4.2.14.2.1 at89c51at89c51 单片机简介单片机简介 at89c51 是一种带 4k 字节闪烁可编程可擦除只读存储器(fperom falsh programmable and erasable read only memory)的低电压,高性能 cmos8 位微处理器,俗称单片机。该器件采用 atmel 高密度非易失存储器制造技术 制造,与工业标准的 mcs-51 指令集和输出管脚相兼容。由于将多功能 8 位 cpu 和闪烁存储器组合在单个芯片中,atmel 的 at89c51 是一种高效微控制 器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。它的管脚图如 下图所示。 长 春 大 学 课程设计纸 共 32 页 第 12 页 装 订 线 图 4-3 at89c52 各引脚图 1主要特性: (1)与 mcs-51 兼容 (2)42k 字节可编程闪烁存储器(3)寿命:1000 写/擦循环(4)数据保留时间(5)10 年全静态工作:(6)0hz-24hz 三级程序 存储器锁定(7)128*8 位内部 ram(8)32 可编程 i/o 线(9)5 个中断源 (10)可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 2管脚说明: vcc:供电电压。gnd:接地。p0 口:p0 口为一个 8 位 漏级开路双向 i/o 口,每脚可吸收 8ttl 门电流。当 p1 口的管脚第一次写 1 时, 被定义为高阻输入。p0 能够用于外部程序数据存储器,它可以被定义为数据/地 址的第八位。在 fiash 编程时,p0 口作为原码输入口,当 fiash 进行校验时, p0 输出原码,此时 p0 外部必须被拉高。 p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能 接收输出 4ttl 门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作输入, p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 flash 编程和校验时,p1 口作为第八位地址接收。 p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可接收, 输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高,且 作为输入。并因此作为输入时,p2 口的管脚被外部拉低,将输出电流。这是由 于内部上拉的缘故。p2 口当用于外部程序存储器或 16 位地址外部数据存储器 长 春 大 学 课程设计纸 共 32 页 第 13 页 装 订 线 进行存取时,p2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉 优势,当对外部八位地址数据存储器进行读写时,p2 口输出其特殊功能寄存器 的内容。p2 口在 flash 编程和校验时接收高八位地址信号和控制信号。 p3 口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口,可接收输出 4 个 ttl 门电流。当 p3 口写入“1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平,p3 口将输出电流(ill)这是由于上拉的 缘故。 p3 口也可作为 at89c51 的一些特殊功能口,如下表所示: 口管脚 备选功能 p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 /int0(外部中断 0) p3.3 /int1(外部中断 1) p3.4 t0(记时器 0 外部输入) p3.5 t1(记时器 1 外部输入) p3.6 /wr(外部数据存储器写选通) p3.7 /rd(外部数据存储器读选通) p3 口同时为闪烁编程和编程校验接收一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的高 电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 地位字节。在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale 端 以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作 对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储 器时,将跳过一个 ale 脉冲。如想禁止 ale 的输出可在 sfr8eh 地址上置 0。此时, ale 只有在执行 movx,movc 指令是 ale 才起作用。另外,该 引脚被略微拉高。如果微处理器在外部执行状态 ale 禁止,置位无效。 psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每 个机器周期两次/psen 有效。但在访问外部数据存储器时,这两次有效的 /psen 信号将不出现。 ea/vpp:当/ea 保持低电平时,则在此期间外部程序存储器(0000h- ffffh) ,不管是否有内部程序存储器。注意加密方式 1 时,/ea 将内部锁定为 reset;当/ea 端保持高电平时,此间内部程序存储器。在 flash 编程期间, 此引脚也用于施加 12v 编程电源(vpp) 。 长 春 大 学 课程设计纸 共 32 页 第 14 页 装 订 线 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。 4.2.24.2.2 晶振电路晶振电路 振荡器特性: xtal1 和 xtal2 分别为反向放大器的输入和输出。该反向放大器可以配 置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件, xtal2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外 部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 表4-1at89c52主要功能特性 主要功能特性 兼容 mcs51 指令系统8k 可反复擦写 flash rom 32 个双向 i/o 口256x8bit 内部 ram 3 个 16 位可编程定时/计数器中断时钟频率 0-24mhz 2 个串行中断可编程 uart 串行通道 2 个外部中断源共 6 个中断源 2 个读写中断口线3 级加密位 低功耗空闲和掉电模式软件设置睡眠和唤醒功能 4.2.34.2.3 复位电路复位电路 复位操作有上电自动复位相按键手动复位两种方式。 上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图1 8(a)所示。这佯,只要电源vcc的上升时间不超过1ms,就可以实现自动上电 复位,即接通电源就成了系统的复位初始化。 按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复 位端经电阻与vcc电源接通而实现的,其电路如图18(b)所示;而按键脉冲 复位则是利用rc微分电路产生的正脉冲来实现的, 其电路如图54(c)所示: 长 春 大 学 课程设计纸 共 32 页 第 15 页 装 订 线 (a)上电复位 (b)按键电平复位 (c)按键脉冲复位 图 3-3 复位电路 上述电路图中的电阻、电容参数适用于 6mhz 晶振,能保证复位信号高电 平持续时间大于 2 个机器周期。 本系统的复位电路采用图 5-5(b)上电复位方式。 4.34.3 系统的硬件组成及设计原理系统的硬件组成及设计原理 图 3.-1 硬件电路图 第五章第五章 系统软件设计系统软件设计 5.15.1 程序流程图程序流程图 多功能 按键 温度传 感器 复位电 路 at8 9s52 显示 电路 声光 报警 长 春 大 学 课程设计纸 共 32 页 第 16 页 装 订 线 5.25.2 程序程序 #include #include #define uchar unsigned char #define uint unsigned int sbit dq = p25 ; /定义 ds18b20 端口 dq sbit beep=p27 ; /蜂鸣器驱动线 bit presence ; sbit lcd_rs = p24 ; sbit lcd_rw = p21 ; sbit lcd_en = p26 ; uchar code cdis1 = “ ds18b20 ok “ ; uchar code cdis2 = “ temp: . c “ ; 长 春 大 学 课程设计纸 共 32 页 第 17 页 装 订 线 uchar code cdis3 = “ ds18b20 err0r “ ; uchar code cdis4 = “ please check “ ; unsigned char data temp_data2 = 0x00,0x00 ; unsigned char data display5 = 0x00,0x00,0x00,0x00,0x00 ; unsigned char code ditab16 = 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09 ; void beep() ; unsigned char code mytab8 = 0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00 ; #define delaynop() ; _nop_() ;_nop_() ;_nop_() ;_nop_() ; ; /* */ void delay1(int ms) unsigned char y ; while(ms-) for(y = 0 ; y 0 ; i-) dq = 0 ; / 给脉冲信号 dat = 1 ; dq = 1 ; / 给脉冲信号 if(dq) dat |= 0x80 ; delay(4) ; return (dat) ; /* 写一个字节 */ /* */ writeonechar(unsigned char dat) unsigned char i = 0 ; for (i = 8 ; i 0 ; i-) dq = 0 ; dq = dat delay(5) ; dq = 1 ; dat=1 ; 长 春 大 学 课程设计纸 共 32 页 第 22 页 装 订 线 /* 读取温度 */ /* */ read_temperature(void) init_ds18b20() ; writeonechar(0xcc) ; / 跳过读序号列号的操作 writeonechar(0x44) ; / 启动温度转换 init_ds18b20() ; writeonechar(0xcc) ; /跳过读序号列号的操作 writeonechar(0xbe) ; /读取温度寄存器 temp_data0 = readonechar() ; /温度低 8 位 temp_data1 = readonechar() ; /温度高 8 位 /* 数据转换与温度显示 */ /* */ disp_temperature() display4=temp_data0 display0=ditabdisplay4+0x30 ; /查表得小数位的值 display4=(temp_data0 display3=display4/100+0x30 ; display1=display4%100 ; display2=display1/10+0x30 ; display1=display1%10+0x30 ; if(display3=0x30) /高位为 0,不显示 display3=0x20 ; if(display2=0x30) /次高位为 0,不显示 display2=0x20 ; lcd_pos(0x48) ; 长 春 大 学 课程设计纸 共 32 页 第 23 页 装 订 线 lcd_wdat(display3) ; /百位数显示 lcd_pos(0x49) ; lcd_wdat(display2) ; /十位数显示 lcd_pos(0x4a) ; lcd_wdat(display1) ; /个位数显示 lcd_pos(0x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论