基于8031单片机温度控制系统设计_第1页
基于8031单片机温度控制系统设计_第2页
基于8031单片机温度控制系统设计_第3页
基于8031单片机温度控制系统设计_第4页
基于8031单片机温度控制系统设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、基于 8031 单片机温度控制系统设计 摘 要 随着国民经济的发展,人们需要对各种加热炉、热处理炉、烘干箱温度进行 监测和控制。采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优 点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量 和数量。 本设计以 MCS-51 单片机为基础,结合温度传感变送器、A/D 转换器、LED 显 示器等,组成一个基于 MCS-51 系列中 8031 单片机的温度控制系统本设计,对 烘干箱的温度进行检查与控制。温度控制误差2。烘干时显示实时温度,显 示精确到 1。 关键词:单片机,烘干箱,温度控制,过程控制系统 BASE ON 8031

2、SINGLECHIP TEMPERATURE CONTROL SYSTEM DESIGN ABSTRACT With the development of the national economy, there is a need for a riety of furnace ,heat treatment furnace, drying box temperature monitoring and control. Single-chip computer to control not only has control of their convenience, simplicity and

3、 flexibility advantages, but also substantial increase in temperature was charged with technical indicators, which can greatly improve the quality and quantity of products. The MCS-51 design is based on single-chip, combined with temperature sensing transducer, A / D converter, LED display and so on

4、, based on the formation of a MCS- 51 series of 8031 single-chip temperature control system for the design, the temperature of the drying box to check and control. Temperature control error 2 . Display real-time temperature of drying, indicating accurate to 1 . KEY WORDS: microcontroller, dry box, t

5、emperature control, process control system. 目录 前 言 1.1 概述21 第 1 章 绪 论 1.1 概述2 1.1 概述2 1.2 单片机技术简介2 1.2.1 单片机技术的发展2 1.2.2 单片机技术的应用3 第 2 章 元器件介绍25 2.1 单片机系统主机的选择5 2.1.1 单片机的主流系列及机型选择5 2.2 温度传感器5 2.3 2 E PROM2864A 介绍6 2.4 ADC0809 介绍 8 2.4.1 ADC0809 转换器及其接口电路 8 2.4.2 ADC0809 引脚介绍 10 2.5 七段码 LED 显示器12 2.

6、5.1 LED 数码管编码方式13 2.5.2 静态显示方式15 第 3 章 系统硬件设计 1.1 概述216 3.1 主机16 3.2 温度检测电路17 3.3 温度控制18 3.4 温度的设定18 3.5 温度显示电路18 3.6 报警电路19 3.7 电炉控制电路19 3.8 硬件原理图19 第 4 章 软件设计 1.1 概述220 4.1 工作流程20 4.2 功能模块20 4.3 资源分配20 4.4 功能软件设计21 4.4.1 主程序和中断服务子程序21 4.4.2 键盘管理模块23 4.4.3 显示模块26 4.4.4 温度检测模块27 4.4.5 温度控制模块29 4.4.6

7、 温度越限报警模块30 总 结 1.1 概述233 谢 辞 1.1 概述234 参考文献 1.1 概述235 外文资料翻译 1.1 概述236 附 图 前 言 在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的 主要被控参数。其中,温度控制也越来越重要。在工业生产的很多领域中,人们 都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用 单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大 幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。因此, 单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。 单片机是一种集 CPU

8、、RAM、ROM、I/O 接口和中断系统等部分于一体的器件, 只需要外加电源和晶振就可实现对数字信息的处理和控制。因此,单片机广泛用 于现代工业控制中。 本论文侧重介绍“单片机温度控制系统”的软件设计及相关内容。论文的主 要内容包括:采样、滤波、键盘、LED 显示和报警系统,加热控制系统,单片机 MCS-51 的开发以及系统应用软件开发等。作为控制系统中的一个典型实验设计, 单片机温度控制系统综合运用了微机原理、自动控制原理、模拟电子技术、数字 控制技术、键盘显示技术等诸多方面的知识,是对所学知识的一次综合测试。 第 1 章 绪 论 1.1 概述 随着现代工业的逐步发展,在工业生产中,温度、压

9、力、流量和液位是四种 最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、 化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、 热处理炉、反应炉和锅炉的温度进行控制。然而,用常规的控制方法,潜力是有 限的,难以满足较高的性能要求。采用单片机来对它们进行控制不仅具有控制方 便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能 够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产 中经常会遇到的控制问题。 1.2 单片机技术简介 1.2.1 单片机技术的发展 所谓单片机是指在一个集成芯片中,集成微处理器、存储器、基本的 I

10、/0 接 口以及定时/计数、通信部件,即在一个芯片上实现一台微型计算机的基本功能。 1970 年微型计算机研制成功之后,随着就出现了单片机(即单片微型计算机)。美 国 Intel 公司 1971 年生产的 4 位单片机 4004 和 1972 年生产的雏形 8 位单片机 8008,特别是 1976 年 MCS-48 单片机问世以来,在短短的二十几年间,经历了四 次更新换代,其发展速度大约每二、丁三年要更新一代、集成度增加一倍、功能 翻一番。其发展速度之快、应用范围之广,己达到了惊人的地步。尽管日前单片 机的品种很多,但其中最具典型性的当数 Intel 公司的 MCS-51 系列单片机。 MCS

