电阻炉温度控制系统的设计_第1页
电阻炉温度控制系统的设计_第2页
电阻炉温度控制系统的设计_第3页
电阻炉温度控制系统的设计_第4页
电阻炉温度控制系统的设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

电炉温度控制系统设计 摘要 热处理是提高金属材料及其制品质量的重要技术手段 近年来随工业的发 展 对金属材料的性能提出了更多更高的要求 因而热处理技术也向着优质 高效 节能 无公害方向发展 电阻炉是热处理生产中应用最广泛的加热设备 加热 时 恒温过程的测量与控制成为了关键技术 促使人们更加积极地研制热加工工业 过 程的温度控制器 此设计针对处理电阻炉炉温控制系统 设计了温度检测和恒温控制系统 实现了基本控制 数据采样 实时显示温度控制器运行状态 控制器采用 51 单片机作为处理器 该温度控制器具有自动检测 数据实时采集处理及控制结 果显示等功能 控制的稳定性和精度上均能达到要求 满足了本次设计的技术 要求 关键词 电阻炉 温度测量与控制 单片机 目录 一 绪论 1 1 1选题背景 1 1 2电阻炉国内发展动态 1 1 3设计主要内容 2 二 温度测量系统的设计要求 3 2 1 设计任务 3 2 2 系统的技术参数 3 2 3 操作功能设计 4 三 系统硬件设计 5 3 1 CPU 选型 5 3 2 温度检测电路设计 5 3 2 1 温度传感器的选择 5 3 2 1 1 热电偶的测温原理 6 3 2 1 2 热电偶的温度补偿 7 3 2 2 炉温数据采集电路的设计 7 3 2 2 1 MAX6675 芯片 7 3 2 2 2 MAX6675 的测温原理 7 3 2 2 3 MAX6675 与单片机的连接 8 3 3 输入 输出接口设计 9 3 4 保温定时电路设计 10 3 4 1 DS1302 与单片机的连接 11 3 5 温度控制电路设计 11 系统硬件电路图 13 四 系统软件设计 14 4 1 软件总体设计 14 4 2 主程序设计 14 4 3 温度检测及处理程序设计 15 4 4 按键检测程序设计 17 4 5 显示程序设计 19 4 6 输出程序设计 20 4 7 中值滤波 21 五 结论 22 参考文献 23 1 一 绪论一 绪论 1 11 1选题背景选题背景 在现代化的工业生产中 电流 电压 温度 流速 流量 压力和开关量 都 是常用的主要被控参数 例如 在机械制造 电力工程 化工生产 造纸行业 冶金工业和食品加工等诸多领域中 人们都需要对各类加热炉 热处理炉 反 应 炉和锅炉中的温度进行检测和控制 其中温度控制在生产过程中占有相当大的 比 例 即使日常生活中的电热水器 空调 微波炉 电烤箱等家用电器也同样需 要 温度监控 可见温度控制电路广泛应用于社会生活的各领域 所以对温度进行 控 制是非常有必要和有意义的 准确地测量和有效地控制温度是优质 高产 低 耗 和安全生产的重要条件 1 21 2 电阻炉国内发展动态电阻炉国内发展动态 电阻炉是热处理生产中应用最广泛的加热设备 它在机械 冶金等行业的 生 产中占有十分重要的地位 温度控制质量的好坏将直接影响着热处理产品的产 量和质量 对于提高生产率和节约能源也有举足轻重的意义 我国对电阻炉的控制进行了广泛的研究始于上世纪 80 年代 随着微型计 算机控制技术的发展 电阻炉计算机控制逐步进入实用化阶段 目前 国内电 阻炉控制系统的研究现状如下 1 采用先进的控制设备 随着单片机 可编程控制器与工业控制机等先进控制系统的发展 逐步取 代了以前大规模的继电器 模拟式控制仪表 单片机也因其极高的性价比而受 到人 们的重视和关注 获得广泛地应用和迅速地发展 2 单片机具有体积小 重量轻 控制功能强 价格低与开发方便等优点 单 片 机应用的意义不仅在于它的广阔范围及所带来的经济效益 更重要的意义在于 单片机的应用从根本上改变了控制系统传统的设计思想和设计方法 以前采用 硬 件电路实现的大部分控制功能 现在可以用单片机通过软件的方法来实现 以 前 自动控制中的 PID 调节 现在可以用单片机实现具有智能化的数字计算控制 模糊控制和自适应控制 这种以软件取代硬件并能提高系统性能的控制技术称 为微控技术 2 采用新的控制方法 对传统的负反馈 单一 PID 控制系统做了多种补充 从而使控制性能更 佳 同时 越来越多的控制系统采用新的控制方法如 模糊控制 神经网络控 制 才遗传算法控制 最优控制 自整定 PID 参数控制器 自适应控制和自校 正控制器等 1 31 3 设计主要内容设计主要内容 设计分析了炉温的特性和单片机炉温控制系统的工作原理 完成了以 AT89S5l 单片机为控制器 控制系统包括温度数据采集电路 功率控制输出电 路 键盘与显示接口电路和声光报警等电路的硬件电路设计 实现了温度数据 采集 处理 显示 状态切换 定时保温 系统的故障自诊断和超限声光报警 等功能 3 二 温度测量系统的设计要求二 温度测量系统的设计要求 电阻炉温度控制系统应具备温度测量 显示 过限报警等功能 并要求具 有良好的稳定性 高控制精度 以满足热处理对温度的需求 系统设计时 首 先确定系统的设计目标 确定温度控制器的规格与技术指标 这对于明确设计 的目的性和控制功能的逻辑性有重要的意义 然后设计系统的相关的操作规范 及运行参数 为硬件设计和软件设计确定具体的目标 2 12 1 设计任务设计任务 针对原有电阻炉温度控制系统的功能缺陷及现有控制要求 确定本次设计 的 目标如下 1 系统的测温范围在 0 1000 控温精度 2 显示精度 0 1 2 控制面板能便捷输入控制参数 如 P I D 及保温时间 3 用 7 段高亮数码管显示设定炉温 5 位数码管 炉温实时温度 5 位数码管 保温时间 3 位数码管 等系统信息 4 用三个发光二极管以不同的颜色和发光状态来指示显系统的工作状态 2 22 2 系统的技术参数系统的技术参数 整个系统最终达到的技术指标是由系统中的各个环节共同作用后完成的 比 如要提高温度检测的精度 只采用高精度的 A D 转换器是不够的 还需要好的 抗干扰措施 精确度高的传感器及软件线性化处理等 一般情况下 技术指标 达到某个限度后 再想提高是不容易办到的 为此可能付出更多的经费与时间 设备规格是硬件投资的主要依据 如电源的规格 传感器类型 控制器类型等 根据需要确定所设计的温度控制系统的主要技术参数如表 2 1 所示 表 2 1 系统主要技术参数 4 2 32 3 操作功能设计操作功能设计 为了便于操作 所设计的温度控制器的面板总计五个按键 三个工作状态 指示灯 一个蜂鸣器和十三个高亮 7 段 LED 数码管 用于完成参数的设置和 信息的显示 其中 五个按键分别为设置 加一 减一 左移 右移 用于设置温度以 及保温时间 三个工作状态指示灯分别指示暂停状态 工作状态 超限报警 十三个高亮 7 段 LED 数码管中有五位显示设定温度 五位显示实际温度 三位 显示保温时间 5 三 系统硬件设计三 系统硬件设计 电阻炉控制系统应具备温度测量 显示 参数输入等功能 并要求具有可 靠性高 通用性强 控制精度佳等特点 以满足控制需求 基于上述性能要求 系统的硬件结构如图 3 1 所示 系统包括单片机 温度检测与处理电路 键盘 与显示接口电路 声光报警电路以及计时电路等 图 3 1 温度控制系统硬件结构图 3 13 1 CPUCPU 选型选型 温度控制系统选用 ATMEL89 系列单片机中的 AT89S51 作为微处理器 AT89S51 是一个低功耗 高性能 CMOS 型 8 位单片机 片内含 4k Bytes ISP In systemprogrammable Flash 存储器 器件采用 ATMEL 公司的高密度 非易失性存储技术制造 兼容标准 MCS 51 指令系统及 80C51 引脚结构 芯片 内集成了通用 8 位中央处理器和 ISP Flash 存储单元 功能强大的微型计算 机的 AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案 3 23 2 温度检测电路设计温度检测电路设计 温度检测电路是电阻炉温度控制系统的重要部分 其性能好坏直接决定了 整个系统的性能 它承担着检测电阻炉温度并将温度数据传送到单片机的任务 6 3 2 13 2 1 温度传感器的选择温度传感器的选择 热电偶在工程上使用最为广泛的温度传感器之一 它具有构造简单 精度 高 热响应时间快 测温范围大 200 2000 均可连续测温 以及性能可靠使用 寿 命长的优点 在温度测量中占有很重要的地位 热电偶的种类很多 热电偶有 K 型 镍铬 镍硅 WRN 系列 N 型 镍铬 硅 镍硅镁 WRM 系列 E 型 镍铬 铜镍 WRE 系列 J 型 铁 铜镍 WRF 系 列 T 型 铜 铜镍 WRC 系列 S 型 铂铑 10 铂 WRP 系列 R 型 铂铑 13 铂 WRQ 系列 B 型 铂铑 30 铂铑 6 WRR 系列等 考虑设计成本与实际的温度 范围 0 1000 在本设计中选用分度号为 K 的镍铬 镍硅热电偶 WRN 120 表 3 1 所列的是常用热电偶的材料规格和线径使用温度的关系 表 3 1 常用热电偶材料规格和线径使用温度 3 2 1 13 2 1 1 热电偶的测温原理热电偶的测温原理 将两种不同材料的导体或半导体 称为热电偶丝材或热电极 两端焊接起 来 构成一个闭合回路 当两导体之间存在温差时 便产生电动势 在回路中就会 形 成一个大小的电流 这种现象称为热电效应 而这种电动势称为热电势 热电 偶就是利用这种原理进行温度测量的 其中 直接用作测量介质温度的一端叫 做工作端 也称为测量端 另一端叫做冷端 也称为补偿端 冷端与显示仪 表或配套仪表连接 显示仪表会指出热电偶所产生的热电势 如图 3 2 所示 7 图 3 2 热电偶温度计系统原理图 不同种类的两根金属导线 A B 连接起来并保持接点的温度为 t0 若设由 电压计引出的导线与金属线 A B 连接点的温度为 t 则显现出来的热电势 EAB t t0 为 3 2 1 23 2 1 2 热电偶的温度补偿热电偶的温度补偿 热电偶都有对应的分度表 即在参考端温度为 0 时 热电势和测量温度 的对应表 热电偶的分度表是以冷端温度 0 为基准进行分度的 热电偶的实 际工作环境 冷端温度往往不为 0 不能直接使用分度表 因此必须对热电 偶的冷端温度进行温度补偿 常用的冷端温度补偿方法有 冷端 0 恒温法 将冷端放在冰水混合物的 恒温容器中等 冷端温度修正法 电桥补偿法和冷端温度自动补偿法等 在本 设计中采用集成芯片 MAX 6675 完成冷端温度的自动补偿 可在很大程度上简 化系统的设计 3 2 23 2 2 炉温数据采集电路的设计炉温数据采集电路的设计 型热电偶是工业生产中最常用的温度传感器 具有结构简单 制造容易 使用方便 测温范围宽等特点 本次设计就是选用 K 型热电偶作为系统的温度 传感器 目前 在以 型热电偶为测温元件的工业测温系统中 热电偶输出的 热电势信号必须经过中间转换环节 才能输入基于单片机系统 中间转换环节 包括信号放大 冷端补偿 线性化及数字化等几个部分 实际应用中 由于中 间环节较多 调试较为困难 系统的抗干扰性能往往也不理想 MAXIM 公司推出的 MAX 6675 它是一个集成了热电偶放大器 冷端补偿 A D 转换器及 SPI 串口的热电偶放大器与数字转换器 可以直接与单片机接口 大大简化系统的设计 保证了温度测量的快速性与准确性 故在本设计中 为 简化系统电路设计采用芯片 MAX 6675 作为热电偶电势与温度的转换 8 3 2 2 13 2 2 1 MAX6675MAX6675 芯片芯片 MAX 6675 是具有冷端补偿和 A D 转换功能的单片集成 型热电偶变换器 测温范围 0 1024 温度范围满足本台电炉的温度需要 其主要功能特点 如下 1 直接将热电偶信号转换为数字信号 2 具有冷端补偿功能 3 简单的 SPI 串行接口与单片机通讯 4 12 位 A D 转换器 0 25 分辨率 5 热电偶断线检测 6 工作温度范围 20 85 3 2 2 23 2 2 2 MAX6675MAX6675 的测温原理的测温原理 MAX 6675 是一个复杂的单片热电偶数字转换器 其内部结构主要包括 低 噪声电压放大器 A1 电压跟随器 A2 冷端温度补偿二极管 基准电压源 12 位 AD 转换器 SPI 串行接口 模拟开关及数字控制器 其工作原理如下 K 型热电偶产生的热电势 经过低噪声电压放大器 A1 和电压跟随器 A2 放大 缓冲后 得到热电势信号 U1 再经过 S4 送至 ADC 对于 K 型热电偶 电压变化率为 41 V 电压可由如下公式来近似热电偶 的特性 上式中 U1 为热电偶输出电压 mV T 是测量点温度 T0 是周围温度 在将温度电压值转换为相应的温度值之前 对热电偶的冷端温度进行偿 冷端温度即是 MAX6675 周围温度与 0 实际参考值之间的差值 通过冷端温度 补偿二极管 产生补偿电压 U2 经 S4 输入 ADC 转换器 在数字控制器的控制下 ADC 首先将 U1 U2 转换成数字量 即获得输出 电 压 U0 的数据 该数据就代表测量点的实际温度值 T 这就是 MAX6675 进行冷 端温度补偿和测量温度的原理 3 2 2 33 2 2 3 MAX6675MAX6675 与单片机的连接与单片机的连接 9 图 3 3 MAX6675 与单片机的连接 MAX6675 有五个引脚 脚 T 接热电偶负极 脚 T 接热电偶正极 脚 SCK 串行时钟输入端 脚 CS 片选端 使能启动串行数据通讯 脚 SO 串行数据输出端 3 33 3 输入输入 输出接口设计输出接口设计 键盘和显示电路实现了人机交互功能 通过键盘电路可以设置系统运行状 态 和系统参数 P I D 和保温时间 显示电路可以显示系统的运行状态 控制 时间 设定温度 实际温度等 该温度控制系统采用 7 段高亮 LED 数码管 红色 显示系统的设置参数 保温时间及实际温度值等 总计 13 数码管和 3 个发光二极管 指示控制系统的工作状态 数码管的驱动动采用 MAX7219 MAX7219 是美国 MAXIM 公司生产的串行输 入 输出共阴极显示驱动器 该芯片可直接驱动最多 8 位 7 段数字 LED 显示 器 或 64 个 LED 和条形图显示器 它与微处理器的接口非常简单 仅用 3 个引脚与微处理器相应端连接即可实现最高 10MHz 串行口 MAX7219 的位选方 式独具特色 它允许用户选择多种译码方式译码选位 而且 每个显示位都能 个别寻址和刷新 而不需要重写其他的显示位 这使得软件编程十分简单且灵 活 另外 它具有数字和模拟亮度控制以及与 MOTOROLA SPI QSPI 及 MATIONAL MICROWIRE 串行口相兼容等特点 该芯片采用 24 脚 DIP 和 SO 封 装 工作电压 4 0 5 5V 最大功耗 1 1W 本温度控制系统采用两片 MAX7219 级联的方式驱动控制 13 个 7 段数码 管 其中 DIN 引脚接 P2 7 LOAD 引脚接 P2 6 CLCOK 引脚接 P2 5 显示控 制电路如图 3 4 所示 K 型热电偶 10 图 3 4 显示与接口电路设计 系统的工作状态由三个发光二极管以不同的颜色与状态显示 如有报警信 号 蜂鸣器启动 三个发光二极管与蜂鸣器用 P2 0 P2 3 控制 具体电路连接如图 3 5 所示 图 3 5 工作状态指示灯及报警电路设计 对于参数的输入通过按键实现 所设计的控制面板总计有 5 个按键 按键 数量少 按键采用独立按键的连接方式 其电路如图 3 6 所示 设定目标温 度 显示实际温度保温时间 11 图 3 6 按键输入电路 3 43 4 保温定时电路设计保温定时电路设计 电炉在某些时候需要某个温度值保持一定的时间 系统必须有定时的功能 单 元 单片机有很多途径实现定时与计时的功能 如软件延时 采用内部定时器 定 时 其中软件定时要占用 CPU 资源 特别当定时时间比较长的时候 其定时的 精度也无法保证 采用定时器定时 虽然能够实现精确定时 但长久定时也不 能有效保证定时精度 为了提高定时精度 降低系统程序设计的复杂度 在本 次设计采用专用时钟芯片 DS1302 来完成系统计时功能 DS1302 是美国 DALLAS 公司推出的一种高性能 低功耗 带 RAM 的实时 时钟电路 它可以对年 月 日 周日 时 分 秒进行计时 具有闰年补偿 功能 工作电压为 2 5V 5 5V 采用三线接口与 CPU 进行同步通信 并可采 用突发方式一次传送多个字节的时钟信号或 RAM 数据 DS1302 内部有一个 31 8 的用于临时性存放数据的 RAM 寄存器 DS1302 是 DS1202 的升级产品 与 DS1202 兼容 但增加了主电源 后背电源双电源引脚 同时提供了对后背电 源进行涓细电流充电的能力 3 4 13 4 1 DS1302DS1302 与单片机的连接与单片机的连接 如图 3 7 所示 12 图 3 7 DS1302 与单片机的连接 3 53 5 温度控制电路设计温度控制电路设计 温控系统的精度不仅受制于输入检测量的精度 同时也受制于输出控制量 的 精度 要提高整个系统的精度 必须使两者匹配 工艺要求加热时在升温阶段 快 速 采用较大的恒定功率 但随着温度偏差减少 逐渐减少定周期内的导通周 波 降低加热功率 防止热惯性的作用而产生较大的温度超调 控制器能够及时控 制加热器件在电源半波内的输入有效值 可控硅调功控制温度具有不冲击电网 对用电设备不产生干扰等优点 是 一 种应用广泛的控温方式 所谓调功控温就是在给定周期内控制可控硅的导通时 间 从而改变加热功率 来实现温度调节 设采样 控制 周期为 T 在 T 周期内工 频交流电的半周波数为 N 如全导通时额定加热功率为 PH 则实际的平均加热 功率 P 与 T 周期内实际导通的半周波数 n 成正比 即 目前 采用可控硅进行功率调节的触发方式有两种 过零触发和移相触发 移相触发方式调功实际上是控制可控硅的导通角 达到调节功率的目的 此方 式 易造成电磁干扰且电路复杂 采用移相触发的可控硅交流调功装置 往往在可 控硅导通的瞬间使电网电压出现畸变 当控制角为 90 时 产生的三次谐波电 流为基波电流的 50 五次谐波也可达到基波的 1 6 这些谐波分量引起电网 13 电压波形畸变 功率因数下降 给其它用电设备和通讯系统的工作带来不良影 响 为此 人们研究了各种避免电压瞬间大幅度下降和抑制高次谐波的方法 过零触发方式很好地解决了此类问题 它可把可控硅导通的起始点限制在电源 电压过零点 从而大大降低了谐波分量 然而 传统的可控硅过零触发调功器 由同步脉冲产生电路 检零电路 隔离电路组成 结构复杂 降低了可靠性 而且采用分立元件 器件的离散性和温漂严重影响调功器控制精度及使用寿命 MOTOROLA 公司生产的 MOC3021 3081 器件可以很好地解决这些问题 该器件用 于触发晶闸管 具有价格低廉 触发电路简单可靠的特点 本系统采用 MOC3061 作为可控硅的驱动器 控制可控硅的导通与关断 改变平均电压的大 小值 形成最佳加热方式 从而控制温度的超调 MOC3061 系列光电双向可控硅驱动器是一种光电耦合器件 它可用直流低 电 压 小电流来控制交流高电压 大电流 用该器件触发晶闸管 具有结构简单 成本低 触发可靠等优点 采用 MOC3061 触发晶闸管 强 弱的电之间在电气 上完全隔离 且可以直接可靠地触发 50A 或更大的功率的晶闸管 经软件分析 所得的控制脉冲送至 MOC3061 直接形成驱动信号 控制可控硅的导通与关断 改变平均电压的大小值 形成最佳加热方式 从而控制温度的超调 控制电路 如图 3 8 所示 图 3 8 输出电路设计 电路中 C3 R15 为阻容吸收电路 MOC3061 在输出关断下 有 500uA 的 漏电流 串入 R16 这个限流电阻 可以控制触发电流 消除漏电流对双向可控 硅的影响 防止双向晶闸管的误触发 R13 为限流电阻 R14 为门极电阻 提 高控制级的抗干扰性 电路中 Q2 集电极发出正弦过零出发脉冲 14 系统硬件电路图系统硬件电路图 图 3 9 系统硬件电路图 控制系统采用热电偶作为温度传感器 热电偶把温度转换为毫伏级的电压 信 号 这个信号必须进行放大处理 冷端补偿 非线性化处理和数字处理后才能 送 到单片机中 这个过程环节多 容易受到干扰 为简化设计 在设计中采用集 成 芯片 MAX6675 来完成整个过程的温度数据处理 单片机对温度数据进行数据处 理后 首先进行超限报警处理 如果超限就调用超限处理子程序 若未超限就 对温度数据进行数字滤波后进行 PID 算法控制 得到输出控制量 具体控制过 程是 当温度偏差大于 50 时 让双向晶闸管全导通或全关闭实现快速缩小温 差 减小调节时间 当温度偏差小于 50 时调用 PID 控制算法 由算法得到 双向晶闸管导通率实现对双向晶闸管正弦半波的个数控制以达到调温的目的 系统中的时钟电路的功能是根据热处理工艺要求设置保温时间 温度控制系统 所有的参数通过 13 位高亮 7 段数码管显示 状态信息通过 3 个发光二极管指 示 15 四 系统软件设计四 系统软件设计 硬件电路确定之后 系统的主要功能将依赖于软件来实现 对同一个硬件 电 路 配以不同的软件 它所实现的功能也就不同 而且有些硬件电路的功能可 用 软件来替代 因此 系统的设计很大程度上是软件设计 4 14 1 软件总体设计软件总体设计 整个温度控制系统不仅要处理按键 显示外 而且要实时处理对温度的采 集信息并处理 整个系统包括主模块 初始化模块 温度检测模块 键盘处理 模块 显示控制模块 计时控制模块 中断服务模块 控制算法模块 输出通 断率控制模块等几个部分 其软件总体结构图如图 4 1 所示 图 4 1 软件总体结构 4 24 2 主程序设计主程序设计 上电或复位后系统 首先进行系统自检 诊断正常后各功能模块进行初始 化 包括初始化各寄存器 标志位 端口 PID 等 接着进行数据采集 经过数字 滤波 标度变换后 计算温度偏差及偏差变化率的大小 再由控制算法模块得 到输出控制量 系统开放定时器及外部中断 一旦发生中断或其他外部响应 首先判断是哪个响应源 然后调用相应的功能模块完成执行程序 监控程序流程如图 4 2 16 图 4 2 主程序流程图 4 34 3 温度检测及处理程序设计温度检测及处理程序设计 温度检测采用 K 型热电偶转换器 MAX 6675 完成 由 MAX 6675 构成的温 度检测电路具有控制程序易于编写 读数精确度高等优点 MAX 6675 的转换 结果与温度的数量关系满足 实际温度值 1023 75 热电偶转换后的数字量 4095 MAX 6675 芯片实现了对热电偶输出的电压信号的放大 冷端补偿和线性化 的自动处理 所以其转换程序比较简单 程序流程如图 4 3 所示 17 图 4 3 温度检测控制程序流程图 下面是 MAX 6675 温度转换的控制子程序 SbitSCK P3 7 sbitSO P3 5 sbitCS P3 6 MAX6675 温度转换程序 unsignedintRe Convert void unsigned char i unsigned int P Temp2 0 SCK 0 CS 0 for i 0 i 16 i SCK 1 if SO 1 18 P Temp2 P Temp2 0 x01 Delay 50us 1 SCK 0 Delay 50us 1 P Temp2 3 return P Temp2 调用后要进行温度数据的格式转换 具体按如下方式进行 P Temp Re Convert P Temp1 0 25 P Temp 控制程序对 P Temp1 进行超限判断 如果不超限 连续采样 3 次温度数据分 别送到数组 middle value 为数字滤波程序做准备 4 44 4 按键检测程序设计按键检测程序设计 操作者要进行参数 P I D 和保温时间等 的设定或状态切换 必需通 过按键 键盘 来实现 按键 键盘 是人机联系的重要通道 根据操作规划 输入按键总计有 5 个 其中增减按键各一个 左右移位按键各一个 功能设置 状态切换按键一个 键盘处理程序的主要任务是进行有无按键按下的判断并获 取键值 根据键值转入相应的按键控制程序 实现对应的控制操作 图 4 4 按键检测程序流程图 19 按键扫描及键值判断处理程序如下 unsigned char Key Left Move 4 unsigned char Key Right Move 3 unsigned char Key Inc 1 2 unsigned char Key Dec 1 1 unsigned char Key Set 0 unsigned char key value 名称 Read Key 说明 功能 判断是否有键按下 去抖动 判断键值 调用 delay1ms 输入 返回值 key value unsigned char Read Key void 读键值 unsigned key P1 0 x1f key P1 while key 软件延时 10ms 去抖动 P1 0 x1f while key else if key 0 x1d key value Key Right Move else if key 0 x1c key value Key Inc 1 else if key 0 x17 key value Key Dec 1 else if key 0 x0f key value Key Set else key value 0 xff 非有效按键返回 0 xff while key 等待按键释放 20 key value 0 xff 无键按下返回 0 xff 4 54 5 显示程序设计显示程序设计 控制面板要显示的内容比较多总计有 13 个 7 段数码管 为了简化系统的 硬件设计 采用两片 MAX7219 级联方式来驱动控制所有的数码管 MAX7219 须 进行初始化设置后才能正常工作 下面是 MAX7219 相关的常量与函数 sbit LOAD P2 6 MAX7219 片选 sbit DIN P2 7 MAX7219 串行数据 sbit CLK P2 5 MAX7219 串行时钟 define DECODE MODE 0 x09 译码控制寄存器 define INTENSITY 0 x0A 亮度控制寄存器 define SCAN LIMIT 0 x0B 扫描界限寄存器 define SHUT DOWN 0 x0C 关断模式寄存器 define DISPLAY TEST 0 x0F 测试控制寄存器 void Write7219 unsigned char address unsigned char dat void Initial void void Write7219 unsigned char address unsigned char dat unsigned char i LOAD 0 拉低片选线 选中器件 for i 0 i 8 i 移位循环 8 次 CLK 0 清零时钟总线 DIN bit address 每次取高字节 address 1 左移一位 CLK 1 时钟上升沿 发送地址 for i 0 i 8 i CLK 0 DIN bit dat dat 5 则排序过程 比较复杂 可以采用 冒泡 算法等通用的排序方法 因中值滤波能较好克服因偶然因素引起的波动干扰 对温度 液位等变化 缓 慢的被测参数有良好的滤波效果 所以本系统采用中值滤波 连续进行三次采 样 后 取中间值作为本次有效采样值 数字滤波代码如下 中值滤波的 C 程序函数如下 float middl

温馨提示

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

评论

0/150

提交评论