495202744毕业设计(论文)基于8031单片机温度控制系统设计1

上传人:仙*** 文档编号:34098449 上传时间:2021-10-20 格式:DOC 页数:53 大小:1.50MB
收藏 版权申诉 举报 下载
495202744毕业设计(论文)基于8031单片机温度控制系统设计1_第1页
第1页 / 共53页
495202744毕业设计(论文)基于8031单片机温度控制系统设计1_第2页
第2页 / 共53页
495202744毕业设计(论文)基于8031单片机温度控制系统设计1_第3页
第3页 / 共53页
资源描述:

《495202744毕业设计(论文)基于8031单片机温度控制系统设计1》由会员分享,可在线阅读,更多相关《495202744毕业设计(论文)基于8031单片机温度控制系统设计1(53页珍藏版)》请在装配图网上搜索。

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

2、IP TEMPERATURE CONTROL SYSTEM DESIGNABSTRACT 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 flexibil

3、ity 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, based o

4、n 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, temperature

5、 control, process control system.目录III前 言1第 1 章 绪 论21.1 概述21.2 单片机技术简介21.2.1 单片机技术的发展21.2.2 单片机技术的应用3第 2 章 元器件介绍52.1 单片机系统主机的选择52.1.1 单片机的主流系列及机型选择52.1.2 8031 单片机特点52.1.3 总线结构82.2 温度传感器92.3 2E PROM2864A 介绍102.4 ADC0809 介绍122.4.1 ADC0809 转换器及其接口电路122.4.2 ADC0809 引脚介绍142.5 七段码 LED 显示器162.5.1 LED 数码管编码

6、方式182.5.2 静态显示方式192.5.3 动态扫描显示方式19第 3 章 系统硬件设计213.1 主机213.2 温度检测电路223.3 温度控制233.4 温度的设定233.5 温度显示电路243.6 报警电路243.7 电炉控制电路243.8 硬件原理图24第 4 章 软件设计25IV4.1 工作流程254.2 功能模块254.3 资源分配254.4 功能软件设计264.4.1 主程序和中断服务子程序264.4.2 键盘管理模块284.4.3 显示模块314.4.4 温度检测模块324.4.5 温度控制模块344.4.6 温度越限报警模块35总 结38谢 辞39参考文献40附 图1前

7、 言在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。其中,温度控制也越来越重要。在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。单片机是一种集 CPU、RAM、ROM、I/O 接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。因此,单片机广泛用于现代工业控制中。本论文侧重介绍“单片

8、机温度控制系统”的软件设计及相关内容。论文的主要内容包括:采样、滤波、键盘、LED 显示和报警系统,加热控制系统,单片机MCS-51 的开发以及系统应用软件开发等。作为控制系统中的一个典型实验设计,单片机温度控制系统综合运用了微机原理、自动控制原理、模拟电子技术、数字控制技术、键盘显示技术等诸多方面的知识,是对所学知识的一次综合测试。2第 1 章 绪 论1.1 概述随着现代工业的逐步发展,在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的

9、温度进行控制。然而,用常规的控制方法,潜力是有限的,难以满足较高的性能要求。采用单片机来对它们进行控制不仅具有控制方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。1.2 单片机技术简介1.2.1 单片机技术的发展所谓单片机是指在一个集成芯片中,集成微处理器、存储器、基本的 I/0 接口以及定时/计数、通信部件,即在一个芯片上实现一台微型计算机的基本功能。1970 年微型计算机研制成功之后,随着就出现了单片机(即单片微型计算机)。美国 Intel 公司 1971 年生产的 4 位

10、单片机 4004 和 1972 年生产的雏形 8 位单片机8008,特别是 1976 年 MCS-48 单片机问世以来,在短短的二十几年间,经历了四次更新换代,其发展速度大约每二、丁三年要更新一代、集成度增加一倍、功能翻一番。其发展速度之快、应用范围之广,己达到了惊人的地步。尽管日前单片机的品种很多,但其中最具典型性的当数 Intel 公司的 MCS-51 系列单片机。MCS-51 是在 MCS-48 的基础上于 80 年代初发展起来的,虽然它仍然是 8 位的单片机,但其功能有很大的增强。由于 PHILIPS, ATMEL, WELBORD, LG 等近百家IC 制造商都主产 51 系列兼容产