11、-51 是在 MCS-48 的基础上于 80 年代初发展起来的,虽然它仍然是 8 位的单 片机,但其功能有很大的增强。由于 PHILIPS, ATMEL, WELBORD, LG 等近百家 IC 制造商都主产 51 系列兼容产品,具有品种全、兼容性强、软硬件资料丰富等 特点。因此,MCS- 51 应用非常广泛,成为继 MCS-48 之后最重要的单片机品种。 直到现在 MCS-51 仍不失为单片机中的牡流机型。国内尤以 Intel 的 MCS-51 系列 单片机应用最广。由于 8 位单片机的高性能价格比估计近十年内,8 位单片机仍 将是单片机中的主流机型。 1.2.2 单片机技术的应用 随着计算

12、机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智 能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵 活等优势,显示出很强的生命力。它和一般的集成电路相比有较好的抗干扰能力, 对环境的温度和湿度都有较好的适应性,可以在工业条件下稳定工作。且单片机 广泛地应用于各种仪器仪表,使仪器仪表智能化,提高它们的测量速度和测量精 度,加强控制功能。如 Mcs-51 系列单片机控制的“船舶航行状态自动记录仪” 、 “烟叶水分测试仪” 、 “智能超声波测厚仪”等。单片机也广泛地应用于实时控制 系统中,例如对下 SID 卜各种窑炉的温度、酸度、化学成分的测量和控制。将测 量技术、自

13、动控制技术和单片机技术相结合,充分发挥其数据处理功能和实时控 制功能,使系统工作处于最佳状态,提高系统的生产效率和产品质量。从航空航 天、地质石油、冶金采矿、机械电子、轻工纺织等行业的分布系统与智能控制以 及机电一体化设备和产品,到邮电通信、日用设备和器械,单片机都发挥了巨大 作用。 其应用大致可分为以下儿方面: 1机电一体化设备的控制核心 机电一体化是机械设备发展的方向。单片机的出现促进了机电一体化技术的 发展,它作为机电产品的控制器,充分发挥其自身优点,大大强化了机器的功能, 提高了机器的自动化、智能化程度。最典型的机电产品机器人,每个关节或动作 部位都是个单片机控制系统。 2数据采集系统

14、的现场采集单元 大型数据采集系统,要求数据采集的同步性和实时性要好。使用单片机作为 系统的前端采集单元,由主控计算机发出采集命令,再将采集到的数据逐一送到 主计算机中进行处理。如有些气象部门、油田采油部门以及电厂等均可采用这样 的系统。 3分布控制系统的前端控制器 在直接控制级的计算机分布控制系统(DCS)中,单片机作为过程控制中每一 分部操作或控制的控制器,进行数据采集、反馈计算、控制输出,并在上位机命 令的指挥下进行相应协调工作。 4智能化仪表的机芯 自动化仪表的智能化程度越来越高。采用单片机的智能化仪表可具有自整定、 自校正、自动补偿和自适应功能,还可进行数字 PID 调节,软件消除电流

15、热噪声 等等,解决传统仪表所不能解决的难题。单片机的应用使这种性能如虎添翼,如 自动计费电度表、燃气表中己有这方面的应用。许多工业仪表中的智能流量计, 气体分析仪、成分分析仅等也采用了这项技术。甚至有的保健治疗仪中也采用了 单片机控制。 5消费类电子产品控制 该应用主要反映在家电领域,如洗衣机、空调器、保安系统、VCD 视盘机、 电子秤、IC 卡、手机、BP 机等。这些设备中使用了单片机机芯后,大大提高了 其控制功能和性能,并实现了智能化、最优化控制。 6终端及外围设备控制 计算机网络终端设备,如银行终端、商业 POS(自动收款机)以及计算机外围 设备如打印机、通信终端和智能化 UPS 等。在

16、这些设备中使用单片机,使其具有 计算、存储、显示、输入等功能,具有和计算机连接的接口,使计算机的能力及 应用范围大大提高。 本课题以单片机作为控制器之一,进一步研究单片机在自动化检测领域中的 应用。 第 2 章 元器件介绍 2.1 单片机系统主机的选择 2.1.1 单片机的主流系列及机型选择 1Intel 公司的 MCS-48(8 位机):8 位 CPU,并行 I/O 口,8 位定时/计数器寻 址范围不大于 4k,且无串行口,属于初级单片机,功能小,易于控制。 2Intel 公司的 MCS-51(8 位机):多级中断处理系统,8 位定时/计数器。 RAM,ROM 寻址范围可达 64k 字节,且

17、带有串行 I/O 口,此类单片机应用领域极 其广泛。且货源充足,其在国内的主流的地位有可能稳定一个相当时期。 因考虑频率的显示程序中需使用串行输出,而 MCS-48 系列无串行口,且寻 址范围过小,故不易实现产品的功能,MCS-51 系列单片机功能全面 ,可靠性高, 容易达到产品的性能指标,且货源充足,性能价格比较高。MCS-96 虽功能强大 ,但本次设计频率计软件对单片机性能要求较低,且 MCS-96 价格昂贵故 MCS- 51 系列能基本满足要求,是首要选择。 MCS-51 系列中又以 8031、8051、8751 为代表。它们之间最大的差别在于片 内 ROM 的供应状态。在 8051 和

