单片机AD590温控系统设计_第1页
单片机AD590温控系统设计_第2页
单片机AD590温控系统设计_第3页
单片机AD590温控系统设计_第4页
单片机AD590温控系统设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

单片机温控系统设计单片机温控系统设计 单片机温控系统设计 摘要 本设计是以一个保温箱为控制对象 以 AT89C51 为控制系统核心 通过单片机系统设 计实现对保温箱温度的显示和控制功能 本温度控制系统是一个闭环反馈调节系统 由温 度传感器 AD590 对保温箱温度进行检测 经过调理电路得到合适的电压信号 经 A D 转换 芯片得到相应的温度值 将所得的温度值与设定温度值相比较得到偏差 通过对偏差信号 的处理获得控制信号 去调节加热器的通断 从而实现对保温箱温度的显示和控制 本文 主要介绍了保温箱温度控制系统的工作原理和设计方法 论文主要由三部分构成 系统 整体方案设计 硬件设计 主要包括温度检测电路 A D 转换电路 显示电路 键盘设 计和控制电路 系统软件设计 软件的设计采用模块化设计 主要包括 A D 转换模块 显示模块 键盘模块和控制模块等 关键词 单片机 传感器 温度检测 DESIGN OF TEMPERATURE CONTROL SYSTEM BASIC ON SINGLE CHIP COMPUTER ABSTRACT This design takes a heat preservation box as a control object and the AT89C51 as a control system core A Single chip Computer system is designed to carry out the temperature display and control This heat temperature control system is a closed loop feedback control system The temperature of the heat preservation box is measured by sensor AD590 For AD590 a adjust electric circuit is designed to get a suitable electric voltage signal for the A D transformation After the A D transformation the corresponding temperature digital quantity can be obtains and is compared with the setting temperature then a deviation can be obtained Through processing the deviation a control signal will be produced which adjusts the heater the on or off thus the preservation box temperature control and display is realized This design introduces the temperature control system principle of work and the design method The paper mainly includes by three parts The system outline project design Hardware design the hardware design mainly includes the temperature adaptive electric circuit the A D circuit the display circuit the keyboard design and the control circuit Software design method the software design uses the modular design mainly includes the A D transformation module the demonstration module the keyboard module and the control module Key words Single chip Computer Sensor Temperature Measurement 目录 1 绪论 1 1 1 课题设计背景和目的 1 1 2 国内外研究状况和发展趋势 1 1 3 温度检测的主要方法 2 1 4 课题设计的主要内容 3 2 系统总体方案设计 4 2 1 系统硬件设计方案 4 2 1 1 芯片选择 5 2 1 2 温度检测 5 2 1 3 A D 转换电路 5 2 1 4 键盘输入 6 2 1 5 LED 显示 6 2 1 6 控制电路 6 2 2 系统软件设计方案 6 3 系统硬件设计 7 3 1 中央处理器 7 3 1 1 AT89C51 简介 7 3 1 2 管脚说明 8 3 1 3 特殊功能存储器 10 3 1 4 芯片擦除 10 3 1 5 复位电路的设计 11 3 1 6 时钟电路设计 11 3 2 温度传感器 AD590 11 3 3 信号调理电路 13 3 4 温度标定 14 3 5 A D 转换 16 3 6 LED 显示 19 3 7 键盘接口 22 3 8 控制电路 23 4 系统软件设计 25 4 1 程序初始化 26 4 2 主程序 27 4 3 A D 转换子程序 27 4 4 标度转换子程序 28 4 5 显示子程序 29 4 6 控制子程序 30 4 7 键盘子程序 32 5 结论 35 参考文献 36 致谢 37 附录 38 附录 A 系统硬件原理图 38 附录 B PCB 板图 39 1 单片机最小系统 PCB 板图 39 2 调理电路 控制电路 PCB 板图 39 附件 附件 1 开题报告 附件 2 原文 TEMPERATURE CONTROL 附件 3 译文 温度控制 1 绪论 1 1 课题设计背景和目的 在现代化的工业生产中电流 电压 温度 压力 流量 流速和开关量都是常用的主 要被控参数 温度作为一个基本物理量 它是一个与人们的生活环境 生产活动密切相关 的重要物理量 在现代化的工业生产过程中温度作为一种常用的主要被控参数 在很多生 产过程中我们需要对温度参数进行检测 例如 在冶金工业 化工生产 电力工程 造纸 行业 机械制造和食品加工等诸多领域中 人们都需要对各类加热炉 热处理炉 反应炉 和锅炉中的温度进行检测 采用单片机来对温度进行控制 不仅具有控制方便 组态简单 和灵活性大等优点 而且可以大幅度提高被控温度的技术指标 从而能够大大提高产品的 质量和数量 因此单片机对温度的控制问题是一个工业生产中经常会遇到的问题 1 本次设计采用 MCS 51 系列单片机与各种外围电路构成单片机温度自动检测和控制系 统 实现对温度的实时检测和控制 通过本次设计掌握温度检测控制系统的硬件设计方法 和软件编写方法 熟悉 Protel 软件的使用方法 通过课题的研究进一步巩固所学的知识 同时学习课程以外的相关知识 培养综合应用知识的能力 锻炼动手能力与实际工作能力 将所学的理论与实践结合起来 1 2 国内外研究状况和发展趋势 随着国内外工业的日益发展 温度检测技术也有了不断的进步 温度测量系统主要由 两部分组成 一部分是传感器 它将温度信号转换为电信号 另一部分是电子装置 它主 要完成对信号的接收 处理 对测点进行控制 温度显示等功能 对应于不同的温度段及 测量精度要求 测温装置也不尽相同 从传感器方面看 己出现有各种金属材料 非金属 材料 半导体材料制成的传感器 也有红外传感器 仪器本身也趋向小型化 多采用集成 度较高的芯片或元件组成电路 对于测点较多 并具有报警 巡测 控制等多功能测温装 置 一般采用单片机电路 目前的温度检测技术原理很多 大致包括以下几种 1 物体热 胀冷缩原理 2 热电效应 3 热阻效应 4 利热辐射原理 传统的温度传感器 如 热电偶 铂电阻 双金属开关等 虽然有着各自不可替代的优 点 但由于自身因自热效应影响了测量精度 从而制约了它们在微型化高端电子产品中的应 用 与之相比较 半导体温度传感器具有灵敏度高 体积小 功耗低 时间常数小 自热温 升小 抗干扰能力强等诸多优点 无论是电压 电流还是频率输出 在相当大的温度范围内 55 150 都与温度成线性关系 适合在集成电路系统中应用 目前 半导体温度 传感器工作的温度范围还限于 50 150 未来主要的研究方向将是如何扩大它的温度 适用范围 以及智能化 网络化等方面 2 近年来 在温度检测技术领域中 多种新的检测原理与技术的开发应用己取得了具有 实用性的重大进展 新一代温度检测元件正在不断出现和完善化 主要包括以下几种 1 晶体管温度检测元件 2 集成电路温度检测元件 3 核磁共振温度检测器 4 热噪声温度检测 器 5 石英晶体温度检测器 6 光纤温度检测器 7 激光温度检测器 目前国内外的温度控制方式越来越趋向于智能化 温度测量首先是由温度传感器来实 现的 测温仪器由温度传感器和信号处理两部分组成 温度测量的过程就是通过温度传感 器将被测对象的温度值转换成电的或其它形式的信号 传递给信号处理电路进行信号处理转 换成温度值显示出来 温度传感器随着温度变化而引起变化的物理参数有 膨胀 电阻 电容 热电动势 磁性能 频率 光学特性及热噪声等等 随着生产的发展 新型温度传感 器还会不断出现 目前 国内外通用的温度传感器及测温仪大致有以下几种 热膨胀式温度 计 电阻温度计 热电偶 辐射式测温仪表 石英温度传感器测温仪 3 1 3 温度检测的主要方法 温度的测量方法多采用集成的半导体模拟温度传感器 传感器输出的电压或电流与温 度在一定范围呈线性关系 通过放大 采样得到被测量 另一种温度测量方法是使用热电 偶 其测量精度较高 但测试过程复杂 测量时间长 而且采用电桥测量的系统抗干扰能 力较差 误差较大 随着集成电路技术的迅速发展 新型的数字化温度传感器其精度 稳 定性 可靠性及抗干扰能力都优于模拟的温度传感器 数字温度传感器也越来越的到广泛 的应用 4 温度检测的方法根据敏感元件和被测介质接触与否 可以分为接触式与非接触式两大 类 接触式检测的方法主要包括基于物体受热体积膨胀性质的膨胀式温度检测仪表 基于 热电效应的热电偶温度检测仪表 非接触式检测方法是利用物体的热辐射特性与温度之间 的对应关系 对物体的温度进行检测 主要有亮度法 全辐射法和比色法等 接触式测温 是使测温敏感元件与被测介质接触 当被测介质与感温元件达到热平衡时 感温元件与被 测介质的温度相等 这类传感器结构简单 性能可靠 精度高 稳定性好 价格低 应用 十分广泛 因此 本方案采用接触式测温法 选用相关类型的传感器 由单片机组成的温度测控系统 通过在单片机外部添加各种接口电路 可构成单片机 最小系统 用以实现对温度控制对象的温度的显示和控制 同时也能根据实际情况实现多 路巡回检测 数据处理 报警及记录 对各个参数以一定的周期进行检查和测量 检测的结 果经计算机处理后再进行显示 打印和报警 以提醒操作人员注意或直接用于生产控制 5 1 4 课题设计的主要内容 本温度控制系统是一个闭环反馈控制系统 它用温度传感器将检测到的温度信号经放 大 A D 转换后送入单片机中进行数据处理并显示当前温度值 用当前温度值与设定温度 值进行比较 6 根据比较的结果得到控制信号用以控制继电器的通断 实现对加热器的控 制 通过这种控制方式实现对保温箱的温度控制 本课题设计的内容主要包括硬件设计和 软件设计两部分 系统功能由硬件和软件两大部分协调完成 硬件部分主要完成主机电路 数据采集电路 键盘显示电路 控制执行等电路的设计 软件程序编写主要用来实现对温 度的检测 标度转换 LED 显示 继电器控制等数据处理功能 2 系统总体方案设计 本次设计采用 MCS 51 单片机作为控制芯片 采用半导体集成温度传感器 AD590 采集 温度信号 通过温度传感器将采集的温度信号转换成与之相对应的电信号 经过放大处理 送入 A D 转换器进行 A D 转换 将模拟信号转换成数字信号送入到控制芯片进行数据处理 通 过在芯片外围添加显示 控制等外围电路来实现对保温箱温度的实时检测和控制功能 本系统功能由硬件和软件两大部分协调完成 硬件部分主要完成传感器信号的采集处 理 信息的显示等 软件主要完成对采集的温度信号进行处理及显示控制等功能 系统结构 框图如图 2 1 所示 图 2 1 系统结构框图 2 1 系统硬件设计方案 单片机应用系统的硬件电路设计就是为本单片机温控系统选择合适的 最优的系统配 置 即按照系统功能要求配置外围设备 如键盘 显示器 打印机 A D 转换器 设计合 适的接口电路等 系统设计应本着以下原则 1 尽可能选择典型电路 并符合单片机常规用法 本设计采用了典型的显示电路 A D 转化电路 为硬件系统的标准化 模块化打下良好的基础 2 硬件结构应结合应用软件方案一并考虑 软件能实现的功能尽可能由软件实现 以简化硬件结构 由软件实现的硬件功能 一般响应时间比硬件实现长 且占用 CPU 时间 由于本设计的响应时间要求不高 所以有一些功能可以用软件编程实现 如键盘的去抖动 问题 3 系统中的相关器件要尽可能做到性能匹配 系统中所有芯片都应尽可能选择低功 耗产品 本系统的硬件电路主要包括模拟部分和数字部分 从功能模块上来分有主机电路 数 据采集电路 键盘显示电路 控制执行电路 系统硬件包括 温度传感器 信号调理电路 A D 转换器件 MCS 51 单片机 键盘输入 LED 温度显示器 温度控制电路 2 1 1 芯片选择 单片机就是在一块硅片上集成了微处理器 存储器和各种输入输出接口电路的微型计 算机 简称单片机 单片机以其较高的性能价格比受到了人们的重视和关注 它的优点就 是体积小 重量轻 抗干扰能力强 对环境要求不高 价格低廉 可靠性高 灵活性好 开发较为容易 单片机根据其基本操作处理的位数可分为 4 8 16 32 位单片机 应用最 为广泛的是八位单片机 根据本次设计的实际情况和要求 在本次设计中采用 AT89C51 作 为系统的控制芯片 AT89C51 是一种低功耗 高性能 CMOS 8 位微控制器 具有 4K 的系统 可编程 Flash 存储器 使用 Atmel 公司高密度非易失性存储器技术制造 与工业 80C51 产 品指令和引脚完全兼容 片上 Flash 允许程序存储器在系统可编程 亦适于常规编程器 2 1 2 温度检测 本课题设计的温度控制范围为 25 80 摄氏度 温度传感器采用采用 AD590 半导体集成 温度传感器 A D590 具有较高的精度和重复性 不需辅助电源 线性好 使用方便 便于 微机系统测控 被测温度信号为一路由 AD590 测得的代表温度的电压信号 经温度调理电 路放大后使其在 0 5V 范围内 使其适合于 A D 转换器的输入电压范围 2 1 3 A D 转换电路 A D 转换电路的种类很多 例如 计数比较型 逐次逼近型 双积分型等等 选择 A D 转换器件主要从转换速度 精度和价格上考虑 逐次逼近型 A D 转换器 在精度 速 度和价格上都比较适中 是最常用的 A D 转换器 双积分 A D 转换器 具有精度高 抗干 扰性好 价格低廉等优点 但转换速度慢 近年来在微机应用领域中也得到了广泛的应用 本次设计采用八路模拟输入通道的逐次逼近型的八位 A D 转换器 ADC0809 采用 ADC0809 作为与单片机的接口电路 它的结构比较简单 转换速度较高 采用 ADC0809 作为 A D 转 换器具有与单片机连接简单的优点 它是八位的转换器可以与八位的单片机直接连接 这 样就简化了系统的连接电路也有利于系统软件的编写 2 1 4 键盘输入 键盘可分为编码式键盘和非编码式键盘 键盘上闭合键的识别由专用的硬件译码器 实现 并产生键编号和键值的称为编码式键盘 靠软件识别的为非编码式键盘 在单片机 组成的测控系统中 用得最多的是非编码键盘 在这里采用的就是非编码式键盘 键盘的 连接方式采用独立连接式 这种连接方式能够简化程序的编写 2 1 5 LED 显示 在单片机应用系统中使用的显示器主要有发光二极管显示器 LED 和液晶显示器 LCD 采用 LED 作为系统的数据显示器具有价格低 性能稳定和响应速度快等特点 LED 显示方式有静态显示 动态显示和串口显示 为了节省系统本身的硬件资源 在这里 LED 的显示方式采用串行静态显示方式 利用串口可以工作在移位寄存器方式 驱动 LED 静态显示 这样就可以充分的利用并行口 并将并行口用到最需要的地方去 同时主程序 不需要扫描显示器 使它有更多的时间处理其他事情 这种显示方法用于显示位数少 显 示亮度大的地方能够达到很好的显示效果 2 1 6 控制电路 控制电路作为单片机系统的后向通道 他是将单片机处理后的数字控制信号用输出口 输出 并将该数字信号用于对控制对象的控制 由于单片机的输出信号电平很低 无法直 接驱动外围设备进行工作 因此在单片机的后向通道中需要外围设备的驱动 信号电平的 转换以及隔离放大等技术 本次设计采用继电器作为控制电路的主要器件 通过继电器可 以实现直流信号控制交流负载的功能 从而实现单片机系统的控制功能 2 2 系统软件设计方案 系统的软件设计采用模块化设计 采用模块化设计可以简化系统软件的编写 使软件 编写思路更加简单明了 系统软件主要由三大模块组成 主程序模块 功能实现模块和运 算控制模块 主程序模块用于实现各个子程序间的跳转 功能实现模块主要由 A D 转换子 程序 键盘处理子程序 显示子程序 继电器控制程序等部分组成 运算控制模块涉及标 度转换子程序等 3 系统硬件设计 3 1 中央处理器 MCS 51 系列单片机是 8 位增强型 其主要的技术特征是为单片机配置了完善的外部并 行总线和具有多级识别功能的串行通讯接口 UART 规范了功能单元的 SFR 控制模式及 适应控制器特点的布尔处理系统和指令系统 属于这类单片机的芯片有许多种 如 8051 8031 80C51 等等 由于单片机具有较高的性能比 国内 MCS 51 系列单片机应用最 广 易于开发 使用灵活 而且体积小 易于开发 抗干扰能力强 可以工作于各种恶劣 的条件下 工作稳定等特点 本设计本着实用性和适用性的要求 选择 AT89C51 单片机作 为中央处理器 3 1 1 AT89C51 简介 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的具有低电压 高性能 CMOS 的 8 位微处理器 俗称单片机 该器件采用 ATMEL 高密度非易失存储器制造技术制造 与 工业标准的 MCS 51 指令集和输出管脚相兼容 由于将多功能 8 位 CPU 和闪烁存储器组合在 单个芯片中 ATMEL 的 AT89C51 是一种高效微控制器 为很多嵌入式控制系统提供了一种 灵活性高且价廉的方案 如图 3 1 为 AT89C51 的内部结构框图 图 3 1AT89C51 的内部结构框图 AT89C51 单片机与 MCS 51 系列单片机兼容 AT89C51 内部有 4K 字节可编程闪烁存储 器 128 8 位内部 RAM 两个 16 位定时器 计数器 5 个中断源 32 可编程 I O 线及串行通 道 闪烁存储器是一种可编程又可擦除只读存储器 EEPROM 给用户设计单片机系统和 单片机系统带来很大的方便 深受广大用户的欢迎 AT89C51 有片内振荡器和时钟电路 具有低功耗的闲置和掉电模式 在空闲方式下 CPU 停止工作 但允许内部 RAM 定时器 计 数器 串行口和中断系统继续工作 在掉电方式下 能保存 RAM 的内容 但振荡器停止工 作 并禁止所有其他部件工作 还具有三级程序存储器锁定 全静态工作频率 0Hz 24Hz 数据保留时间可长达 10 年 3 1 2 管脚说明 如图 3 2 为 AT89C51 引脚图 各引脚功能说明如下 7 VCC 电源 GND 地 P0 口 P0 口是一个 8 位漏极开路的双向 I O 口 作为输出口 每位能驱动 8 个 TTL 逻辑电平 对 P0 端口写 1 时 引脚用作高阻抗输入 当访问外部程序和数据存储 器时 P0 口也被作为低 8 位地址 数据复用 在这种模式 下 P0 具有内部上拉电阻 在 flash 编程时 P0 口也用来接收指令字节 在程序校验时 输出指令字节 程序校验时 需要外部上拉电阻 图 3 2 AT89C51 引脚图 P1 口 P1 口是一个具有内部上拉电阻的 8 位双向 I O 口 P1 输出缓冲器能驱动 4 个 TTL 逻辑电平 对 P1 端口写 1 时 内部上拉电阻把端口拉高 此时可以作为输入 口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将输出电流 IIL 此外 P1 0 和 P1 2 分别作定时器 计数器 2 的外部计数输入 P1 0 T2 和时器 计数器 2 的触发输入 P1 1 T2EX P2 口 P2 口是一个具有内部上拉电阻的 8 位双向 I O 口 P2 输出缓冲器能驱 动 4 个 TTL 逻辑电平 对 P2 端口写 1 时 内部上拉电阻把端口拉高 此时可以作为 输入口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将输出电流 IIL 在访问外部程序存储器或用 16 位地址读取外部数据存储器 例如执行 MOVX DPTR 时 P2 口送出高八位地址 在这种应用中 P2 口使用很强的内部上拉发送 1 在 使用 8 位地址 如 MOVX RI 访问外部数据存储器时 P2 口输出 P2 锁存器的内容 在 flash 编程和校验时 P2 口也接收高 8 位地址字节和一些控制信号 P3 口 P3 口是一个具有内部上拉电阻的 8 位双向 I O 口 对 P3 端口写 1 时 内部上拉电阻把端口拉高 此时可以作为输入口使用 作为输入使用时 被外部拉低的引 脚由于内部电阻的原因 将输出电流 IIL P3 口亦作为 AT89C51 特殊功能 第二功能 使用 如表 3 1 所示 表 3 1 AT89C51 引脚号第二功能 P3 0 RXD 串行输入 P3 1 TXD 串行输出 P3 2 INT0 外部中断 0 P3 3 INT0 外部中断 0 P3 4 T0 定时器 0 外部输入 P3 5 T1 定时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 RST 复位输入 晶振工作时 RST 脚持续 2 个机器周期高电平将使单片机复位 看门狗计时完成后 RST 脚输出 96 个晶振周期的高电平 特殊寄存器 AUXR 地址 8EH 上的 DISRTO 位可以使此功能无效 DISRTO 默认状态下 复位高电平有效 ALE PROG 地址锁存控制信号 ALE 是访问外部程序存储器时 锁存低 8 位地址 的输出脉冲 在 flash 编程时 此引脚 PROG 也用作编程输入脉冲 在一般情况下 ALE 以晶振六分之一的固定频率输出脉冲 可用来作为外部定时器或时钟使用 然而 特别强 调 在每次访问外部数据存储器时 ALE 脉冲将会跳过 如果需要 通过将地址为 8EH 的 SFR 的第 0 位置 1 ALE 操作将无效 这一位置 1 ALE 仅在执行 MOVX 或 MOVC 指 令时有效 否则 ALE 将被微弱拉高 这个 ALE 使能标志位 地址为 8EH 的 SFR 的第 0 位 的设置对微控制器处于外部执行模式下无效 PSEN 外部程序存储器选通信号 PSEN 是外部程序存储器选通信号 当 AT89C51 从外部程序存储器执行外部代码时 PSEN 在每个机器周期被激活两次 而在访问外部数据 存储器时 PSEN 将不被激活 EA VPP 访问外部程序存储器控制信号 为使能从 0000H 到 FFFFH 的外部程序存储 器读取指令 EA 必须接 GND 为了执行内部程序指令 EA 应该接 VCC 在 flash 编程期间 EA 也接收 12 伏 VPP 电压 XTAL1 振荡器反相放大器和内部时钟发生电路的输入端 XTAL2 振荡器反相放大器的输出端 3 1 3 特殊功能存储器 在单片机内高 128B RAM 中 由有 21 个特殊功能寄存器 AFR 它们离散的分布在 80H FFH 的 RAM 空间中 访问特殊功能寄存器只允许使用直接寻址方式 表 3 2 为 AT89C51 单片机特殊功能寄存器及其相应地址 7 表 3 2 专用寄存器名称 功能及对应的 RAM 地址 名称简单描述地址 ACC 累加器 专门用于存储算术和逻辑运算的结果 0E0H B B 寄存器 专门用于乘 除法运算 0F0H PSW 程序状态寄存器 0D0H SP 推栈指针寄存器 81H DPTR 16 位数据指针寄存器 CPU 访问外部 RAM 时地址指针 由两个 8 位寄存器 DPH 83H DPL 82H 组成且可单独访问 P0 端口 0 状态寄存器 初始值为 0FFH 80H P1 端口 1 状态寄存器 初始值为 0FFH 90H P2 端口 2 状态寄存器 初始值为 0FFH 0A0H P3 端口 3 状态寄存器 初始值为 0FFH 0B0H IP 中断优先级控制寄存器 0B8H IE 中断允许控制寄存器 0A8H TMOD 定时器 计数器方式控制寄存器 89H TCON 定时器 计数器控制寄存器 88H TH0 定时器 计数器 0 高字节 8CH TL0 定时器 计数器 0 低字节 8AH TH1 定时器 计数器 1 高字节 8DH TLI 定时器 计数器 0 低字节 8BH SCON 串行控制寄存器 98H SBUF 串行数据缓冲器 99H PCON 电源控制寄存器 87H 3 1 4 芯片擦除 整个 EPROM 阵列电擦除可通过正确的控制信号组合 并保持 ALE 管脚处于低电平 10ms 来完成 在芯片擦除操作中 代码阵列全被写 1 且在任何非空存储字节被重复编程以前 该操作必须被执行 此外 AT89C51 设有稳态逻辑 可以在低到零频率的条件下静态逻辑 支持两种软件可选的掉电模式 在闲置模式下 CPU 停止工作 但 RAM 定时器 计数器 串口和中断系统仍在工作 在掉电模式下 保存 RAM 的内容并且冻结振荡器 禁止所用其 他芯片功能 直到下一个硬件复位为止 3 1 5 复位电路的设计 复位使单片机处于起始状态 并从该起始状态开始运行 AT89C51 的 RST 引脚为复位 端 该引脚连续保持 2 个机器周期 24 个时钟振动周期 以上高电平 则可使单片机复位 内部复位电路在每一个机器周期的 S5P2 期间采样斯密特触发器的输出端 该触发器可抑制 RST 引脚的噪声干扰 并在复位期间不产生 ALE 信号 内部 RAM 处于不断电状态 其中的 数据信息不会丢失 也即复位后 只影响 SFR 中的内容 内部 RAM 中的数据不受影响 外 部复位有上电复位和按键电平复位 由于单片机运行过程中 其本身的干扰或外界干扰会 导致出错 此时我们可按复位键重新开始运行 为了便于本设计运行调试 复位电路采用 按键复位方式 按键复位电路如图 3 3 所示 8 图 3 3 复位电路 3 1 6 时钟电路设计 时钟电路是单片机的心脏 它控制着单片机的工作节奏 MCS 51 单片机允许的时钟频 率是因型号而异的 其典型值为 12MHZ AT89C51 内部有一个反相振荡放大器 XTAL1 和 XTAL2 分别是该反向振荡放大器的输入端和输出端 该反向放大器可配置为片内振荡器 石晶振荡和陶瓷振荡均可采用 本设计采用的晶振频率为 12MHZ 其时钟电路如图 3 4 所 示 51 系列单片机还可使用外部时钟 在使用外部时钟时 外部时钟必须从 XTAL1 输入 而 XTAL2 悬空 图 3 4 时钟电路 3 2 温度传感器 AD590 温度传感器的应用范围很广 它不仅用于日常生活中 而且也大量应用于自动化和过 程检测控制系统 温度传感器的种类很多 根据现场使用条件 选择恰当的传感器类型才 能保证测量的准确可靠 并且同时达到增加使用寿命和降低成本的目的 AD590 温度传感 器不但实现了温度转化为线性电量测量 而且精度高 互换性好 AD590 测量热力学温度 摄氏温度 两点温度差 多点最低温度 多点平均温度的具体电路 广泛应用于不同的温 度控制场合 由于 AD590 精度高 价格低 不需辅助电源 线性好 常用于测温和热电偶 的冷端补偿 本设计采用 AD590 作为温度传感器 它只需要一个电源即可实现温度到电流 的线性变换 然后再终端使用一只取样电阻 即可实现电流到电压的转换 它使用方便 并且具有较高的精度 图 3 5 为 AD590 的封装形式和基本应用电路 图 3 5 AD590 封装形式和应用电路 AD590 集成温度传感器是将温敏电阻晶体管与相应的辅助电路集成在同一块芯片上 能直接给出正比于绝对温度的理想线形输出 一般用于 55 150 之间的测量温度 温 敏晶体管在管子的集电极电流恒定时 其基极发射极电压与温度成线形关系 由于生产厂 家生产时采用激光微调来校正集成电路内的薄膜电阻 使其在摄氏零度 对应绝对温度为 273 2K 输出电流微 273 2uA 灵敏度微 1uA K 当其感受的温度升高或者降低时 则其 电流就以 1u A K 的速率增大或减小 从而将被测电流转换为电压 则可以用电压来表示其温度大小 为克服温敏晶体管 vb 电压产生时的离散性 采用了特殊的差分电路 集成温度传感器具有 电压型和电流型两种 因此 它不容易受接触电阻 引线电阻 电压噪音的干扰 具有很 好的线性特性 AD590 主要特性如下 流过器件的电流 mA 等于器件所处环境的热力学温度 开尔文 度数 即 3 1 式中 Ir 为流过器件 AD590 的电流 单位为 mA T 为热力学温度 单位为 K AD590 的测温范围为 55 150 AD590 的电源电压范围为 4V 30V 电源电压可在 4V 6V 范围变化 电流 变化 mA 相当于温度变化 1K AD590 可以承受 44V 正向电压和 20V 反向电压 因而器件反接也 不会被损坏 输出电阻为 710MW 精度高 AD590 共有 I J K L M 五档 其中 M 档精度最高 在 55 150 范围内 非线性误差为 0 3 AD590 温度传感器作为一个恒流源 在本设计的温度检测电路中在 AD590 的输出端接 一取样电阻可将输出电流信号变化转换为电压信号变化 由于 AD590 温度传感器温度每变 化 1 其输出电流变化 1mA 所以在接上 10K 的取样电阻的情况下 温度每变化 10 输 出电压就将变化 0 1V 3 3 信号调理电路 经过温度传感器采集输出的电压信号一般来说是非常微弱的 因此 在送往单片机处 理之前应对该信号进行放大 本系统所采用的 A D 转换器为 ADC0809 由于 ADC0809 的输 入信号应在 0 5V 之间 因此 经过放大电路放大的信号进入 A D 转换器的电压信号应控制 在 0 5V 之间 根据此原则可设计合适的放大倍数 信号调理电路主要由运算放大器 0P07 等组成 为了使温度检测电路的输出电压能够 适合于 A D 转换器的参考电压 利用超低温漂移高精度运算放大器 0P07 将温度电压信号进 行放大到 0 5V 的范围之内 便于 A D 进行转换 以提高温度采集电路的可靠性 本设计中 信号调理电路部分由集成运放 OP07 分别构成一个电压跟随器 电压比较 器和一个同相输入放大器用于对 AD590 输出的小电压信号进行放大处理 9 信号调理电路 如图 3 6 所示 图 3 6 温度检测电路 在该放大电路中 电压跟随器起阻抗匹配的作用 反馈电阻为零时 放大倍数为 1 电压跟随器的输入电压等于输出电压 电压比较器用于对输出电压小信号电压进行调零 在上述电路图中的电压比较器部分 由于 R2 R4 R3 R5 可得电压比较器的输出电压 根据电压跟随器的 输出电压调节电位计 R9 就改变电压比较器的输入电压 使得当温度为温度测量下 限时电压比较器的输出电压为零 起放大作用的是同相输入放大器 OP07 其放大倍数 因此放大器的输出 电压 3 4 温度标定 本设计的温度标定是在室温环境条件下标定的 由于温度传感器输出与温度变化有良 好的线性 根据温度调理电路 输出电压和温度变化也具有一定的线性关系 根据实验测 得的电压和温度数据 在此我们可以采用一元线性回归的方法求得温度和电压的线性方程 一元线性回归是处理两变量之间的关系 即两个变量 X 和 Y 之间若存在一定的关系 则可通过试验 分析所得数据 找到两者之间的关系的经验公式 假如两变量之间的关系 是线性的则称为一元线性回归 由于变量测量中存在随机误差 一元线性方程回归可用最 小二乘法处理求得一元线性回归方程 最小二乘原理指出 最可信赖值应在使残余误差平 方和最小的条件下求得 10 根据实验测量结果可得 在一定温度 x 下的电压输出值 y 得到如下表所示 表 3 3 x 22304050607080 y V00 421 061 682 262 863 45 根据表 3 3 所得的数据 我们可以知道电压输出范围在 0 5V 之间 适合 A D 转换参 考电压的电压范围 为了了解输出电压 y 与温度 x 之间的大致关系 把数据表示在坐标图 上 如图 3 7 所示 这种图叫散点图 从散点图可以看出 输出电压 y 与温度 x 大致成线性关系 因此 我们假设 x 与 y 之间的内在关系是一条直线 有些点偏离了直线 这是试验过程中其他随机因素的影响而 引起的 这样就可以假设这组测量数据有如下结构形式 t 1 2 N 3 2 式中的 分别表示其他随机因素对电压测得值 的影响 一般假设它们是一组相互独立 并服从同一正态分布的随机变量 式 3 2 就 是一元线性回归的数学模型 此例中 N 7 我们用最小二乘法来估计式 3 2 中的参数 设 b0 和 b 分别是参数和的最小二乘估计 便可得到一元线性回归的回归方程 3 3 式中的 b0 和 b 是回归方程的回归系数 对每一个实际测得值与这个回归值 之 差就是残余误差 t 1 2 N 3 4 应用最小二乘法求解回归系数 就是在使残余误差平方和为最小的条件下求得回归系 数 b0 和 b 的值 用矩阵形式 令 则式 3 2 的矩阵形式为 3 5 假定测得值的精度相等 根据最小二乘原理 回归系数的矩阵解为 3 6 代入数据后 求解线性方程系数 因此 b0 1 34 b 0 06 线性方程为 3 7 3 5 A D 转换 ADC0809 是一种 8 位逐次逼近式 A D 转换器 其内部有一个 8 位 三态输出锁存器 可以锁存 A D 转换后的数字量 故它本身既可看作一种输入设备 也可以认为是并行 I O 接口芯片 故 ADC0809 可以和微机直接接口 本设计就是用 AT8951 和 ADC0809 直接相连的 ADC0809 采用双列直插式封装 图 3 8 为 ADC0809 引脚图 共有 28 条引脚 主要引脚 功能为 IN0 IN7 为八路模拟电压输入线 用于输入被转换的模拟电压 ALE 为地址锁存允许输入线 高电平有效 ADD A ADD B 和 ADD C 为地址输入线 用于选择 IN0 IN7 上那一路模拟电压送 给比较器进行 A D 转换 ADDA ADDB 和 ADDC 对 IN0 IN7 的选择如表 3 4 所列 START 为 启动脉冲 输入线 上升沿清零 SAR 下降沿启动 ADC0809 工作 EOC 为转换结束输出线 该线上高电平表示 A D 转换已结束 p OE 为 输出允许 线 高电平时能使 2 2引脚上输出转换后的数字量 图 3 8 ADC0809 引脚图 表 3 4 8 位模拟开关功能表 被 选 模 拟 电 压 ADDCADDBADDA IN0000 IN1001 IN2010 IN3011 IN4100 IN5101 IN6110 IN7111 AT89C51 与 ADC0809 的连接方法如图 3 9 所示 AT89C51 通过地址线 P2 7 和写控制信 号线用一个或非门联合控制启动转换信号端 START 和地址锁存信号端 ALE 地址线 P2 7 和读控制信号线用一个或非门联合控制输出允许控制端 EOC 低三位地址线加 到 ADC0809 的 ADDA ADDB ADDC 端 所以选中 ADC0809 的 IN0 通道的地址为 7FF8H 转换 结束信号 EOC 通过一个反相器接到 INT1 图 3 9 AT89C51 与 ADC0809 连接图 AT89C51 和 ADC0809 连接通常可以采用查询和中断两种方式 本系统采用中断方式传 送数据 EOC 线作为 CPU 的中断请求输入线 CPU 线响应中断后 应在中断服务程序中使 OE 线变为高电平 以提取 A D 转换后的数字量 其中和 START 的逻辑关系分别为 对 ADC0809 地址的确定 根据系统硬件连接图可知所选定模拟电压路数为 IN0 其对 应的地址为 ABC 000 即 P0 0 P0 1 P0 2 0 0 0 又 P2 7 0 时才能启动 ADC0809 工作和 使 AT89C51 从 ADC0809 接收 A D 转换电压的数字量 故确定 ADC0809 其中一个地址为 0111 1111 1111 1000B 7FF8H 其中 表示固定量 ADC0809 的 IN0 和变送器输出端线连 故 IN0 上输入的 0V 5V 范围的模拟电压经 A D 转换后可由 AT89C51 通过程序从 P0 口输入到它的内部 RAM 单元 ADC0809 所需时钟信号可以由 AT89C51 的 ALE 信号提供 AT89C51 的 ALE 信号通常是 每个机器周期出现两次 故它的频率是单片机时钟频率的 1 6 本系统 AT89C51 主频是 12MHZ ALE 信号频率为 2MHZ 使 AT89C51 的 ALE 上信号经过 4 分频后接到 ADC0809 的 CLOCK 输入端 就可获得 500KHZ 的 A D 转换脉冲 当然 ALE 上脉冲会在 MOVX 指令的每个 机器周期少出现一次 但通常情况下影响不大 ADC0809 时序图如图 3 10 所示 图 3 10 ADC0809 时序图 从时序图可以看出 在启动 ADC0809 后 EOC 约在 10us 后才变为低电平 EOC 线经过 反相器和 AT89C51 线相连 这即是 AT89C51 采用中断方式来和 ADC0809 传送 A D 转换后的 数字量的 为了给 OE 线分配一个地址 把 AT89C51RD 和 P2 7 经或门和 OE 相连 平时 使 OE 处于低电平封锁状态 在响应中断后 AT89C51 执行中断服务程序中如下两条指令就可 以使 OE 变为高电平 从而打开三态输出锁存器 让 CPU 提取 A D 转换后的数字量 AT89C51 执行如下程序可以启动 ADC0809 工作 MOV DPTR 7FF8H MOVX A DPTR OE 变为高电平 数字量送 A 3 6 LED 显示 单片机应用系统中使用的显示器主要有发光二极管显示器 简称 LED 液晶显示器 简称 LCD 前者价廉 配置灵活 与单片机接口方便 后者可进行图形显示 但接口复杂 成本较高 结合本设计的特点 在这里系统的显示采用发光二极管作为显示器件 单片机中使用 7 段 LED 构成字形 8 另外 还与一个小数点发光二极管用以显示 数字 符号及小数点 这种显示器有共阴极和共阳极两种 如图 3 11 所示 发光二极管的 阳极连在一起称为共阳极显示器 阴极连在一起的称为共阴极显示器 一位显示器由八个 发光二极管组成 其中 7 个发光二极管构成字形 8 的各个笔划 段 a g 另一个小数 点为 dp 发光二极管 当 在某段发光二极管施加一定的正向电压是 该段笔划即点亮 不加电压则该段二极管不亮 为了保护各段 LED 不被损坏 需要外加限流电阻 11 图 3 11 数码管 如果要显示某个字形 则应使此字形的相应段点亮 也即送一个不同的电平组合代表 的数据来控制 LED 的显示字形 此数据称为字符的段码 数据字位数与 LED 段码的关系如 表 3 4 所示 表 3 4 数码管各段与输出口各位的对应关系 输出口各 位 D7D6D5D4D3D2D1D0 数码管各 段 dpgfedcba 如使用共阳极数码管 数据为 0 表示对应字段亮 数据为 1 表示对应字段暗 如使用 共阴极数码管 数据为 0 表示对应字段暗 数据为 1 表示对应字段亮 如要显示 0 共 阳极数码管的字型编码应为 B 即 C0H 共阴极数码管的字型编码应为 B 3FH 依 次类推 可求得数码管字型编码如表 3 5 所示 表 3 5 数码管字型编码表 共阳极共阴极 字 型 d p 字 型码 d p 字 型码 01 C 0H 0 3 FH 11 F 9H 0 0 6H 21 A 4H 0 5 BH 31 B 0H 0 4 FH 续表 3 5 41 9 9H 0 6 6H 51 9 2H 0 6 DH 61 8 2H 0 7 DH 71 F 8H 0 0 7H 81 8 0H 0 7 FH 91 9 0H 0 6 FH A1 8 8H 0 7 7H B1 8 3H 0 7 CH C1 C 6H 0 3 9H D1 A 1H 0 5 EH E1 8 6H 0 7 9H F1 8 EH 0 7 1H 灭 1 F FH 0 0 0H 本设计显示采用 LED 串行静态显示 MCS 51 系列单片机的串行口 RXD TXD 为一个全 双工串行通信口 当工作在方式 0 下可作同步移位寄存器用 其数据由 RXD P3 0 端串 行输入或输出 而同步移位时钟由 TXD P3 1 串行输出 在同步时钟的作用下 实现由 串行到并行的数据通信 在不需要使用串行通信的场合 利用串行口加外围芯片 74LS164 就可以构成一个或多个并行输入 输出口 用于显示 器 LED 驱动 波特率 每秒传输的位数 固定在 fosc 12 即当晶振为 12MHZ 时 波特率为 1MBPS 在 CPU 将数据写入 SBUF 寄存器后 立即启动发送 待 8 位数据输完后 硬件将状 态寄存器的 TI 位置 1 TI 必须由软件清零 单片机与 4 片串入并出移位寄存器 74LS164 相 连 其中 RXD 作为 164 的数据输入 TXD 作为 4 片 164 的同步时钟 程序运行时 单片机 将 4 个数码管的段码 4 个字节 连续发送出来 通过串行口送给 164 4 位字型码送完后 TXD 保持高电平 此时每片 164 的并行输出口将送出保存在内部移位寄存器中的 8 位的段 码给数码管 令数码管稳定地显示所需的字符 11 74LS164 是 8 位串入并出移位寄存器 它的引脚如图 3 12 所示 A B 为串行输入端 QA

温馨提示

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

评论

0/150

提交评论