毕业论文-基于AT89C52单片机的多点温度巡回检测系统的设计.doc_第1页
毕业论文-基于AT89C52单片机的多点温度巡回检测系统的设计.doc_第2页
毕业论文-基于AT89C52单片机的多点温度巡回检测系统的设计.doc_第3页
毕业论文-基于AT89C52单片机的多点温度巡回检测系统的设计.doc_第4页
毕业论文-基于AT89C52单片机的多点温度巡回检测系统的设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

多路监测仪 目 录 1 引言 1 1.1 本设计的意义 1 1.2 国内外现状分析 1 1.3 论文的主要内容 2 2 系统总体方案设计 2 3 硬件部分设计 3 3.1 AT89C51 介绍.3 3.1.1 主要性能 3 3.1.2 引脚功能说明 4 3.2 传感器模块部分设计 4 3.2.1 AD590 主要特性.5 3.2.2 与 ADC0809 接口 6 3.3 数模转换部分硬件设计 6 3.3.1 ADC0809 介绍.7 3.3.2 ADC0809 各管脚功能.7 3.3.3 硬件连接电路 8 3.4 LED 显示电路的设计.9 3.4.1 LED 数码管.9 3.4.2 LED 数码管编码方式10 3.4.3 LED 数码管显示方式和典型应用电路11 3.5 报警电路的设计 .12 3.6 整体电路图 .13 4 软件部分设计 .14 4.1 A/D 转换程序流程图14 4.2 显示程序流程图 .14 4.3 报警程序流程图 .15 4.4 主程序流程图 .15 结束语 .18 参考文献 .19 附录 .20 多路监测仪 1 1 引言 1.1 本设计的意义 随着电子技术、计算机技术、通信技术的迅速发展,工业测控领域采用先进的技 术对现场的工业生产参数进行检测,监测是实现工业自动化的重要标志。据不完全统 计,在工业生产中被监测最多的参数应该是压力、流量、温度三大参数。无论在石油、 化工、煤炭、水利等行业,还是电力、机械、航空、国防等部门,都离不开对这些参 数的监测。当然除此之外,还有诸如液位、扭矩、密度、浓度、速度、位移、距离、 电参数等众多物理参数的监测,但用的最多的恐怕还是温度的监测,可以说温度的测 量是一个“永恒”的话题。温度测量的领域十分广泛,其实,不仅在工业领域,而且 在民用领域、军用领域,温度的测量随处可见。在工业领域,电力系统的安全运行关 系到整个工业的发展和人民生活的稳定,其中一个重要的方面是电气设备自身的安全 运行,由于绝大多数的电气设备采用封闭式结构,散热效果差,热积累大,并长期处 于高电压、大电流和满负荷运行,其结果造成热量集结加剧,温升直接危害电器设备 的绝缘,这就要求对电气设备的温度状况进行测量控制。如发电厂的发电机组随着电 压增高和容量增大,解决定子铁心和绕组温升的问题就日益突出。对全封闭的高压开 关电器,也存在对其开关触头温度的监测问题,电机的轴温,胶带滚筒的表面温度, 工业冷却循环水温,加热设备的炉温,啤酒的麦芽发酵温度,各种化工原料在化学反 应时控制的温度等等。在民用领域,超市的食品架内温度,人们生活空间环境的温度, 空调的控制温度,人体繁荣体温检测,冰箱、冰柜的温度测量等等。随着计算机的发 展,程序控制也逐渐成为了工业生产中的主要角色,各种各样的检测系统应运而生。 基于单片机的温度检测系统具有以前温度检测所无法具有的优点,因为系统为程序控 制,所以实现形式非常灵活,而且可以实现很多新功能,而且对于日益复杂化的工业 生产,对于多点温度检测的需求也很大程度上提高了。单片机系统具有体积小,功耗 小的特点,而且可以对采集的数据进行软件处理,所以用单片机进行多路温度检测, 具有非常实际的意义。 1.2 国内外现状分析 随着世界进入信息化时代,自动化、信息化成为世界各国发展重要方向之一。传感器 作为自动化和信息系统的前端器件,是制造业自动化和信息化的基础;现代传感器技 术集约了多种学科的尖端成果、是国际上发展最迅速的高新技术之一;是传统产业技 术改造和升级的“功效倍增器”,成为衡量一个国家科技发展的重要指标。单片机是 完全按嵌入式系统要求设计的单芯片形态的嵌入式系统,它广泛应用在中、小型工控 多路监测仪 2 领域,是电子系统智能化的最重要的工具。温度传感器也从传统类型向集成化、微型 化、多功能发展,且随着材料行业对传感器敏感材料进一步的开发,传感器新敏感材 料不断推出,高新材料已广泛用于新型传感器制造研发中,如光纤传感器,光纤传感 器等等,我国与国外先进国家相比,还处于落后状态。本设计主要涉及到微控制器和 温度传感器的应用。二者的发展直接影响着温度检测方面的设计和应用。 1.31.3 单片机的概念和特点单片机的概念和特点 现代社会中,尽管 PC 机的应用已经相当普遍,但是,在工控领域,在日益追求 小而精、轻而薄的自动化控制器、自动化仪器仪表、家电产品等方面,PC 机仍有所不相 适宜的地方。而工业控制、仪器仪表、家电产品等市场广阔,要求 PC 机技术与之相适 应。在这种情况下,单片机应运而生了(也称作微型计算机) 。 微型计算机的基本机构是由中央处理器、储存器、和 I/O 设备构成的。所谓的单片机 是指将微型计算机 3 个单元的多个分体中的主要功能用 1 个集成电路芯片来实现,该 芯片具有一个微型计算机的基本功能。这种超大规模集成电路芯片即称为单片微型计 算机,通常简称单片机。 单片机具有以下特点: (1) 受集成度限制,片内存储容量较小,一般 8 位单片机的 ROM 小于 8/16K 字节, RAM 小于 256 字节,但可在外部扩展,通常 ROM、RAM 可分别扩展至 64K 字节。 (2) 可靠性好。芯片本身是按工业测控环境要求设计的,其抗工业噪声干扰优于一般 通用 CPU;程序指令及常数、表格固化在 ROM 中不易破坏;许多信号通道均在一个芯片 内,故可靠性高。 (3) 易扩展。片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三 总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。 (4) 控制功能强。为了满足工业控制要求,一般单片机的指令系统中具有极丰富的条 件分支转移指令、I/O 口的逻辑操作以及位处理功能。一般说来,单片机的逻辑控制功 能及运行速度均高于同一档次的微处理器。 (5) 一般单片机内无监控程序或系统通用管理软件,只放置有用户调试好的应用 程序。但近年来也开始出现了在片内固化有 BASIC 解释程序的单片机。 1.41.4 单片机的发展与趋势单片机的发展与趋势 多路监测仪 3 由于单片机具有以上特点,因此在工业控制、数据采集、智能仪器仪表、智能化 设备和各种家用电器等领域得到广泛的应用。随着微电子工艺水平的提高,近十年来 单片微型计算机有了飞速的发展。归纳起来,它是沿着两条路发展的: 1.改进集成电路制造工艺,提高芯片的工作速度,降低工作电压和降低功耗: 2.在保留共同的 CPU 体系结构,最基本的外设装置(如异步串行口,定时器等)和一 套公用的指令系统的基础上,根据不同的应用领域,把不同的外设装置集成到芯片内, 在同一个家族内繁衍滋生出各种型号的单片机。另外在单片机的应用中,可靠性是首 要因素,为了扩大单片机的应用范围和领域,提高单片机自身的可靠性是一种有效方 法。近年来,单片机的生产厂家在单片机设计上采用了各种提高可靠性的新技术,主 要表现在一下几点: (1) EFT(Electrical Fast Transient)技术 (2) 低噪音布线技术及驱动技术 (3) 采用低频时钟 总之,单片机在目前的发展形势下,表现出几大趋势: 可靠性及应用水平越来越高,和 internet 连接已是一种明显的走向; 所集成的部件越来越多; 功耗越来越低; 和模拟电路结合越来越多。 1.5.1.5.单片机选择单片机选择 本系统采用单片机为控制核心。单片机/MCU 主要有 51 基本型和 52 增强型, 而相比之下 52 型比 51 型功能更为强大,ROM 和 RAM 存储空间更大,52 还兼容 51 指令 系统。基于本系统设计内容的需要,综合考虑后,我们选择单片机 ATME 公司的 AT89C52 为控制核心;主要基于考虑 AT89C52 是一个低电压,高性能 CMOS 8 位单片机, 片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据 存储器(RAM) 、6 个中断源;时钟频率 0-24MHz;器件采用高密度、非易失性存储技术 生产,并兼容标准 MCS-51 指令系统,功能强大。 (2)AT89C52 介绍 AT89C52 是美国 ATMEL 公司生产的低电压,高性能 CMOS 8 位单片机,片内含 8K 多路监测仪 4 bytes 的可反复擦写的只读程序存储器(PEROM)和 256K bytes 的随机存取数据存储器, 器件采用 ATMEL 公司的高密度,非易失性存储技术生产,与标准 MCS-51 指令系统及 8052 产品引脚兼容,片内置通用 8 位中央处理器和 FLASH 存储单元,功能强大, AT89C52 单片机适合于许多较为复杂控制应用场合。 主要性能参数: 与 MCS-51 产品指令和引脚完全兼容 8K 字节可重擦写 FLASH 闪存存储器 1000 次写/擦循环 时钟频率:0Hz24MHz 三级加密存储器 256 字节内部 RAM 32 个可编程 I/O 口线 3 个 16 位定时/计数器 图 3.1 引脚图 6 个中断源 可编程串行 UART 通道 低功耗的空闲和掉电模式 片内振荡器和时钟电路 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断 口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,片内振荡器及 时钟电路,AT89C52可以按照常规方法进行编程,也可以在线编程。同时,AT89C52可 降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的 工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。其 将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有 效地降低开发本.AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产 品的需求。 AT89C52引脚功能: Vcc:电源电压 多路监测仪 5 GND:地 P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总线复用口。作 为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口 P0 写“1” 时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数 据总线复用,在访问器件激活内部上拉电阻。 在 Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时, 要求外接上拉电阻。 P1 口:P1 是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动 (吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内部的上拉电阻把端口 拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚 被外部信号拉低时会输出一个电流(IIL) 。 与 AT89C51 不同之处是,P1.0 和 P1.1 还可分别作为定时/计数器 2 的外部计数输 入(P1.0/T2)和输入(P1.1/T2EX),参见表 2-1。 Flash 编程和程序校验期间,P1 接收低 8 位地址。表 2-1 为 P1.0 和 P1.1 的第二 功能 表 3-1 P1.0 和 P1.1 的第二功能 P2 口:P2 是一个带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸 收或输出电流)4 个 TTL 逻辑门电路。对端口 P2 写“1” ,通过内部的上拉电阻把端口 拉到高电平,同时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚 被外部信号拉低时会输出一个电流(IIL) 。 在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVDPTR 指令) 时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVRI 指 令)时,P2 口输出 P2 锁存器的内容。 Flash 编程或校验时,P2 亦接收高位地址和一些控制信号。 引引脚脚号号功功能能特特性性 P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出 P1.1T2EX(定时/计数2捕获/重装载触发和方向控制) 多路监测仪 6 P3 口:P3 口时一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱 动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时,它们被内部上拉电 阻拉高并可作为输入端口。此时,被外部拉低的 P3 口将用上拉电阻输出电流(IIL) 。 P3 口作为一般的 I/O 口线外,更重要的用途是它的第二功能,如表 2-2 所示: 此外,P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单 片机复位。 ALE/:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉 冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的 1/6 输出固定的 脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据 存储器时将跳过一个 ALE 脉冲。 表 3-2 P3 口第二功能 端口引脚第二功能 P3.0RXD(串行输入口) P3.1TXD(串行输出口) P3.2(外中断 0) P3.3(外中断 1) P3.4T0(定时/计数器 0) P3.5T1(定时/计数器 1) P3.6(外部数据存储器写选通) P3.7 (外部数据存储器读选通) 对 Flash 存储器编程器件,改引脚还用于输入编程脉冲() 。 如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位复位,可禁 止 ALE 操作。该位置复位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该 引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。 :程序储存允许()输出是外部程序存储器的读选通信号,当 AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉 冲。在次期间,当访问外部数据存储器,将跳过两次信号。 多路监测仪 7 /VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000H-FFFH) , 端必须保持低电平(接地) 。需要注意的是:如果加密位 LB1 被编程,复位时内部会 锁存端状态。 如端为高电平(接 Vcc 端) ,CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上12V 的编程允许电源 Vpp,当然这必须是该器 件是使用 12V 编程电压 Vpp。 XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 1.5 论文的主要内容 本文首先介绍了本设计的现实意义,然后分析了在国内外的现状。从整体方案上 给出介绍,即先介绍系统整体方案,给出系统方框图,按模块化划分,逐个模块介绍, 然后总体说明。第三部分是硬件部分设计,系统详细的介绍设计中的主控单元-单 片机及各个模块,包括传感器模块的设计,数模转换部分硬件设计,显示部分电路设 计,报警电路的设计等等,最后给出整个系统的电路原理图。第四部分是软件部分的 设计,其中涵盖了,主程序流程图、A/D 转换程序流程图、显示程序流程图、报警程序 流程图等及相关流程图的文字说明。 2 系统总体方案设计 温度采集A/D转换 单片机送显示 告警 超 出范围 图 1 设计框图 如图 1 所示,本设计共有五部分组成:温度采集,A/D 转换,单片机,显示电路, 告警电路等,其中温度采集主要由 AD590 组成,把热力学温度信号转换成电流信号, 然后放大,经电阻分压获得电压信号,送入 A/D 转换电路即 ADC0809 后得到 8 位的数 多路监测仪 8 字温度信号,送入单片机,由单片机的 TXD,RXD 串行(高位在前,地位在后)送入显 示电路显示,并且判断是否超出设定范围,若超出设定范围,由单片机启动告警电路, 告警。 本设计是模拟温度的显示,温度经过 AD590 转换为电流信号,经放大器放大后通 过电阻转换成电压信号,进入 ADC0809 进行 A/D 转换成数字量,送入单片机后输出到静 态显示部分,显示其温度值。在该设计中,显示部分采用 74LS164 串联组成驱动 LED 部分,这样既达到显示的目的又节省了 I/O 口,使设计简单明了。 由于本设计的对单 片机可靠性要求不高,本着简单实用出发,复位电路设计为上电复位 。 ADC0809 进行 A/D 转换后,输出的是并行 8 位数据,直接送入单片机节省硬件设施 且使编程简单,为实现多路巡回检测,通过 P0.0P0.2 控制 74LS373 来达到设计目的。 其中温度范围的计算原理:首先把 A/D 转换中电位器顺时针旋到底,即模拟信号 的输入不衰减,选取两个温度状态 T1T2,分别测量出其模拟输出电压 V1V2;根据 ADC0809 的输入范围在 0 到 5 伏,即可计算出温度极限。 0 伏时对应的温度 TL:T1-(V1-0) (T2-T1)/(V2-V1) 5 伏时对应的温度 TH:T1-(V1-5) (T2-T1)/(V2-V1) 本设计中近似计算 TH为 150,TL为-50。 程序中温度的计算原理:首先用温度范围除以 0 到 256(即每个十六进制数的温度 增长率) ,然后乘以模拟转换的数字量,即得到升高的温度,再和最低温度相加,就可 以得到实际的温度值。其公式为:TL+AX(TH-TL)/256 TL:显示的最低温度 TH:显示的最高温度 AX:模拟电压所转换的数字量 在 A/D 转换实验模块中模拟信号输入端的电位器可调节电压输入,用以模拟低温 状态下的温度显示,当电位器顺时针旋到底时,输入信号不衰减,显示温度与室温相 对应,用做数字显示温度表。 3 硬件部分设计 3.1 AT89C51 介绍 AT89C51 是一种低功耗/低电压、高性能的 8 位单片机。片内带有一个 4KB 的 Flash 可编程、可擦除只读存储器(EPROM) 。它采用了 CMOS 工艺和 ATMEL 公司的高密 度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统都与 MSC-51 兼容。片 内的 Flash 存储器允许在系统内改编程序或用常规的非易失性存储器编程器来编程。 因此 AT89C51/LV51 是一种功能强、灵活 多路监测仪 9 性高,且价格合理的单片机,可方便地应用在各种控制领域。 3.1.1 主要性能 4KB 可改编程序 Flash 存储器(可经受 1000 次的写入擦除) 全静态工作:0Hz24MHz 3 级程序存储器保密 1288 字节内部 RAM 32 条可编程 I/O 线 2 个 16 位定时器/计数器 6 个中断源 可编程串行通道 片内时钟振荡器 3.1.2 引脚功能说明 图 2 是 AT89C51 的引脚结构图,下面分别简单的介绍这些引脚的功能。 (1) 主电源引脚 VCC:电源端。 1 GND:接地端。 2 (2) 外接晶体引脚 XTAL1 和 XTAL2 (3) 控制或与其他电源复用引脚 RST,ALE/PROG,/EA /Vpp 图 2 AT89C51 的引脚结构 ALE/PROG:当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的 1 低位字节。 在对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(/PROG) 。 /PSEN:程序存储允许(/PSEN)输出是外部程序存储器的读选通信号。 2 多路监测仪 10 /EA/Vpp:外部访问允许端。 3 当/EA 端保持高电平(接 Vcc 端)时,CPU 则执行内部程序存储器中的程序。 在 Flash 存储器编程期间,该引脚也用于施加 12V 的编程允许电源 Vpp(如果选用 12V 编程) 。 (4) 输入/输出引脚 P0. .0P0. .7,P1. .0P1. .7,P2. .0P2. .7 和 P3. .0P3. .7。其中 P3 端口还用于一些复用功能。 3.2 传感器模块部分设计 AD590 是美国模拟器件公司的电流输出型温度传感器,供电电压范围为 330V, 输出电流 223A(-50C)423A(+150C),灵敏度为 1A/C。当在电路中串接采 样电阻 R 时,R 两端的电压可作为输出电压。注意 R 的阻值不能取得太大,以保证 AD590 两端电压不低于 3V。AD590 输出电流信号传输距离可达到 1km 以上。作为一种高 阻电流源,最高可达 20M,所以它不必考虑选择开关或 CMOS 多路转换器所引入的附 加电阻造成的误差。适用于多点温度测量和远距离温度测量的控制。 3.2.1 AD590 主要特性 (1) 流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即: Ir/T= mA/K 式中: Ir-流过器件(AD590)的电流,单位为 mA;T-热力学温度, 单位为 K。 (2) AD590 的测温范围为-55C+150C。 (3) AD590 的电源电压范围为 4V30V。 电源电压可在 4V6V 范围变化,电流 变化 1mA,相当于温度变化 1K。AD590 可以 承受 44V 正向电压和 20V 反向电压,因而器件反接也不会被损坏。 (4) 输出电阻为 710MW。 (5) 精度高。 AD590 共有 I、J、K、L、M 五档,其中 M 档精度最高,在-55C+150C 范围内, 非线性误差为0.3C。 AD590 的封装形式和基本应用电路如图 3: 多路监测仪 11 a)封装形式 b)基本应用电路 图 3 AD590 的封装及基本应用电路 在本设计中,使用 AD590 对温度进行采集,即通道 AD590 把摄氏温度信号转换成 电流信号,经电阻分压,最总转换成电压信号,送到 ADC0809。其电路如图 4 所示。 图 4 温度采集电路图 其中,R1 用来调节运放的输入电压,经运放发大后达到 ADC0809 的转换电压。 3.2.2 与 ADC0809 接口 AD590 作为温度采集器件,把热力学温度转换成电流信号,送入运算放大器放大, 然后经电阻转换成电压信号,送入 ADC0809.图 5 中给出一路温度采集电路与 ADC0809 的方式。要实现多路温度的采集,只需在 ADC0809 的输入端连接多路温度采集电路即 可。 多路监测仪 12 图 5 ADC0809 与 AD590 的接口电路 3.3 数模转换部分硬件设计 将模拟信号转换成数字信号的电路,称为模数转换器(简称 A/D 转换器或 ADC,Analog to Digital Converter) ;将数字信号转换为模拟信号的电路称为数模转 换器(简称 D/A 转换器或 DAC,Digital to Analog Converter) ;A/D 转换器和 D/A 转 换器已成为计算机系统中不可缺少的接口电路。 为确保系统处理结果的精确度,A/D 转换器和 D/A 转换器必须具有足够的转换精度; 如果要实现快速变化信号的实时控制与检测,A/D 与 D/A 转换器还要求具有较高的转换 速度。转换精度与转换速度是衡量 A/D 与 D/A 转换器的重要技术指标。 随着集成技术 的发展,现已研制和生产出许多单片的和混合集成型的 A/D 和 D/A 转换器,它们具有 愈来愈先进的技术指标。这里采用 ADC0809 芯片来进行模数转换。 3.3.1 ADC0809 介绍 ADC0809 是 8 位 CMOS 逐次逼近式 A/D 转换器。内部有 8 路模拟量输入和 8 位数字 量输出的 A/D 转换器,它是美国国家半导体公司的产品,是目前国内最广泛的 8 位通 用的 A/D 转换的芯片。其结构图如图 6 所示。 外部时钟输入端,时钟频率高,A/D 转换速度快。允许范围为 101280KHZ,典型 值为 640KHZ,此时,A/D 转换时间为 10us。通常由 MCS-51 型单片机 ALE 端直接或分频 后与其相连。当 MCS-51 型单片机无读写外,RAM 操作时,ALE 信号固定为 CPU 时钟频 率的 1/6,若单片机外接的晶振为 6MHZ,则 1/6 为 1MHZ,A/D 转换时间为 64us。 3.3.2 ADC0809 各管脚功能 多路监测仪 13 ADC0809 采用双列直插式封装,共有 28 条引脚,如图 7 所示。 图 6 ADC0809 结构图 (1) IN0-IN7:IN0IN7 为 8 路模拟电压输入线,用于输入被转换的模拟电压 (2) ADDA,ADDB,ADDC: 三位地址输入端。八路模拟信号转换选择同由 A,B,C 决定。A 为低位,C 为高位。 (3) CLOCK:时钟信号。最高允许值为 640kHz。 (4) D0-D7:数字量输出端,A/D 转换的结果由这几个端口输出。 图 7 ADC0809 引脚图 多路监测仪 14 (5) OE:A/D 转换结果输出允许控制端,当 OE 端为高电平时,允许将 A/D 转换结 果从 D0D7 端输出。 (6) ALE: 地址锁存允许信号。八路模拟通道地址由 A,B,C 输入在 ADC0809 的 ALE 信号有效时,将该八路地址锁存。 (7) START: 启动 A/D 转换信号。当 START 端输入一个正脉冲时,立即启动 ADC0809 进行 A/D 转换。 (8) EOC: A/D 转换结束信号,是芯片的输出信号。转换开始后,EOC 信号变低; 转换结束时,EOC 返回高电平。这个信号可以作为 A/D 转换器的状态信号来查询,也可 以直接用作中断请求信号。 (9) VREF+,VREF-:正负基准电压输入端。 (10) VCC,GND :正电源电压端和地端。 3.3.3 硬件连接电路 ADC0809 与 89C51 连接可采用查询方式,也可以采用中断方式。图 8 所示 为中断 方式连接电路图。由于 ADC0809 片内有三态输出锁存器,因此,可直接与 89C51 接口。 这里将 ADC0809 作为一个外部扩展并行 I/O 口,采用线选法寻址。由 P2.0 和/WR 联合控制启动转换信号端(START)和 ALE 端,低三位地址线加到 ADC0809 的 ADDA、ADDB 和 ADDC 端,所以,选中 ADC0809 的 IN0 通道的地址为 0FEFBH。 启动 ADC0809 的工作过程是:先送通道号地址到 ADDA、ADDB 和 ADDC;由 ALE 信号 锁存通道号地址后,让 START 有效;启动 A/D 转换,即执行“MOVX DPTR,A” 。 指令产生/WR 信号,使 ALE 和 START 有效;锁存通道号并启动 A/D 转换。A/D 转换 完毕,EOC 端发出一正脉冲,申请中断。在中端服务程序中, “MOV A,DPTR”指令产生 /RD 信号,使 OE 端有效,打开输出锁存器三态门,8 位数据便读入到 CPU 中。 ADC0809 的时钟取自 89C51 的 ALE 经二分频后的信号。当 A/D 转换完毕,89C51 读 取转换后的数字量时,须使用“MOVX A,DPTR”指令。这样就完成了 ADC0809 与 89C51 的连接及工作过程。 多路监测仪 15 图 8 ADC0809 与单片机的连接图 3.4 LED 显示电路的设计 在单片机应用系统中,如果需要显示的内容只有数码和某些字母,使用 LED 数码 管是一种较好的选择。LED 数码管显示清晰、成本低廉、配置灵活,与单片机接口简单 易行。 3.4.13.4.1 LEDLED 数码管数码管 LED 数码管是由发光二极管作为显示字段的数码型显示器件。图 9 中 a 为 0.5inLED 数码管的外形和引脚图,其中七只发光二极管分别对应 ag 笔段构成“ ” 字形另一只发光二极管 Dp 作为小数点。因此这种 LED 显示器称为七段数码管或八段数 数码。LED 数码管按电路中的连接方式可以分为共阴型和共型两大类,如图 9 中 b、c 所示。共阳型是将各段发光二极管的正极连在一起,作为公共端 COM,公共端 COM 接高 电平,ag、Dp 各笔段通过限流电阻接控制端。某笔段控制端低电平时,该笔段发光, 高电平时不发光。控制某几段笔段发光,就能显示出某个数码或字符。共阴型是将各 数码发光二极管的负极连在一起,作为公共端 COM 接地,某笔段通过限流电阻接高电 平时发光。 LED 数码管按其外形尺寸有多种形式,使用较多的是 0.5in 和 0.8in;按显示颜色 多路监测仪 16 也有多种形式,主要有红色和绿色;按亮度强弱可分为高亮和普亮,指通过同样的电 流显示亮度不一样,这是因发光二极管的材料不一样而引起的。 LED 数码管的使用与发光二极管相同,根据其材料不同正向压降一般为 1.52V 额 定电流为 10mA,最大电流为 40mA。静态显示时取 10mA 为宜,动态扫描显示可加大, 可脉冲电流,但一般不超过 40mA。 a)外形和引脚 b)共阴极结构 c)共阳极结构 图 9 数码管及其结构 3.4.23.4.2 LEDLED 数码管编码方式数码管编码方式 当 LED 数码管与单片机相联时,一般将 LED 数码管的各笔段引脚 a、b、g、Dp 按某一顺序接到 MCS51 型单片机某一个并行 I/O 口 D0、D1、D7,当该 I/O 口输 出某一特定数据时,就能使 LED 数码管显示出某个字符。例如要使共阳极 LED 数码管 显示“0” ,则 a、b、c、d、e、f 各笔段引脚为低电平,g 和 Dp 为高电平。 LED 数码管编码方式有多种,按小数点计否可分为七段码和八段码;按共阴共阳可 分为共阴字段码和共阳字段码,不计小数点的共阴字段码与共阳字段码互为反码;按 a、b、g、Dp 编码顺序是高位在前,还是低位在前,又可分为顺序字段码和逆序字 段码。甚至在某些特殊情况下将 a、b、g、Dp 顺序打乱编码。表 1 为共阴和共阳 LED 数码管几种八段编码表。这里采用共阴极数码管的编码方式。 表 1 共阴和共阳 LED 数码管几种八段编码 共阴顺序小数点暗共阴逆序小数点暗 Dp g f e d c b a 16 进 制 a b c d e f g dp 16 进 制 共阳 顺序 小数 点亮 共阳 顺序 小数 点暗 多路监测仪 17 0 0 0 1 1 1 1 1 1 3FH1 1 1 1 1 1 0 0FCH40HC0 H 1 0 0 0 0 0 1 1 0 06H0 1 1 0 0 0 0 0 60H79HF9 H 2 0 1 0 1 1 0 1 1 5BH1 1 0 1 1 0 1 0DAH24HA4 H 3 0 1 0 0 1 1 1 1 4FH1 1 1 1 0 0 1 0F2H30HB0 H 4 0 1 1 0 0 1 1 0 66H0 1 1 0 0 1 1 066H19 H99 H 5 0 1 1 0 1 1 0 1 6DH1 0 1 1 0 1 1 0B6H12 H92 H 6 0 1 1 1 1 1 0 1 7DH1 0 1 1 1 1 1 0BEH02 H82 H 7 0 0 0 0 0 1 1 1 07H1 1 1 0 0 0 0 0E0H78 HF8 H 8 0 1 1 1 1 1 1 1 7FH1 1 1 1 1 1 1 0FEH00 H80 H 9 0 1 1 0 1 1 1 1 6FH1 1 1 1 0 1 1 0F6H10 H90 H 3.4.33.4.3 LEDLED 数码管显示方式和典型应用电路数码管显示方式和典型应用电路 LED 数码管显示电路在单片机应用系统中可分为静态显示方式和动态显示方式。在 本设计中,使用的是静态显示方式,这里主要介绍静态显示方式及其电路连接。静态 显示在本设计中如图 10 所示。 一般情况,在静态显示方式下,每一位显示器的字段需要一个 8 位 I/O 口控制, 而且该 I/O 口须有锁存功能,N 位显示器就需要 N 个 8 位 I/O 口,公共端可直接接 +5V(共阳)或接地(共阴) 。显示时,每一位字段码分别从 I/O 控制口输出,保持不 变直至 CPU 刷新显示为止。也就是各字段的亮灭状态不变。此种情况下,静态显示方 式编程较简单,但占用 I/O 口线多,即软件简单、硬件成本高,一般适用显示位数较 少的场合。但是,利用 74LS164 串入并处的特点设计的静态显示,可以轻而易举的解 决静态显示占用 I/O 口多的问题,同时,编程也没动态显示那么复杂! 多路监测仪 18 图 10 显示电路图 图 10 是该应用的典型电路图,也是在本设计中要用到的显示电路,图中 CLOCK 为 74LS164 提供其工作的脉冲信号,SERIAL NUM 是从单片机输出的要显示的串行数据。 3.5 报警电路的设计 告警在设计电路中,被广泛的应用,简单实用。当温度、压力、转速等等超出了 设置的限度,有可能对设备、人或其他造成危害;所以,当检测到温度、压力、转速 等大于期望的范围时,由相关电路触发三极管的基极,使三极管导通,继电器吸合, 指示灯亮,同时蜂鸣器响,发出告警信号。其电路如图 11 所示。 图 11 告警电路 在本设计中,告警电路与单片机的连接如图 12 所示 ,单片机把接收来的数字温度 信号与所设置的温度信号比较,一旦发现超出了设定的范围,由单片机的 P3.4 引脚置 高电平,驱动三极管(9013) ,使继电器吸合,二极管亮,同时,蜂鸣器响,发出告警 信号。该报警电路设计简单,成本低。 多路监测仪 19 图 12 报警电路与单片机接口 3.6 整体电路图 图 13 系统电路图 多路监测仪 20 系统电路图由前面介绍的各个模块硬件的综合。配以软件,即可实现本设计的功 能。图 13 所示为该设计的系统电路图。 4 软件部分设计 4.1 A/D 转换程序流程图 开始 初始化 温度采样 启动A/D A/D转换 送单片机 是否转化完 N Y 通道选择 图 14 数模转换部分流程 数模转换由 ADC0809 来完成,启动系统后,首先对其进行初始化,然后由单片机 的 P0 口送出通道地址,74LS373 锁存同时送给 ADC0809 的 ADDA、ADDB、ADDC 来选通采 集温度的通道号;接着单片机发出启动 A/D 转换信号,开始转换。转换完毕,ADC0809 的 EOC 发出转换完成信号,告诉单片机,单片机进入中断系统。循环往复。其流程图 如图 14 所示。 4.2 显示程序流程图 当数字信号送到单片机后,计算偏移量,查表,然后执行串行传送指令,把数字 多路监测仪 21 温度信号一位一位的发送到串入并出的 74LS164,驱动 LED 显示采样的温度。其流程图 如图 15 所示。 开始 送数据 显示 24位是否送完 Y N 图 15 显示子程序流程图 4.3 报警程序流程图 ADC0809 把模拟温度信号转换成数字信号送到单片机的存储后,程序中报警子程 序把数字温度信号(即当前温度信号)与设定的温度信号进行比较,当当前温度超出 了设定的范围,启动报警电路,即由单片机的 P3.4 输出高电平,使晶体管工作,从而 使继电器吸合,报警指示灯亮,蜂鸣器响。其流程图如图 16 所示。 开始 当前数字 温度 告警 与设定值 比较 是否超出范围 Y 图 16 报警子程序流程图 4.4 主程序流程图 在本设计中,单片机处于主导地位,由它控制着整个系统的有序的工作。系统正 N 多路监测仪 22 常运行之前,单片机要先把程序初始化,使各个模块处于待工作状态,准备相关工作。 然后,单片机的 P0 口送出通道地址,对 ADC0809 初始化,74LS373 锁存通道号,单片 机发出启动 A/D 转换信号,开始模数转换,转换结束后得到 8 位数字温度信号,此时, ADC0809 向单片机发出转换结束信号。由单片机把数字温度信号接收到设置的存储处。 开始 初始化 送通道地址 锁存通道地址 温度采样 启动A/D 是否转换完成 送存储地址 与设定值比较 计算偏移量 告警 是否超出范围 查表 译码送发送缓存 串行数据发送 是否发送完? 显示 Y N N Y A/D转换 N Y 图 17 主程序流程图 多路监测仪 23 接着,由报警程序实现当前温度值与预先设置的温度值进行比较,当超出了设定范围, 启动报警电路,告警;否者,根据当前温度值计算出其偏移量,查表,获得与之相对 应的译码值;最后,由 P3.3 口在 P3.4 提供移位脉冲下把译码值一位一位的送到 74LS164 中,驱动相应的 LED 显示。单片循环发出通道号,巡回得到相关通道的温度信 号,然后显示出来。这样就完成了整个流程。其流程图如图 17 所示。 多路监测仪 24 结束语 在本设计中,主要是对多点温度进行检测,而且在单片机作为主控单元下,进行 一些智能操作,如温度显示、巡回检测、超量程告警等等。研究内容主要分为数据采 集、模数转换、单片机系统设计、软件编程几个方面。针对这几个方面,将研究模块 化,在逻辑上按先后顺序对每个模块进行分别的研究,并对每一个模块进行独立的测 试,在测试达到要求之后,再将所有模块有机的整合为一个整体,然后进行整体调整 测试。最总完成整个设计方案。 该设计与传统的 PID 调节相比,用软件取代了部分硬件,节约了硬件资源,减小 了连线的复杂程度,提高了系统的性能;显示部分采用数据的串行传输连接且为静态 显示,这样既减少了硬件间的连线,节约了 I/O 口,又减少了软件的编程难度;数码 管的静态显示方式与比动态显示,亮度高;同时,在该系统中设置了超量程报警电路, 当检测到当前温度 超出了设定的范围后,报警电路就会被启动,减低不必要的损失。 但是,在本设计中,设定的温度值一旦确定,要想修改,就要重新编程下载,较为麻 烦;显示部分采用数据串行传输,速度相对来说比较慢;AD590 温度采集模块采集到 的温度信号为模拟温度信号,输入单片机前要进行数模转换,需增加数模转换模块, 添加硬件间的连线。 在设计过程当中,遇到很多问题,如初始阶段设计思路不清晰;ADC0809 与单片 机硬件联系结束后,进行软件测试时,无法使二者协同工作;温度超出设置值时,报 警电路不报警;在编程过程中,求数据偏移量时,不清楚如何下手;温度采集模块采 集到的温度信号为电压信号,不清楚如何设置才能和 ADC0809 配合使得转换的结果更 准确等等,最后在老师的指导和同学的帮助下,都一一得以解决。 为进一步提高系统的性能,可以增加相应的键盘模块,配合相应的软件,完成随 时对温度设定范围的修改;同时,把温度采集模块(AD590)和模数转换模块 (ADC0809)用 DS18B20 或其它的相关芯片代替,这样既达到了减少硬件间的连线, 又提高了性能的稳定性和减小了调试的麻烦;除此之外,还可以增加显示部分的数码 管,用来显示设定的温度范围;增加相应的指示模块用来显示当前温度采集的通道。 多路监测仪 25 参考文献 1 李朝青.单片机原理及接口技术(第三版)M.北京:北京航空航天大学出版社,2005 2 张靖,刘少强.检测技术与系统设计M 北京:中国电力出版社 2002 3 赖寿宏 微型计算机控制技术M.北京: 机械工业出版社 2004 4 刘祖润,胡俊达 毕业设计指导 M 北京机械工业出版社 1996 5 何立民 单片机应用技术选编M 北京:北京航空航天大学出版社 1993 6 沙占友 智能化集成温度传感器原理与应用 M北京:机械工业出版社 2002 7 李兰友,王勇才,傅景义 单片机开发应用十例 M北京:电子工业出版社 1994 8 余发山,王福忠 单片机原理及应用技术 M 江苏:中国矿业大学 2003 9 张西 基于 MCS-51 单片机的测温系统 D 测控技术与设备学报 2002 10 马江涛 单片机温度控制系统的设计及实现 M 计算机测量与控制学报 2004 Vol(12) 11 胡汉才 单片机原理及其接口技术M 北京:清华大学出版社 1996 12 何立民 MCS-51 系列单片机应用系统设计系统配置与接口技术 M 北京航空航天大学出版社 1990 13 高鹏 ,安涛, 寇怀成 Protel99 入门与提高M 北京:人民邮电出版社 2000 14 张靖,刘少强.检测技术与系统设计M 北京:中国电力出版社 2002 15 赖寿宏 微型计算机控制技术M 北京:机械工业出版社 2004 16 刘祖润,胡俊达 毕业设计指导 M 机械工业出版社 1996 17 TOPSwitch Flyback Transformer Construction Guide 1996 18 Gao You Tang ,Zhu Qing Hui,Electronic technology fundamentals M 西安:西安地图 出版社 2003 多路监测仪 26 附录 源程序: LOWTEMP EQU -50 ; A/D 0 HIGHTEMP EQU 150 ; A/D 255 ADPORT EQU 0FEFBH ;A/D 端口地址 LEDBUF EQU 30H ;置存储区首址 TEMP EQU 40H ;置缓冲区首址 CURTEMP EQU 60H ; DIN BIT 0B0H ;置串行输出口 CLK BIT 0B1H ;置时钟输出口 ORG 0000H LJMP START LEDMAP: DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3

温馨提示

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

最新文档

评论

0/150

提交评论