18、 8751 中,片内有 4k 字节的 ROM/EPROM,而 8031 片内无 ROM/EPROM,故如选择 8031,片外必须扩展 EPROM,由于 8031 相对 8051、8751 供应状态相对充足,且性价比较高,故本设计中选用 8031 单片 机作为控制芯片。 2.2 温度传感器 在本次的设计中,我所采用的是热电阻。热电阻测温的基础是大多数金属导 体的电阻率温度升高而增大,具有正的温度系数。在工业上广泛应用的热电阻温 度计一般用来测量-200+500范围的温度,随着科学技术的发展热电阻温度计 的测量范围低温端可达 1K 左右,高温端可测到 1000。热电阻温度计的特点是 精度高,适宜于

19、测低温。在 560以下的温度测量时,它的输出信号比热电偶容 易测量。 (1)纯金属是热电阻的主要制造材料,热电阻的材料应具有以下的特性: 电阻温度系数要大而且稳定,电阻值与温度之间应具有良好的线性 关系。 电阻率高,热容量小,反应速度快。 材料的复现性和工艺性好,价格低。 在测温范围内化学物理特性稳定。 (2)铂电阻 目前,在工业中应用最广的铂和铜,并已制作成标准温热电阻。铂电阻的特 点是精度高,稳定性好,性能可靠。铂在氧化性气氛中,甚至在高温下的物理、 化学性质都非常稳定。因此铂被公认为是目前制造热电阻的最好材料。铂电阻与 温度之间的关系接近于线性,在 0630.74范围内可用下式表示:Rt

20、=R0(1+At+Bt2) 。在-1900范围内为 Rt=R0(1+At+Bt2+Ct3)。该式中,R0、Rt 为温度 0 时 铂电阻的电阻值,t 为任意温度,A、B、C 为温度系数,由实验确定, A=3.9684*10-3/,B=-5.847*10-7/,C=-4.22*10-12/。由上面的两个式子 可以看出,当 R0 值不同时,在同样的温度下,其 Rt 值也不同。目前国内统一设 计的一般工业用标准铂电阻值 R0 有 100 欧和 500 欧两种,并将电阻值 Rt 与温度 t 的相应关系统一列成表格称其为铂电阻的分度表,分度号分别用 Pt100 和 Pt500 表示。 铂电阻在常用的热电阻

21、中准确度最高,国际温标 ITS-90 中还规定,将具有特 殊构造的铂电阻作为 13.5033K-961.78标准温度计来使用。铂电阻广泛应用于- 200850范围内的温度测量,工业中通常在 600以下。 2.3 2864A 介绍 2 E PROM 电擦除电可编程只读存储器是近年来被广泛应用的一种新产品。其 2 E PROM 优点是能使 CPU 在线修改其中的数据,并可在断电情况下保存数据,集 EPROM 和 RAM 功能一体。 Intel2864A 是 8k8 位,单5V 供电,最大工作电流为 140mA, 2 E PROM 维持电流 60mA,其 24 脚的管脚及原理图见图 2-1。由于片内

22、设有编程所需的高 压脉冲产生电路,因此无需外加编程电源和写入脉冲。 图 2-1 2864A 管脚及原理框图 (a) 管脚;(b) 原理图 2864A 有 4 种工作方式,如表 2-1 所示。 表 2-1 2864A 工作方式 控 制 脚 方 式 CEOEWE I/I/ 0 O 7 O 读 出LLH输出信息 写 入LHL数据输出 维 持HXX高 阻 禁止写XLX 禁止写XXH 1维持和读出方式:2864A 的维持和读出方式与普通 EPROM 完全相同。 2写入方式:2864A 提供了两种数据写入操作方式,即字节写入和页面写 入。 3数据查询方式:数据查询方式是指用软件来检测写操作中的“页存储”

23、周期是否完成。在“页存储”期间,如进行写操作,读出的是最后写入的字节, 若芯片的转储工作未完成,则读出数据的高位是原来写入字节最高位的反码,据 此,CPU 可判断芯片的编程是否结束。2846A 与 8031 的接口电路如图 2-2 所示。 图 2-2 2864A 与 8031 的接口电路 2.4 ADC0809 介绍 A/D 转换电路很多,选择 A/D 转换器件主要从速度.精度和蔼价格等方面行考 虑,根据 A/D 转换器的工作原理,可以分为下面的三种类型: 并行 A/D 变换器:速度高,价格也很昂贵,用于高速(如视频处理场合) 。 逐次逼近型 A/D 转换器:精度速度价格方面比较折衷,是最常用

24、的一种 A/D 转换器。 双积分型 A/D 转换器:精度高,抗干扰能力強,价格低,但是速度慢,常 用于測量仪表等场合。 2.4.1 ADC0809 转换器及其接口电路 ADC0809 是 8 位 CMOS 逐次逼近式 A/D 转换器。内部有 8 路模拟量输入通 道和 8 位数字量输出的 A/D 转换器,它是美国国家半导体公司的产品,是目前 国内最广泛的 8 位通用的 A/D 转换的芯片。启动信号为脉冲启动方式,最大可 调误差为1LSB。ADC0809 内部设有时钟电路,故 CLK 时钟需由外部输入。其 内部结构图如下图 2-3 所示。 图 2-3 ADC0809 的内部结构 片内带有锁存功能的