11、品,具有品种全、兼容性强、软硬件资料丰富等特点。因此,MCS- 51 应用非常广泛,成为继 MCS-48 之后最重要的单片机品种。直到现在 MCS-51 仍不失为单片机中的牡流机型。国内尤以 Intel 的 MCS-51 系列单片机应用最广。由于 8 位单片机的高性能价格比估计近十年内,8 位单片机仍3将是单片机中的主流机型。1.2.2 单片机技术的应用随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出很强的生命力。它和一般的集成电路相比有较好的抗干扰能力,对环境的温度和湿度都有较好的适应性,

12、可以在工业条件下稳定工作。且单片机广泛地应用于各种仪器仪表,使仪器仪表智能化,提高它们的测量速度和测量精度,加强控制功能。如 Mcs-51 系列单片机控制的“船舶航行状态自动记录仪” 、“烟叶水分测试仪” 、 “智能超声波测厚仪”等。单片机也广泛地应用于实时控制系统中,例如对下 SID 卜各种窑炉的温度、酸度、化学成分的测量和控制。将测量技术、自动控制技术和单片机技术相结合,充分发挥其数据处理功能和实时控制功能,使系统工作处于最佳状态,提高系统的生产效率和产品质量。从航空航天、地质石油、冶金采矿、机械电子、轻工纺织等行业的分布系统与智能控制以及机电一体化设备和产品,到邮电通信、日用设备和器械,

13、单片机都发挥了巨大作用。 其应用大致可分为以下儿方面:1机电一体化设备的控制核心机电一体化是机械设备发展的方向。单片机的出现促进了机电一体化技术的发展,它作为机电产品的控制器,充分发挥其自身优点,大大强化了机器的功能,提高了机器的自动化、智能化程度。最典型的机电产品机器人,每个关节或动作部位都是个单片机控制系统。2数据采集系统的现场采集单元大型数据采集系统,要求数据采集的同步性和实时性要好。使用单片机作为系统的前端采集单元,由主控计算机发出采集命令,再将采集到的数据逐一送到主计算机中进行处理。如有些气象部门、油田采油部门以及电厂等均可采用这样的系统。3分布控制系统的前端控制器在直接控制级的计算

14、机分布控制系统(DCS)中,单片机作为过程控制中每一分部操作或控制的控制器,进行数据采集、反馈计算、控制输出,并在上位机命令的指挥下进行相应协调工作。4第 2 章 元器件介绍2.1 单片机系统主机的选择2.1.1 单片机的主流系列及机型选择1Intel 公司的 MCS-48(8 位机):8 位 CPU,并行 I/O 口,8 位定时/计数器寻址范围不大于 4k,且无串行口,属于初级单片机,功能小,易于控制。2Intel 公司的 MCS-51(8 位机):多级中断处理系统,8 位定时/计数器。RAM,ROM 寻址范围可达 64k 字节,且带有串行 I/O 口,此类单片机应用领域极其广泛。且货源充足

15、,其在国内的主流的地位有可能稳定一个相当时期。3Intel 公司的 MCS-96(16 位机):多级中断处理系统。16 位定时/计数器。并行 I/O 口扩展,且带有串行口,属于高档单片机,功能强大,性能稳定,是今后单片机发展的主体方向。因考虑频率的显示程序中需使用串行输出,而 MCS-48 系列无串行口,且寻址范围过小,故不易实现产品的功能,MCS-51 系列单片机功能全面 ,可靠性高,容易达到产品的性能指标,且货源充足,性能价格比较高。MCS-96 虽功能强大 ,但本次设计频率计软件对单片机性能要求较低,且 MCS-96 价格昂贵故 MCS-51 系列能基本满足要求,是首要选择。MCS-51

16、 系列中又以 8031、8051、8751 为代表。它们之间最大的差别在于片内 ROM 的供应状态。在 8051 和 8751 中,片内有 4k 字节的 ROM/EPROM,而8031 片内无 ROM/EPROM,故如选择 8031,片外必须扩展 EPROM,由于 8031相对 8051、8751 供应状态相对充足,且性价比较高,故本设计中选用 8031 单片机作为控制芯片。2.1.2 8031 单片机特点8031 单片机采用 40 引脚双列直插封装(DIP)形式,对于 CMOS 单片机除采用 DIP 形式外,还采用方形封装工艺。MCS-51 单片机引脚及总线结构如图 2-1 所示。5图 2-

