基于at89s52单片机的温度控制系统设计内容摘要:

+℃,完全能够满足精度要求。 这里我们采用 ADC0809 作为 A/D 转换器。 电路设计好后,调整变送器的输出,使 0℃~500℃ 的温度变化对应于 0~ V 的输出,则 A/D 转换对应的数字量为 00H~ FAH,即 0~ 250,则转换结果乘以 2 正好是温度值。 用这种方法一方面可以减少标度转换的工作量,另一方面还可以避免标度转换带来的计算误差。 ADC0809 是美国国家半导体公司生产的 CMOS 工艺 8 通道, 8 位逐次逼近式 A/D 转换器。 其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路模拟输入信号中的一个进行 A/D 转换。 是目前国内应用最广泛的 8位通用 A/D芯片。 主要特性为 8 路输入通道, 8 位 A/D 转换器,即分辨率为8 位 ; 具有 转换起停控制端 ; 转换时间为 100μs(时钟为 640kHz 时 ), 130μs(时钟为 500kHz时) ; 模拟输入电压范围 0~ +5V,不需零点和满刻度校准 ; 工作温度范围为 40~ +85 摄氏度 ; 单个 +5V 电源供电 ; 低功耗,约 15mW。 ADC0809 是 CMOS 单片型逐次逼近式 A/D 转换器,内部结构如图 32 所示,它由 8路模拟开关、地址锁存与译码器、比较器、 8 位开关树型 A/D 转换器、逐次逼近寄存器、逻辑控制和定时电路组成。 图 32 ADC0809 内部结构图和外部引脚图 温度控制 电烤箱控制采用可控硅来实现,双向可控硅和电炉电阻丝串接在交流 220 V 市电单片机 /微机接口课程设计说明书 6 回路中。 单片机的 口通过光电隔离器 MOC3011 和驱动电路送到可控硅的控制端,由 口的高低电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。 光电隔离器 MOC3011 对输入、输出电信号起隔离作用,光耦合器一般由三部分组 成:光的发射、光的接收及信号放大。 输入的电信号驱动发光二极管( LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。 这就完成了电 — 光 — 电的转换,从而起到输入、输出、隔离的作用。 由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。 又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。 其他可扩展电路 对于要求更高的系统,在现有电路的基础上,还 可以视需要自行扩展以下接口电路:实时时钟电路:连接实时时钟芯片 DS12887 可以获得长的采样周期,显示年、月、日、时、分、秒,而其片内带有的 114 B 非易失性 RAM,可用来存入需长期保存但有时也需变更的数据。 如采样周期、 PID 控制算法的系数 KP、 KI、 KD 等; “看门狗 ”电路:连接集成监控芯片 MAX705 可实现对主电源 VCC 的监控,提高系统的可靠性。 单片机 /微机接口课程设计说明书 7 4 软件设计 单片机资源分配情况。 数据存储器的分配与定义见表。 表 地址 功能 初始化值 40H 当前检测温度,高位在前 00H 41H 预置温 度 OOH 42H~44H BCD 码显示缓冲区 百位、十位、个位 OOH 45H 二进制显示缓冲区,高位在前 00H 50H 以后 堆栈 报警允许标志 F0=0 时禁止 0 程序存储器: EPROM2764 的地址范围为 0000H~1FFFH I/O 口: ~—— 键盘输入; 、 —— 报警控制和电炉控制。 A/D 转换器 0809:通道 0~通道 7的地址为 7FF8H~7FFFH,使用通道 0。 主程序 流程图 主程序采用中断嵌套方式设计,各功能模块可直接调用。 主程序完成系统的初 始化,温度预置及其合法性检测,预置温度的显示及定时器 0设置 ,流程图如图 41所示。 程序为程序一。 单片机 /微机接口课程设计说明书 8 图 41 主程序流程图 中断 服务程序 中断由 T0 产生 ,每隔 5 秒中断一次。 功能:温度检测; A/D 转换;读入采样数据;数字滤波;朝鲜温度报警;温度控制;显示。 流程图如图 42所示。 程序为程序二。 开始 定时器 0 初始化 设置堆栈 置 5s循环次数 数据存储器 RAM 初始化 定时器 0 中断 调用按键子程序 单片机 /微机接口课程设计说明书 9 图 42 中断程序流程图 键盘管理 模块 上电或复位后系统处于键盘管理状态,其功能是监测键盘输入,接收温度预置和置 5s 循环次数 R51 R5 调用显示子程序 ADC 转换后的温度值送显示缓冲区 调用温度监测子程序 5s 到了吗。 N Y 重设 T0 值 调用报警子程序 保护现场 恢复现场 中断返回 调用温度控制子程序 单片机 /微机接口课程设计说明书 10 启动键。 程序设有预置温度合法检测报警,当预置温度超过 500℃时会报警并将温度设定在 500℃。 键盘管理子程序流程如如图 43所示 ,程序为程序三。 图 43 按键管理子程序流程图 温度检测模块 A/D 转换采用查询方式。 为提高数据采样的可靠性,对采样温度进行数字滤 波。 数字滤波的算法很多,这里采用 4 次采样取平均值的方法。 如前所述,本系统 A/D转换结果乘 2正好是温度值,因此, 4 次采样的数字量之和除以 2就是检测的当前温度。 检测结果 存入 40H。 温度检测子程序流程图 如图 44 所示。 程序为程序四。 A预 置 温 度 合 法 检 查预 置 温 度 → 显 示 缓 冲 区调 用 显 示 子 程 序有 键 闭 合调 用 显 示 子 程 序延 时 去 抖有 键 闭 合P 1 . 1 = 0P 1 . 2 = 0P 1 . 3 = 0P 1 . 0 = 0返回启 动 加 热1 0 0 →A1 0 →A1 →AA + 预 置 温 度 →预 置 温 度 数 据 区键 释 放AYNYNNYYYNNNYNY单片机 /微机接口课程设计说明书 11 图 44 温度检测子程序流程图 温度控制模块 将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度时,继电器断开,停止加热;当二者相等时电炉保持原来状态;当前温度降低到比预置温度低 2℃时 ,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。 由于电炉开始加热时,当前温度可能低于报警下限,为了防止。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。