25、 8 路模拟多路开关,可对 8 路输入模拟信号分时转换, 具有多路开关的地址译码和锁存电路、8 位 A/D 转换器和三态输出锁存器等。 在时钟脉冲的同步下,控制逻辑先使 N 位寄存器的 D7 位置 1(其余位为 0),此 时该寄存器输出的内容为 80H,此值经 DAC 转换为模拟量输出 VN,与待转换的模 拟输入信号 VIN 相比较,若 VIN 大于等于 VN,则比较器输出为 1.于是在时钟脉冲 的同步下,保留 D7=1,并使下一位 D6=1,所得新值(C0H)再经 DAC 转换得到新的 VN,再与 VIN 比较,重复前述过程.反之,若使 D7=1 后,经比较,若 VIN 小于 VN,则使 D

26、7=0,D6=1,所得新值 VN 再与 VIN 比较,重复前述过程.依次类推,从 D7 到 D0 都 比较完毕,转换便结束.转换结束时,控制逻辑使 EOC 变为高电平,表示 A/D 转换结, 此时的 D7D0 即为对应于模拟输入信号 VIN 的数字量。如图 2-4 所示 ADC0809 与 8031 的接口电路。 图 2-4 ADC0809 与 8031 的接口电路 2.4.2 ADC0809 引脚介绍 ADC0809 采用双列直插式封装,共有 28 条引脚,如 2-5 图所示。 图 2-5 ADC0809 引脚图 1. IN0-IN7 IN0IN7 为 8 路模拟电压输入线,用于输入被转换的

27、模拟电压 2. ADDA,ADDB,ADDC 三位地址输入端。八路模拟信号转换选择同由 ABC 决定。A 为低位,C 为 高位。 A、B、C 三位地址的输入与 8 路通道的对应关系如表 2-2 下: 表 2-2 A、B、C 三位地址的输入与 8 路通道的对应关系 ABC 三位地址的输入与 8 路通道的对应关系 C00001111 B00110011 地 址 编 码 A01010101 选中通道IN0IN1IN2IN3IN4IN5IN6IN7 3. CLK 外部时钟输入端,时钟频率高,A/D 转换速度快。允许范围为 10- 1280KHZ,典型值为 640KHZ,此时,A/D 转换时间为 10u

28、s。通常由 MCS-51 型 单片机 ALE 端直接或分频后与其相连。当 MCS-51 型单片机无读写外,RAM 操 作时,ALE 信号固定为 CPU 时钟频率的 1/6,若单片机外接的晶振为 6MHZ,则 1/6 为 1MHZ,A/D 转换时间为 64us。 4. D0-D7 数字量输出端,A/D 转换的结果由这几个端口输出。 5. OE A/D 转换结果输出允许控制端,当 OE 端为高电平时,允许将 A/D 转换结果 从 D0-D7 端输出。通常由 MCS-51 型单片机的 RD 端和 ADC0809 片选端(例如 P2.0),通过或非门与 ADC0809 的 OE 端相连接。当 DPTR

29、 为 FEFFH,且执行 “MOVX A,DPTR” 指令后,RD 和 P2.0 均有效,或非后产生高电平,使 ADC0809 的 OE 端有效,ADC0809 将 A/D 转换的结果送入数据总线 P0 口,CPU 在读入中。 6. ALE 地址锁存允许信号。八路模拟通道地址由 A,B,C 输入在 ADC0809 的 ALE 信号有效时,将该八路地址锁存。 7. START 启动 A/D 转换信号。当 START 端输入一个正脉冲时,立即启动 ADC0809 进行 A/D 转换。START 端与 ALE 端连在一起,由 MSC-51 型单片机 WR 和 ADC0809 片选端(例如 P2.0)

30、 。通过或非门连接,当 DPTR 为 FEF8H 时,执行 “MOVX DPTR,A”指令后,将启动 ADC0809 模拟通道 0 的 A/D 转换。 FEF8HFEFFH 分别为八路模拟输入通道的地址。执行 MOVX 写指令,并非真的 将 A 中的内容写进 ADC0809 中,ADC0809 中没有一个寄存器,能容纳的 A 中 的内容。ADC0809 的输入通道是 IN0IN7,输出通道是 D0D7,因此,执行: “MOVX DPTR,A”指令与 A 中内容无关,但 DPTR 地址应指向当前 A/D 的 通道地址。 8. EOC A/D 转换结束信号。当 ADC0809 启动 A/D 转换后

31、,EOC 输出低电平,转换 结束后,EOC 输 出高电平,表示可以读取 A/D 转换的结果。该信号取反后若与 MCS-51 型单片机引脚 INT0 或 INT1 连接,可引发 CPU 中断,在中断服务程序 中读 A/D 转换的数字信号,若与 MCS-51 型单片机两个中断源已用完,则 EOC 也可与 P1 口或 P3 口的一条端线相连,不采用中断方式,采用查询方式,查得 EOC 为高电平后,再读入 A/D 转换的值。 9. VREF+,VREF- 正负基准电压输入端。正基准电压的典型值为+5V,可与电源电压+5V 相连, 但电源电压往往有一定的波动,将影响 A/D 转换的精度。因此,精度要求较