17、1 MCS-51 单片机引脚及总线结构(a) 管脚图;(b)8031 引脚功能分类由于受到引脚数目的限制,所以有一些引脚具有第二功能。在单片机的 40条引脚中,有两条专用于主电源的引脚,两条外接晶体的引脚,四条控制和其它电源复用引脚,32 条输入/输出引脚。下面分别说明这些引脚的名称和功能:1主电源引脚:Vcc 和 Vss Vcc(40 脚):正常操作、对 EPROM 编程和验证时接+5V 电源。 Vss(20 脚):接电源地。2时钟电路引脚:XTAL1 和 XTAL2XTAL1(19 脚):内部晶体振荡电路的反相放大器的输入端。使用内部振荡电路时接外部石英晶体和微调电容的一端;使用外部时钟时

18、,该引脚接地6XTAL2(18 脚):内部晶体振荡电路的反相放大器的输出端。使用内部振荡电路时,接外部石英晶体和微调电容的另一端;使用外部时钟时,该引脚用于输入外部时钟脉冲。3控制信号引脚: RST/Vpd(9 脚) ,RST 为复位信号输入端,在该引脚上保持两个机器周期(24 个部 RAM 备用电源输入端。当主电源 Vcc 一旦发生掉电或电压降低到一定值时,可通过 Vpd 是为单片机内部 RAM 提供电源,以保护片内 RAM 中的信息不丢失,使主电源恢复后能继续正常运行。4ALE/ (30 脚):地址锁存器使能输出/编程脉冲端。当 CPU 访问外部存储器时 ALE 的输出作为外部锁存地址的低

19、位字节的控制信号,当不访问外部存储器时,ALE 端仍以 1/6 的时钟振荡频率固定地输出正脉冲。另外,在对MCS8051 片内 EPROM 编程(固化)时,此引脚用于输入编程脉冲。5(29 脚):程序存储允许输出。是片外部程序存储器 ROM 的读选通信号。从片外程序存储器取数时,每个机器周期内 激发两次(然后,当执行片外程序存储器存取时, 在每次存取片外数据存储器时,有两个脉冲是不出现的) 。从内程序存取时不激发 。对 8031 而言,访问外部程序存储器时,将 PC 的十六位地址输出到 P2 口和P0 口外部的地址寄存储器后, 产生负脉冲选通片外程序存储器。相应的存储单元的指令字节送到 P0

20、口,供 8031 读取。6Vpp(31 脚):外部访问允许/编程电源输入。当 端输入高电平时,CPU执行程序。低 4KB(0000H0FFFH)地址范围内,访问片内程序存储器,在程序计数器 PC 的值超过 4KB 地址时,将自动转向执行片外程序存储器的程序。当EA 输入低电平时,CPU 仅访问片外程序存储器。7输入/输出(I/O)引脚:P0,P1,P2 和 P3。P0 口(P0.0P0.7):第一功能是作 8 位漏极开路型的双向 I/O 端口;第二功能是在访问外部存储器时,分时作低 8 位地址总线和 8 位数据总线使用。在对8031 片内 EPROM 进行编程和效验时,P0 口用于传送低 8

21、位地址和编程代码。P0 口每位都能驱动 8 个 LSTTL 负载。P1 口(P1.0P1.7):作内部带上拉电阻的 8 位准双向 I/O 口线。P1 口每位能驱动 4 个 LSTTL 负载。P2 口(P2.0P2.7):第一功能是作内部带上拉电阻的 8 位准双向 I/O 端口;第二功能是在访问外部存储器时,作高 8 位地址总线。在对 8031 片内 EPROM7进行编程和效时,P2.7、P2.6 用于操作方式控制,P2.3P2.0 接收高 4 位地址(4KB EPROM 需 12 位地址 P2 口每位能驱动 4 个 LSTTL 负载。P3 口(P3.0P3.7):P3 口是 8 位准双向 I/

22、O 端口,它是一个复用功能口。作为第一功能 使用时,为普通 I/O 口,作为第二功能使用时,各引脚的定义如表2-1。表 2-1 P3 口各线的第二功能表P3 口特殊功能说明P3.0RXD串行输入口P3.1TXD串行输出口P3.2外部中断 0 请求输入线P3.3外部中断 1 请求输入线P3.4T0定时器/计数器 0 外部计数脉冲输入线P3.5T1定时器/计数器 1 外部计数脉冲输入线P3.6 外部数据存储器写脉冲输出线P3.7外部数据存储读脉冲输出线2.1.3 总线结构1地址总线:地址总线宽度为 16 位。2数据总线:总线宽度为 8 位,由 P0 口提供 P0.0P0.7。3控制总线:由 P3

23、口第二功能状态和 4 根独立控制线组成。主要性能:内部程序存储器:4KB内部数据存储器:128B外部程序存储器:可扩展到 64KB。外部数据存储器:可扩展到 64KB。并行口输入/输出线:32 根(4 个端口,每个端口 8 根) 。定时/计数器:2 个 16 位可编程的定时计数器。8串行口:全双工,二根。寄存器区:在内部数据存储器的 128KB 中划出一部分作为寄存器区,分为四个区,每个区 8 个通用寄存器。中断源:5 个中断源,2 个优先级别。布尔处理机:即位处理机,对某些单元的某位做单独处理指令系统(系统时钟为 12MHZ 时):大部分指令执行时间为 1us;少部分指令执行时间为 2us;

24、 只有乘、除指令的执行时间为 4us。 2.2 温度传感器在本次的设计中,我所采用的是热电阻。热电阻测温的基础是大多数金属导体的电阻率温度升高而增大,具有正的温度系数。在工业上广泛应用的热电阻温度计一般用来测量-200+500范围的温度,随着科学技术的发展热电阻温度计的测量范围低温端可达 1K 左右,高温端可测到 1000。热电阻温度计的特点是精度高,适宜于测低温。在 560以下的温度测量时,它的输出信号比热电偶容易测量。(1)纯金属是热电阻的主要制造材料,热电阻的材料应具有以下的特性:电阻温度系数要大而且稳定,电阻值与温度之间应具有良好的线性关系。电阻率高,热容量小,反应速度快。材料的复现性

25、和工艺性好,价格低。在测温范围内化学物理特性稳定。(2)铂电阻目前,在工业中应用最广的铂和铜,并已制作成标准温热电阻。铂电阻的特点是精度高,稳定性好,性能可靠。铂在氧化性气氛中,甚至在高温下的物理、化学性质都非常稳定。因此铂被公认为是目前制造热电阻的最好材料。铂电阻与温度之间的关系接近于线性,在 0630.74范围内可用下式表示:Rt=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.

26、22*10-12/。由上面的两个式子可以看出,当 R0 值不同时,在同样的温度下,其 Rt 值也不同。目前国内统一设9计的一般工业用标准铂电阻值 R0 有 100 欧和 500 欧两种,并将电阻值 Rt 与温度t 的相应关系统一列成表格称其为铂电阻的分度表,分度号分别用 Pt100 和 Pt500表示。铂电阻在常用的热电阻中准确度最高,国际温标 ITS-90 中还规定,将具有特殊构造的铂电阻作为 13.5033K-961.78标准温度计来使用。铂电阻广泛应用于-200850范围内的温度测量,工业中通常在 600以下。2.3 2864A 介绍2E PROM电擦除电可编程只读存储器是近年来被广泛应

27、用的一种新产品。其2E PROM优点是能使 CPU 在线修改其中的数据,并可在断电情况下保存数据,集 EPROM和 RAM 功能一体。Intel2864A 是 8k8 位,单5V 供电,最大工作电流为 140mA,2E PROM维持电流 60mA,其 24 脚的管脚及原理图见图 2-2。由于片内设有编程所需的高压脉冲产生电路,因此无需外加编程电源和写入脉冲。图 2-2 2864A 管脚及原理框图(a) 管脚;(b) 原理图2864A 有 4 种工作方式,如表 2-2 所示。10表 2-2 2864A 工作方式控 制 脚方 式CEOEWEI/I/0O7O读 出LLH输出信息写 入LHL数据输出维

28、 持HXX高 阻禁止写XLX禁止写XXH1维持和读出方式:2864A 的维持和读出方式与普通 EPROM 完全相同。2写入方式:2864A 提供了两种数据写入操作方式,即字节写入和页面写入。3数据查询方式:数据查询方式是指用软件来检测写操作中的“页存储”周期是否完成。在“页存储”期间,如进行写操作,读出的是最后写入的字节,若芯片的转储工作未完成,则读出数据的高位是原来写入字节最高位的反码,据此,CPU 可判断芯片的编程是否结束。2846A 与 8031 的接口电路如图 2-3 所示。11图 2-3 2864A 与 8031 的接口电路2.4 ADC0809 介绍A/D 转换电路很多,选择 A/

29、D 转换器件主要从速度.精度和蔼价格等方面行考虑,根据 A/D 转换器的工作原理,可以分为下面的三种类型:并行 A/D 变换器:速度高,价格也很昂贵,用于高速(如视频处理场合) 。逐次逼近型 A/D 转换器:精度速度价格方面比较折衷,是最常用的一种A/D 转换器。双积分型 A/D 转换器:精度高,抗干扰能力強,价格低,但是速度慢,常用于測量仪表等场合。2.4.1 ADC0809 转换器及其接口电路ADC0809 是 8 位 CMOS 逐次逼近式 A/D 转换器。内部有 8 路模拟量输入通道和 8 位数字量输出的 A/D 转换器,它是美国国家半导体公司的产品,是目前国内最广泛的 8 位通用的 A

30、/D 转换的芯片。启动信号为脉冲启动方式,最大可调误差为1LSB。ADC0809 内部设有时钟电路,故 CLK 时钟需由外部输入。其内部结构图如下图 2-4 所示。12图 2-4 ADC0809 的内部结构片内带有锁存功能的 8 路模拟多路开关,可对 8 路输入模拟信号分时转换,具有多路开关的地址译码和锁存电路、8 位 A/D 转换器和三态输出锁存器等。在时钟脉冲的同步下,控制逻辑先使 N 位寄存器的 D7 位置 1(其余位为 0),此时该寄存器输出的内容为 80H,此值经 DAC 转换为模拟量输出 VN,与待转换的模拟输入信号 VIN 相比较,若 VIN 大于等于 VN,则比较器输出为 1.

31、于是在时钟脉冲的同步下,保留 D7=1,并使下一位 D6=1,所得新值(C0H)再经 DAC 转换得到新的VN,再与 VIN 比较,重复前述过程.反之,若使 D7=1 后,经比较,若 VIN 小于 VN,则使D7=0,D6=1,所得新值 VN 再与 VIN 比较,重复前述过程.依次类推,从 D7 到 D0 都比较完毕,转换便结束.转换结束时,控制逻辑使 EOC 变为高电平,表示 A/D 转换结,此时的 D7D0 即为对应于模拟输入信号 VIN 的数字量。如图 2-5 所示 ADC0809与 8031 的接口电路。图 2-5 ADC0809 与 8031 的接口电路132.4.2 ADC0809

32、 引脚介绍ADC0809 采用双列直插式封装,共有 28 条引脚,如 2-6 图所示。图 2-6 ADC0809 引脚图1. IN0-IN7IN0IN7 为 8 路模拟电压输入线,用于输入被转换的模拟电压2. ADDA,ADDB,ADDC三位地址输入端。八路模拟信号转换选择同由 ABC 决定。A 为低位,C 为高位。A、B、C 三位地址的输入与 8 路通道的对应关系如下:表 2-3 A、B、C 三位地址的输入与 8 路通道的对应关系ABC 三位地址的输入与 8 路通道的对应关系C00001111地址编B0011001114码A01010101选中通道IN0IN1IN2IN3IN4IN5IN6I

33、N73. CLK外部时钟输入端,时钟频率高,A/D 转换速度快。允许范围为 10-1280KHZ,典型值为 640KHZ,此时,A/D 转换时间为 10us。通常由 MCS-51 型单片机 ALE 端直接或分频后与其相连。当 MCS-51 型单片机无读写外,RAM 操作时,ALE 信号固定为 CPU 时钟频率的 1/6,若单片机外接的晶振为 6MHZ,则1/6 为 1MHZ,A/D 转换时间为 64us。4. D0-D7数字量输出端,A/D 转换的结果由这几个端口输出。5. OEA/D 转换结果输出允许控制端,当 OE 端为高电平时,允许将 A/D 转换结果从 D0-D7 端输出。通常由 MC

34、S-51 型单片机的 RD 端和 ADC0809 片选端(例如P2.0),通过或非门与 ADC0809 的 OE 端相连接。当 DPTR 为 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 转换

35、。START 端与 ALE 端连在一起,由 MSC-51 型单片机 WR 和ADC0809 片选端(例如 P2.0) 。通过或非门连接,当 DPTR 为 FEF8H 时,执行“MOVX DPTR,A”指令后,将启动 ADC0809 模拟通道 0 的 A/D 转换。FEF8HFEFFH 分别为八路模拟输入通道的地址。执行 MOVX 写指令,并非真的将 A 中的内容写进 ADC0809 中,ADC0809 中没有一个寄存器,能容纳的 A 中的内容。ADC0809 的输入通道是 IN0IN7,输出通道是 D0D7,因此,执行:“MOVX DPTR,A”指令与 A 中内容无关,但 DPTR 地址应指向

36、当前 A/D 的通道地址。158. EOCA/D 转换结束信号。当 ADC0809 启动 A/D 转换后,EOC 输出低电平,转换结束后,EOC 输 出高电平,表示可以读取 A/D 转换的结果。该信号取反后若与MCS-51 型单片机引脚 INT0 或 INT1 连接,可引发 CPU 中断,在中断服务程序中读 A/D 转换的数字信号,若与 MCS-51 型单片机两个中断源已用完,则 EOC也可与 P1 口或 P3 口的一条端线相连,不采用中断方式,采用查询方式,查得EOC 为高电平后,再读入 A/D 转换的值。9. VREF+,VREF-正负基准电压输入端。正基准电压的典型值为+5V,可与电源电

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

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

39、。LED 数码管的使用与发光二极管相同,根据其材料不同正向压降一般为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-4 表

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

41、编码表。表 2-5 共阴和共阳 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 H10 0 0 0 0 1 1 006H0 1 1 0 0 0 0 0 60H79HF9 H20 1 0 1 1 0 1 15BH1 1 0 1 1 0 1 0DAH 24HA4 H30 1 0 0 1 1 1 14FH1 1 1 1 0 0 1 0F2H30HB0 H40 1 1 0 0 1 1 066H

42、0 1 1 0 0 1 1 066H19 H99 H50 1 1 0 1 1 0 16DH1 0 1 1 0 1 1 0B6H12 H92 H60 1 1 1 1 1 0 17DH1 0 1 1 1 1 1 0BEH02 H82 H70 0 0 0 0 1 1 107H1 1 1 0 0 0 0 0E0H78 HF8 H80 1 1 1 1 1 1 17FH1 1 1 1 1 1 1 0FEH00 H80 H90 1 1 0 1 1 1 16FH1 1 1 1 0 1 1 0F6H10 H90 HLED 数码管显示电路在单片机应用系统中可分为静态显示方式和动态显示方式。2.5.2 静态显示方式

43、此时,每一位显示器的字段需要一个 8 位 I/O 口控制,而且该 I/O 口须有锁存功能,N 位显示器就需要 N 个 8 位 I/O 口,公共端可直接接+5V(共阳)或接18地(共阴) 。显示时,每一位字段码分别从 I/O 控制口输出,保持不变直至 CPU刷新显示为止。 2.5.3 动态扫描显示方式当要求显示位数较多时,为了简化电路、降低硬件成本,通常采用动态扫描显示电路。所谓动态扫描显示电路是将显示各位的所有相同字段线连在一起,每一位的 a 段连在一起,b 段连在一起g 段连在一起,共 8 段,由一个 8 位 I/O 口控制,而每一位的公共端(共阳或共阴 COM)由另一个 I/O 口控制,如

44、图 7 所示这种连接方式由于将多位字段线连在一起,当输出字段码时,由于多门同时选通,每一位将显示相同的内容。因此,要想显示不同的内容。必须采取轮流显示的方式。即在某一瞬间时,只让某一位的字位线处于选通状态,其他各位的字位线处于开断状态,同时字段线上输出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位暗。同样在下一瞬时,单独显示下一样,这样依次轮流显示,循环扫描。由于人的视觉滞留效应,人们看到的是多位同时稳定显示。19第 3 章 系统硬件设计系统的硬件电路包括主机、温度检测、温度控制、人机对话(键盘/显示/报警)4 个主要部分。下面对各部分电路分述如下。3.1 主机由于系统控

45、制方案简单,数据量也不大,因此选用 8031 作为控制系统的核心,外扩 EPROM2764 作为程序存储器。也可视具体情况换用8051、8052、8751、8752、80C51、89C51、89C52 等。其中,8051、8052、8751、8752 的各个引脚输入/输出电平只与 TTL 电平兼容;89C51、89C52、80C51 各引脚输入/输出电平既与 TTL 电平兼容,也与 CMOS 电平兼容。图 3-1 为系统的结构框图。A/D20图 3-1 电烤箱控制系统结构框8031 的晶振频率为 6 MHz。由于 8031 无片内 ROM,故 EA 应接地,使用片外 ROM。8031 的 P0

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

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

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

49、RT 引脚上。由于 ALE 和 START 连接在一起,因此 ADC0809 在锁存通道地址的同时也启动转换。在读取转换结果时,用单片机的读信号 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 转换器。电路设计好

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

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

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

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

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

55、预定温度;温度设定好后就可以按启动键启动系统工作了。温度检测系统不断定时检测当前温度,并送往显示器显示,达到预定值后停止加热并显示当前温度;当温度下降到下限(比预定值低 2)时再启动加热。这样不断重复上述过程,使温度保持在预定温度范围之内。启动后不能再修改预置温度,必须按复位/停止键回到停止加热状态再重新设定预置温度。4.2 功能模块根据上面对工作流程的分析,系统软件可以分为以下几个功能模块:(1) 键盘管理:监测键盘输入,接收温度预置,启动系统工作。(2) 显示:显示设置温度及当前温度。(3) 温度检测及温度值变换:完成 A/D 转换及数字滤波。24(4) 温度控制:根据检测到的温度控制电炉

56、工作。(5) 报警:当预置温度或当前炉温越限时报警。4.3 资源分配为了便于阅读程序,首先给出单片机资源分配情况。数据存储器的分配与定义见表 4-1。表 4-1 温度控制软件数据存储器分配表地 址功 能名 称初始化值50H51H当前检测温度,高位在前TEMP1TEMP000H52H53H预置温度,高位在前ST1ST000H54H56HBCD 码显示缓冲区,百位、十位、个位T100,T10,T00H57H58H二进制显示缓冲区,高位在前BT1,BT000H59H7FH堆栈区PSW.5报警允许标志F0=0 时禁止报警;F0=1 时允许报警F00程序存储器:EPROM2764 的地址范围为 0000

57、H1FFFH25I/O 口:P1.0P1.3键盘输入;P1.6、P1.7报警控制和电炉控制。A/D 转换器 0809:通道 0通道 7 的地址为 7FF8H7FFFH,使用通道 0。4.4 功能软件设计4.4.1 主程序和中断服务子程序主程序采用中断嵌套方式设计,各功能模块可直接调用。主程序完成系统的初始化,温度预置及其合法性检测,预置温度的显示及定时器 0 设置。定时器 0中断服务子程序是温度控制体系的主体,用于温度检测、控制和报警(包括启动A/D 转换、读入采样数据、数字滤波、越限温度报警和越限处理、输出可控硅的控制脉冲等) 。中断由定时器 0 产生,根据需要每隔 15 s 中断一次,即每

58、 15 s 采样控制一次。但系统采用 6 MHz 晶振,最大定时为 130 ms,为实现 15 s 定时,这里另行设了一个软件计数器。主程序和中断服务子程序的流程图如图 4-5 所示。0115 sYN0026图 4-5 系统程序总体结构框图主程序 MAIN :(数据缓冲区的定义和初始化部分从略) ORG 0000H AJMPMAIN ORG 000BH AJMPPT0 ORG 0030HMAIN: MOV SP,#59H ; 设定堆栈指针 MOV TMOD,#01H ; 定时器 0 初始化MOV TL0,#0B0H ; 定时器定时时间 100 ms MOVTH0,#3CH MOVR7,#150

59、;置 15 s 软计数器初值 ACALLKIN;调键盘管理子程序 SETBET0;允许定时器 0 中断 SETBEA;开中断 SETBTR0;启动定时器 0 SJMP$定时器 0 中断服务子程序 PT0:PT0: MOVTL0,#0B0HMOVTH0,#3CH ;重置定时器 0 初值DJNZR7,BACK ;15 s 到否,不到返回MOVR7,#150 ;重置软计数器初值ACALL TIN ;温度检测MOV BT1,TEMP1 ;当前温度送显示缓冲区MOV BT0,TEMP0 ACALL DISP ;显示当前温度27ACALL CONT ;温度控制 LCALL ALARM ;温度越限报警BAC

60、K:RETI4.4.2 键盘管理模块上电或复位后系统处于键盘管理状态,其功能是监测键盘输入,接收温度预置和启动键。程序设有预置温度合法检测报警,当预置温度超过 500时会报警并将温度设定在 500。键盘管理子程序流程图如图 4-1 所示。图 4-1 键盘管理子程序流程图AP1.10P1.20P1.30P1.00100A10A1AAAYNYNNYYYNNNYNY28键盘管理子程序 KIN:KIN: ACAL CHK ;预置温度合法性检测 MOV BT1,ST1 MOV BT0,ST0 ;预置温度送显示缓冲区 LCALL DISP ;显示预置温度KIN0: ACALL KEY ;读键值 JZ KI

61、N0 ;无键闭合和重新检测 ACALL DISPACALL DISP ;二次调用显示子程序延时去抖 ACALLKEY ;再检测有无键按下 JZ KIN0;无键按下重新检测 JB ACC.1,S10 MOV A,#100;百位键按下 AJMP SUMS10: JB ACC.2,S1 MOVA,#10;十位键按下 AJMP SUMS1: JB ACC.3,S0 MOVA,#01 ;个位键按下SUM: ADD A,ST0;预置温度按键+1 MOVST0,A MOVA,#00H ADDCA,ST1 MOVST1,AKIN1: ACALL KEY;判断闭合键释放 JNZ KIN1;未释放继续判断 AJM

62、P KIN;闭合键释放继续扫描键盘S0: JNB ACC.0,KIN;无键按下重新扫描键盘 RET;启动键按下返回KEY: MOVA,P1;读键值子程序29 CPLA ANLA,#0FH RET预置温度合法性检测子程序 CHK(用双字节减法比较预置温度是否大于500(01F4H):CHK:MOVA,#0F4H ;预置温度上限低 8 位送 ACLRCSUBBA,ST0;低 8 位减,借位送 CYMOVA,#01H;预置温度上限高 8 位送 ASUBBA,ST1;高 8 位带借位减JC OUTA ;预置温度越界,转报警MOVA,#00H;预置温度合法标志RETOUTA: MOVST1,#01H ;

63、将 500 写入预置温度数据区 MOV ST0,#0F4H CLR P1.6;发报警信号 0.6 sACALL D0.6s SETBP1.6;停止报警RET4.4.3 显示模块 显示子程序的功能是将显示缓冲区 57H 和 58H 的二进制数据先转换成三个BCD 码,分别存入百位、十位和个位显示缓冲区(54H、55H 和 56H 单元) ,然后通过串口送出显示。显示子程序 DISP: DISP: ACALL HTB ;将显示数据转换为 BCD 码 MOV SCON,#00H ;置串行口为方式 0 MOV R2,#03H ;显示位数送 R2 MOV R0,#T100 ;显示缓冲区首地址送 R0LD

64、: MOV DPTR,#TAB ;指向字型码表首地址 MOV A,R0 ;取显示数据 MOVC A,A+DPTR ;查表30 MOV SBUF,A;字型码送串行口WAIT: JBC TI,NEXT;发送结束转下一个数据并清中断标志 SJMP WAIT;发送未完等待NEXT: INCR0 ;修改显示缓冲区指针 DJNZ R2,LD;判 3 位显示完否,未完继续 RETTAB: COH F9H A4H BOH 99H 92H 82H F8H 80H 90H BCD 码转换子程序 HTB: HTB: MOVA,BT0;取二进制显示数据低 8 位MOVB,#100 ;除 100,确定百位数DIVABM

65、OVT100,A;百位数送 54H 单元MOVA,#10 ; 除 10,确定十位XCH A,B DIV A,B MOV T10,A ;十位数送 55H 单元 MOV T,B ;个位数送 56H 单元 MOV A,BT1 ;取二进制显示数据高 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,T

66、10 DA A;十位加 5(十进制加) MOVT10,A;结果送回十位 MOVA,#02H31 ADDCA,T100 DA A;百位加 2(十进制加) MOVT100,A;结果送回百位RET4.4.4 温度检测模块A/D 转换采用查询方式。为提高数据采样的可靠性,对采样温度进行数字滤波。数字滤波的算法很多,这里采用 4 次采样取平均值的方法。如前所述,本系统 A/D 转换结果乘 2 正好是温度值,因此,4 次采样的数字量之和除以 2 就是检测的当前温度。检测结果高位存入 50H,低位存入 51H。温度检测子程序流程图如图 4-2 所示。 图 4-2 温度检测子程序流程图4R2A/D851H850HAR2-10A42YNNY32温度检测子程序 TIN:TIN: MOV TEMP1,#00H ;清检测温度缓冲区 MOV TEMP0,#00H MOV R2,#04H ;取样次数送 R2 MOV DPTR,#7FF8H ;指向 A/D 转换器 0 通道 LTIN1: MOVX DPTR,A ;启动转换HERE:JNB IE1,HERE ;等待转换结束 MOVX A,DPTR ;读转换结果ADD

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!