32、高时, 可用高稳定基准电源输入。当模拟信号电压较低时,基准电压也可取低于 5V 的 数值。 10. VCC,GND VCC,GND:正电源电压端和地端。 2.5 七段码 LED 显示器 LED 数码管是由发光二极管作为显示字段的数码型显示器件。图 2-7(a)为 0.5inLED 数码管的外形和引脚图,其中七只发光二极管分别对应 ag 笔段构成 八字形另一只发光二极管 Dp 作为小数点。因此这种 LED 显示器称为七段数码管 或八段数数码。 LED 数码管按电路中的连接方式可以分为共阴型和共阳型两大类。共阳型是 将各段发光二极管的正极连在一起,作为公共端 COM,公共端 COM 接高电平, a

33、g、Dp 各笔段通过限流电阻接控制端。某笔段控制端低电平时,该笔段发光, 高电平时不发光。控制某几段笔段发光,就能显示出某个数码或字符。LED 的共 阴极和共阳极的结构图如图 2-5(a) 、(b)、(c) 所示。 (a) (b) (c) 图 2-5 7 段 LED 数码显示器 (a)符号和引脚;(b)共阴极;(c)共阳极 LED 数码管按其外形尺寸有多种形式,使用较多的是 0.5in 和 0.8in;按显示 颜色也有多种形式,主要有红色和绿色;按亮度强弱可分为高亮和普亮,指通过 同样的电流显示亮度不一样,这是因发光二极管的材料不一样而引起的。 LED 数码管的使用与发光二极管相同,根据其材料

34、不同正向压降一般为 1.52V 额定电流为 10mA,最大电流为 40mA。静态显示时取 10mA 为宜,动态 扫描显示可加大,可脉冲电流,但一般不超过 40mA。 2.5.1 LED 数码管编码方式 当 LED 数码管与单片机相连时,一般将 LED 数码管的各笔段引脚 a、b、g、Dp 按某一顺序接到 MCS51 型单片机某一个并行 I/O 口 D0、D1、D7,当该 I/O 口输出某一特定数据时,就能使 LED 数码管显示出 某个字符。例如要使共阳极 LED 数码管显示“0” ,则 abcdef 各笔段引脚为低电 平,g 和 Dp 为高电平,如 2-2 表所示。 表 2-2 共阳极 LED

35、 数码管显示数字“0”时各管段编码 CD7 D6D5D4D3D2D1D0 字段 码 显示 数 DpGfeDCba 11000000C0H0 C0H 称为共阳 LCD 数码管显示“0”的字段码,不计小数点的字段码称为七 段码,包括小数点的字段称为八段码。 LED 数码管编码方式按小数点计否可分为七段码和八段码;按共阴共阳可分 为共阴字段码和共阳字段码,不计小数点的共阴字段码与共阳字段码互为反码; 按 a、b、g、Dp 编码顺序是高位在前,还是低位在前,又可分为顺序字段码 和逆序字段码。甚至在某些特殊情况下将 a、b、g、Dp 顺序打乱编码。下表 2-3 为共阴和共阳 LED 数码管几种八段编码表

36、。 表 2-3 共阴和共阳 LED 数码管几种八段编码 共阴顺序小数点暗共阴逆序小数点暗 Dp g f e d c b a16 进制a b c d e f g dp16 进制 共阳顺序 小数点亮 共阳顺序 小数点暗 00 0 1 1 1 1 1 13FH1 1 1 1 1 1 0 0FCH40HC0 H 10 0 0 0 0 1 1 006H0 1 1 0 0 0 0 0 60H79HF9 H 20 1 0 1 1 0 1 15BH1 1 0 1 1 0 1 0DAH 24HA4 H 30 1 0 0 1 1 1 14FH1 1 1 1 0 0 1 0F2H30HB0 H 40 1 1 0 0

37、 1 1 066H0 1 1 0 0 1 1 066H19 H99 H 50 1 1 0 1 1 0 16DH1 0 1 1 0 1 1 0B6H12 H92 H 60 1 1 1 1 1 0 17DH1 0 1 1 1 1 1 0BEH02 H82 H 70 0 0 0 0 1 1 107H1 1 1 0 0 0 0 0E0H78 HF8 H 80 1 1 1 1 1 1 17FH1 1 1 1 1 1 1 0FEH00 H80 H 90 1 1 0 1 1 1 16FH1 1 1 1 0 1 1 0F6H10 H90 H LED 数码管显示电路在单片机应用系统中可分为静态显示方式和动态显示

38、方 式。 2.5.2 静态显示方式 此时,每一位显示器的字段需要一个 8 位 I/O 口控制,而且该 I/O 口须有锁 存功能,N 位显示器就需要 N 个 8 位 I/O 口,公共端可直接接+5V(共阳)或接 地(共阴) 。显示时,每一位字段码分别从 I/O 控制口输出,保持不变直至 CPU 刷新显示为止。 第 3 章 系统硬件设计 系统的硬件电路包括主机、温度检测、温度控制、人机对话(键盘/显示/报 警)4 个主要部分。下面对各部分电路分述如下。 3.1 主机 由于系统控制方案简单,数据量也不大,因此选用 8031 作为控制系统的核 心,外扩 EPROM2764 作为程序存储器。也可视具体情

39、况换用 8051、8052、8751、8752、80C51、89C51、89C52 等。其中, 8051、8052、8751、8752 的各个引脚输入/输出电平只与 TTL 电平兼容; 89C51、89C52、80C51 各引脚输入/输出电平既与 TTL 电平兼容,也与 CMOS 电 平兼容。图 3-1 为系统的结构框图。 图 3-1 电烤箱控制系统结构框 A/D 8031 的晶振频率为 6 MHz。由于 8031 无片内 ROM,故 EA 应接地,使用片 外 ROM。8031 的 P0 口为低 8 位地址及数据总线的分时复用引脚,需要地址锁存 器,将低 8 位的地址锁存后在接到 2764A

40、的 A0A7 上。该电路采用 74LS373 作 为地址锁存器,8031 的地址锁存控制信号线 ALE 接锁存器控制端 G,当 ALE 发 生从高电平向低电平的跳变时,74LS373 将低 8 位地址锁存后,P0 与 D0D7 口 相连方可作为数据线使用。地址锁存控制信号 ALE 为高电平时,P2 口输出高 4 位地址 PCH,P0 口输出低 8 位地址 PCL;ALE 下降为低电平后,P2 口信息保持 不变,而 P0 口将通过 D0D7 来读取片外 ROM 中的指令。因此,低 8 位地址必 须在 ALE 降为低电平之前由外部地址锁存器 74LS373 锁存起来。在 PSEN 输出 负跳变选通

41、片外 ROM 后,P0 口转为输入状态,读入片外 ROM 的指令字节。 3.2 温度检测电路 这部分包括温度传感器、变送器和 A/D 转换三部分。 温度传感器和变送器的类型选择与被控温度的范围及精度等级有关。型号为 WZB-003,分度号为 BA2 的铂热电阻适应于 0500的温度测量范围,可以满 足本系统的要求。 变送器将电阻信号转换与温度成正比的电压,当温度在 0500时变送器 输出 04.9V 左右的电压。 ADC0809 与单片机的接口电路如图 14 所示。由于 ADC0809 片内无时钟, 故利用 8031 提供的地址锁存允许信号 ALE 经 D 触发器二分频后获得。ALE 引脚 的

42、频率是单片机时钟频率的 1/6,如果单片机时钟频率为 6MHZ,则 ALE 引脚的 频率是 1MHZ。在经二分频后为 500KHZ,所以 ADC0809 更加能可靠工作。 由于 ADC0809 具有输出三态锁存器,故其八位数据输出线可直接与单片机 数据总线相连,单片机的低 8 位地址信号在 ALE 作用下锁存在 74LS373 输出的 低 3 位信号夹道 ADC0809 的通道选择端 A、B、C 上,作为通道编码。单片机的 P2.7 作为片选信号,与 WR 进行或非操作,得到一个正脉冲,夹道 ADC0809 的 ALE 和 START 引脚上。由于 ALE 和 START 连接在一起,因此 A

43、DC0809 在锁 存通道地址的同时也启动转换。在读取转换结果时,用单片机的读信号 RD 和 P2.7 引脚经或非门后产生的正脉冲作为 OE 信号,用以打开三态输出锁存器。显然, 上述操作时,P2.7 应为低电平。ADC0809 的 EOC 端经反相器连接到单片机的 P3.3 引脚,作为查询或中断信号。 A/D 转换器件的选择主要取决于温度的控制精度。本系统要求温度控制误差 2,采用 8 位 A/D 转换器,其最大量化误差为1/2(1/255*500)=1, 完全能够满足精度的要求。这里我们采用 ADC0809 作为 A/D 转换器。电路设计 好后,调整变送器的输出,是 0500的温度变化对应

44、于 04.9V 的输出,则 A/D 转换对应的数字量为 00HFAH,即 0250,则转换结果乘以 2 正好是温 度值。用这种方法一方面可以减少标度转换的工作量,另一方面还可以避免标度 转换带来的计算误差。 3.3 温度控制 电炉控制采用可控硅来实现,双向可控硅和电炉电阻丝串接在交流 220 V 市 电回路中。单片机的 P1.7 口通过光电隔离器和驱动电路送到可控硅的控制端,由 P1.7 口的高低电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。 3.4 温度的设定 温度的设定由键盘的按键来实现。它有独立式按键结构和矩阵式按键结构两 种。键盘是由若干个按键组成的,它是单片机最简单的输

45、入设备。操作员通过键 盘输入数据或命令,实现简单的人机对话。由于键盘只设置 3 个功能键,分别是 启动、 “十位+”和“个位+”键,由 P1 口低 3 位作为键盘接口,此时,可采用独 立式按键结构。利用+1 按键可以分别对预置温度的十位和个位进行加 1 设置,并 在数码管 LED 上显示当前设置值。连续按动相应位的加 1 键即可实现 15 35的温度设置。 按键就是一个简单的开关,当按键按下时,相当于开关闭合;当按键松开时, 相当于开关断开。按键在闭合和断开时,触电会存在抖动现象。 按键的抖动时间一般为 510ms,抖动可能造成一次按键的多次处理问题。 应采取措施消除抖动的影响。消除办法有多种

46、,常用软件延时 10ms 的方法。 在按键较少时,常采用图(b)所示的去抖电路。当按键未按下时,输出为 “1” ;当按键按下时,输出为“0” ,即使在 B 位置时因抖动瞬时断开,只要按键 不回 A 位置,输出就会仍保持为“0”状态。 当按键多时,常采用软件延时的办法。当单片机检测到有按键按下时,先延 时 10ms,然后再检测按键的状态,若仍是闭合状态,则认为真正有键按下。当检 测到按键释放时,亦需要做同样的处理。 3.5 温度显示电路 本系统设有 2 位 LED 数码显示器,停止加热是显示设定温度,启动加热时 显示当前温室温度采用串行口扩展的静态显示电路作为显示接口电路。温度值采 用 LED

47、数码静态串行输出显示,每 30S 刷新一次显示值。为了不再扩展并行 I/O 口,本例利用串行口的移位功能,扩展为 2 位静态显示电路。LED2 显示十位温 度值,LED1 显示个位温度值。在单片机应用系统中,如果需要显示的内容只有 数码和某些字母,使用 LED 数码管是一种较好的选择。LED 数码管显示清晰、 成本低廉、配置灵活,与单片机接口简单易行。 3.6 报警电路 报警功能由蜂鸣器来实现。当由于意外因素导致温室温度高于设置温度时, P1.6 口送出的低电平经反向器驱动蜂鸣器鸣叫报警。 3.7 电炉控制电路 电路控制采用可控硅来实现,双向可控硅和电炉电阻丝串接在交流 220V 市 点回路中

48、。单片机的 P1.7 口通过光电隔离器和驱动电路送到可控硅的控制端,由 P1.7 口的高低电平来控制可控硅的导通和断开, 控制电阻丝的通电加热时间。 对使用 SCR 的电路,在 SCR 阳极加上正向电压后,还必须在门极与阴极之 间加上触发电压,SCR 才能从阻断转变为导通,习惯称为触发控制,提供这个触 发电压的电路称为 SCR 的触发电路。它决定每个 SCR 的触发导通时刻,是 SCR 装置中不可缺少的一个重要组成部分。 控制电路和主要电路的隔离通常是必要的,隔离可有光耦或脉冲变压器实现。 3.8 硬件原理图 见附图 第 4 章 软件设计 4.1 工作原理 电烤箱在开始时,这时可以用“+1”键

49、设定预置温度,显示器显示预定温度; 温度设定好后就可以按启动键启动系统工作了。温度检测系统不断定时检测当前 温度,并送往显示器显示,达到预定值后停止加热并显示当前温度;当温度下降 到下限时再启动加热。这样不断重复上述过程,使温度保持在预定温度范围之内。 启动后不能再修改预置温度,必须按复位/停止键回到停止加热状态再重新设定预 置温度。 4.3 地址分配 首先给出单片机资源分配情况。数据存储器的分配与定义见表 4-1。 表 4-1 温度控制软件数据存储器分配表 地 址功 能名 称初始化值 50H51H 当前检测温度,高位 在前 TEMP1TEMP0 00H 52H53H预置温度,高位在前ST1S

50、T000H 54H56H BCD 码显示缓冲区, 百位、十位、个位 T100,T10,T00H 57H58H 二进制显示缓冲 区,高位在前 BT1,BT000H 59H7FH堆栈区 PSW.5 报警允许标 F0=0 时禁止报警 F0=1 时允许报警 F0 0 程序存储器:EPROM2764 的地址范围为 0000H1FFFH I/O 口:P1.0P1.3键盘输入;P1.6、P1.7报警控制和电炉控制。 A/D 转换器 0809:通道 0通道 7 的地址为 7FF8H7FFFH,使用通道 0。 4.4 功能软件设计 4.4.1 主程序和中断服务子程序 主程序采用中断嵌套方式设计,各功能模块可直接

51、调用。主程序完成系统的 初始化,温度预置及其合法性检测,预置温度的显示及定时器 0 设置。定时器 0 中断服务子程序是温度控制体系的主体,用于温度检测、控制和报警。中断由定 时器 0 产生,根据需要每隔 15 s 中断一次,即每 15 s 采样控制一次。但系统采用 6 MHz 晶振,最大定时为 130 ms,为实现 15 s 定时,这里另行设了一个软件计数 器。主程序和中断服务子程序的流程图如图 4-1 所示。 0 1 15 s Y N 0 0 4-1 系统程序总体结构框图 主程序 MAIN :(数据缓冲区的定义和初始化部分从略) ORG 0000H AJMPMAIN ORG 000BH AJ

52、MPPT0 ORG 0030H MAIN: MOV SP,#59H ; 设定堆栈指针 MOV TMOD,#01H ; 定时器 0 初始化 MOV TL0,#0B0H ; 定时器定时时间 100 ms MOVTH0,#3CH MOVR7,#150;置 15 s 软计数器初值 ACALLKIN;调键盘管理子程序 SETBET0;允许定时器 0 中断 SETBEA;开中断 SETBTR0;启动定时器 0 SJMP$ 定时器 0 中断服务子程序 PT0: PT0: MOVTL0,#0B0H MOVTH0,#3CH ;重置定时器 0 初值 DJNZR7,BACK ;15 s 到否,不到返回 MOVR7,

53、#150 ;重置软计数器初值 ACALL TIN ;温度检测 MOV BT1,TEMP1 ;当前温度送显示缓冲区 MOV BT0,TEMP0 ACALL DISP ;显示当前温度 ACALL CONT ;温度控制 LCALL ALARM ;温度越限报警 BACK:RETI 4.4.2 键盘管理模块 上电或复位后系统处于键盘管理状态,其功能是监测键盘输入,接收温度预 置和启动键。程序设有预置温度合法检测报警,当预置温度超过 500时会报警 并将温度设定在 500。键盘管理子程序流程图如图 4-2 所示。 图 4-2 键盘管理子程序流程图 键盘管理子程序 KIN: KIN: ACAL CHK ;预

54、置温度合法性检测 MOV BT1,ST1 A P1.10 P1.20 P1.30 P1.00 100A 10A 1A A A Y N Y N N Y Y Y N N N Y N Y MOV BT0,ST0 ;预置温度送显示缓冲区 LCALL DISP ;显示预置温度 KIN0: ACALL KEY ;读键值 JZ KIN0 ;无键闭合和重新检测 ACALL DISP ACALL DISP ;二次调用显示子程序延时去抖 ACALLKEY ;再检测有无键按下 JZ KIN0;无键按下重新检测 JB ACC.1,S10 MOV A,#100;百位键按下 AJMP SUM S10: JB ACC.2,

55、S1 MOVA,#10;十位键按下 AJMP SUM S1: JB ACC.3,S0 MOVA,#01 ;个位键按下 SUM: ADD A,ST0;预置温度按键+1 MOVST0,A MOVA,#00H ADDCA,ST1 MOVST1,A KIN1: ACALL KEY;判断闭合键释放 JNZ KIN1;未释放继续判断 AJMP KIN;闭合键释放继续扫描键盘 S0: JNB ACC.0,KIN;无键按下重新扫描键盘 RET;启动键按下返回 KEY: MOVA,P1;读键值子程序 CPLA ANLA,#0FH RET 预置温度合法性检测子程序 CHK(用双字节减法比较预置温度是否大于 500

56、(01F4H): CHK:MOVA,#0F4H ;预置温度上限低 8 位送 A CLRC SUBBA,ST0;低 8 位减,借位送 CY MOVA,#01H;预置温度上限高 8 位送 A SUBBA,ST1;高 8 位带借位减 JC OUTA ;预置温度越界,转报警 MOVA,#00H;预置温度合法标志 RET OUTA: MOVST1,#01H ;将 500 写入预置温度数据区 MOV ST0,#0F4H CLR P1.6;发报警信号 0.6 s ACALL D0.6s SETB P1.6;停止报警 RET 4.4.3 显示模块 显示子程序的功能是将显示缓冲区 57H 和 58H 的二进制数

57、据先转换成三个 BCD 码,分别存入百位、十位和个位显示缓冲区(54H、55H 和 56H 单元) ,然 后通过串口送出显示。显示子程序 DISP: DISP: ACALL HTB ;将显示数据转换为 BCD 码 MOV SCON,#00H ;置串行口为方式 0 MOV R2,#03H ;显示位数送 R2 MOV R0,#T100 ;显示缓冲区首地址送 R0 LD: MOV DPTR,#TAB ;指向字型码表首地址 MOV A,R0 ;取显示数据 MOVC A,A+DPTR ;查表 MOV SBUF,A;字型码送串行口 WAIT: JBC TI,NEXT;发送结束转下一个数据并清中断标志 SJ

58、MP WAIT;发送未完等待 NEXT: INCR0 ;修改显示缓冲区指针 DJNZ R2,LD;判 3 位显示完否,未完继续 RET TAB: COH F9H A4H BOH 99H 92H 82H F8H 80H 90H BCD 码转换子程序 HTB: HTB: MOVA,BT0;取二进制显示数据低 8 位 MOVB,#100 ;除 100,确定百位数 DIVAB MOVT100,A;百位数送 54H 单元 MOVA,#10 ; 除 10,确定十位 XCH A,B DIV A,B MOV T10,A ;十位数送 55H 单元 MOV T,B ;个位数送 56H 单元 MOV A,BT1 ;

59、取二进制显示数据高 8 位 JNZ LH1 ;高位不为 0 转 LH1 继续高 8 位转换 RET ;高位为 0 结束,返回 LH1: MOVA,#06H ;高位不为 0,低位转换结果加 256(因为温度数 据不会大于 500,所以高 8 位最多为 01H,即 256) ADD A,T DAA;个位加 6(十进制加) MOVT,A;结果送回个位 MOVA,#05H ADDCA,T10 DA A;十位加 5(十进制加) MOVT10,A;结果送回十位 MOVA,#02H ADDCA,T100 DA A;百位加 2(十进制加) MOVT100,A;结果送回百位 RET 4.4.4 温度检测模块 A

60、/D 转换采用查询方式。为提高数据采样的可靠性,对采样温度进行数字滤 波。数字滤波的算法很多,这里采用 4 次采样取平均值的方法。如前所述,本系 统 A/D 转换结果乘 2 正好是温度值,因此,4 次采样的数字量之和除以 2 就是检 测的当前温度。检测结果高位存入 50H,低位存入 51H。温度检测子程序流程图 如图 4-3 所示。 图 4-3 温度检测子程序流程图 温度检测子程序 TIN: TIN: MOV TEMP1,#00H ;清检测温度缓冲区 MOV TEMP0,#00H MOV R2,#04H ;取样次数送 R2 MOV DPTR,#7FF8H ;指向 A/D 转换器 0 通道 4R

温馨提示

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

评论

0/150

提交评论