毕业设计(论文)-基于单片机的多路输入电压表的设计.doc_第1页
毕业设计(论文)-基于单片机的多路输入电压表的设计.doc_第2页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

宁夏大学机械工程学院 2009 届毕业设计 (基于单片机的多路输入电压表的设计) 摘要摘要:在工业控制领域中,电压是一个十分重要的参考量,准确而实时的控制 电压对于我们的工作有事半功倍的效果。随着微电子技术、计算机技术、通信技术 和自动化技术的高速发展,过去我们所采用的一些传统的电压测控系统,存在着功 能单一、速度慢、精度低、数据无法长期存储等问题,己经渐渐不能满足工业自动 化和实际测量工作中多样性、多功能的需要,在这种背景下,人们对电压测控系统 的检测速度、准确度以及仪表的检测功能等方面又提出了新的要求,而寻求这些问 题的解决方案成为当前研究的焦点。 关键词关键词:电压表;a/d 转换;tlc1543;编写程序 (the design of the multi-channel input voltmeter based on scm) abstract:abstract: in the field of industrial control, voltage is an important reference, accurate and real-time control voltage for our job has twice the result with half the effort. with microelectronics technology, computer technology, communication technology and automation technology, the rapid development of the past we use some of the traditional voltage measurement and control system, there is a single function, slow speed and low accuracy, data cannot be stored for a long time, has been gradually cannot meet the practical measurement in industrial automation and the needs of the diversity, multi- function, under this background, the detection speed and accuracy of voltage measurement and control system and instrument detection, etc, and puts forward new requirements, and to seek solutions to these problems become the focus of current research. keykey words:words: voltmeter; a/d conversion; tlc1543; write a program 宁夏大学机械工程学院 2009 届毕业设计 目 录 1 前 言.1 1.1 本次毕业设计课题的目的、意义 1 1.2 设计系统的发展与状况1 1.3 智能仪器的发展趋势3 2 系统的结构及原理组成框图5 2.1 系统结构及原理组成框图5 2.2 传感器 5 2.3 模数转换器 tlc1543 的简介 5 2.4 at89c51 系列单片机简介 7 2.5 显示电路设计 .11 3 系统的硬件 .13 3.1 系统硬件设计 .13 3.2 绘制系统硬件电路图了解其工作原理 .13 4 系统的软件.17 4.1 tlc1543 与 at89c51 接口程序 .17 4.2 系统程序流程图及主程序 .21 4.3 延时子程序 .24 4.4 模数转换程序 .24 5 结论 .26 参考文献.28 致 谢28 外文翻译.29 附 件.38 宁夏大学机械工程学院 2009 届毕业设计 0 1 1 前前 言言 1.1 本次毕业设计课题的目的、意义 在工业控制领域中,电压是一个十分重要的参考量,准确而实时的控制电压对 于我们的工作有事半功倍的效果。随着微电子技术、计算机技术、通信技术和自动 化技术的高速发展,过去我们所采用的一些传统的电压测控系统,存在着功能单一、 速度慢、精度低、数据无法长期存储等问题,己经渐渐不能满足工业自动化和实际 测量工作中多样性、多功能的需要,在这种背景下,人们对电压测控系统的检测速 度、准确度以及仪表的检测功能等方面又提出了新的要求,而寻求这些问题的解决 方案成为当前研究的焦点。 近年来,形式多样的数字化仪器、仪表已被广泛应用于电子及电工测量、工业 自动化仪表、自动测试系统等智能化测量领域中,显示出了强大的生命力。为使电 压表的测试系统也得到长足的数字化研究与开发,使我们的电压检测技术实现快速、 可靠、低成本、数字化与网络化,以推动电压表的测量技术往更科学的水平发展, 把电量及非电量测量提高到崭新的技术,本文考虑运用 at89c51 单片机和 tlc1543a/d 转换芯片,根据数据采集的工作原理,设计实现了一个基于单片机原理的 多路输入电压测控系统,该系统可以进行远程多路电压采集、控制、数字传送与显 示,具有测压误差小、测量精度高、分辨率高、抗干扰能力强、可扩展性强、集成 方便、可进行数据存储、打印、还可与 pc 进行实时通信等优点,是研制和开发具有 高性价比的新一代电压测控系统的核心器件,所以这种类型的电压表无论在功能和实 际应用上,都具有传统指针式电压表无法比拟的特点,这使得它的开发和应用具有良 好的前景。 1.2 设计系统的发展与状况 回顾电子仪器的发展历程,我们可以发现,从仪器使用的器件来看大致经历了三 个阶段,即真空管时代、晶体管时代、集成电路时代。若从仪器的工作原理来看,又 可以分为以下几代: 模拟仪器、分立元件式仪器、数字化仪器、智能仪器。目前电 压表测试领域应用比较广泛的是模拟仪器和数字化仪器,智能化仪器在部分测试场 合和测试参数中有所应用,本设计系统是以智能式仪表为主,设计一个多路输入电 压表。 第一代-模拟仪器;这类仪器在一些实验室多能看到,是以电磁感应基本定 律为基础的指针式仪器,借助指针来显示最终结果,仪器应用和处理的信号均为模 拟量,这类仪表的特点是:价格低廉、体积大、功能简单、响应速度慢,虽然测量精 度低,但目前还是使用的相当普遍。 宁夏大学机械工程学院 2009 届毕业设计 1 第二代-分立元件式仪器;当20世纪50年代出现电子管,20世纪60年代出现 晶体管时,便产生了以电子管或晶体管电子电路为基础的第二代测试仪器。 第三代-数字化仪器;随着集成电路的出现,诞生了以集成芯片为基础的第 三代仪器,这类仪器目前相当普及,如数字电话、数字式测温仪、数字频率计等。 它们的基本工作原理是将模拟信号的测量转化为数字信号的测量,并以数字形式输 出显示,适用于快速响应和较高准确度的测量。数字式电子仪器与第一代模拟式电 子仪器相比,具有精度高,速度快,读数清晰,直观的特点,其结果既能以数字形式输 出显示,还可以通过打印机打印输出。此外,由于数字信号便于远距离传输, 因此数 字式电子仪器又适用于遥测遥控。 第四代-智能仪器;智能仪器是由数字化仪器进一步发展而来的,它是一类 新型的,内部装有微处理器或单片机的微机化电子仪器,具有数据存储,运算和逻辑 判断的能力,能根据被测参数的变化自动校正,自动补偿,自寻故障,以及远距离传输 数据,遥测遥控等功能,可取代部分脑力劳动,也就是说, 这种仪器具备了一定的智 能, 故称为智能仪器。其缺点是它的功能块都以硬件的形式存在,无论是开发还是 针对应用,都缺乏灵活性。 本设计系统是以智能式仪表为主,智能式仪表与模拟仪表相比,已经从测量的 本质上发生了根本的改变,我们前面谈到模拟仪表是实时地测量被测信号,时间上 是连续的没有间断点,而智能式仪表是由数字式仪表进一步发展而来的,如同数字 式仪表一样,从时间的连续性上看,此种测量方式出现了信号时间上的断点,且由 于利用了现代模拟电子技术改进了测量原理,所以通常这类仪表的准确度较高。从 某种意义上讲,数字化仪表将测量过程分成两个阶段:对信号的“采样(取样、采 集)”阶段和内部转换处理阶段,而智能式仪表除完成上两个阶段外,还需经过内 部装有的微处理器或单片机进行数据的运算、分析和判断控制等功能。由于信号 (dc)变化很缓慢,所以人们充分利用了信号的这一特性,用采样测量的方法来代 替过去传统的连续测量方法,尽管现代模拟电子技术发展到了相当高的水平,但用 模拟的方式设计某些电路还是相当困难的。 追溯过去,人们普遍采用的是模拟仪器,随着计算机(微处理器)以及数字信 号处理软、硬件的飞速发展,人们开始改变对事物的观察手段、分析方法及对事物 的处理方式,整个世界都开始进入“数字化”时代,数字电话、数字电视、数字音 响、数码相机、数码摄像机等数字设备令人眼花缭乱。人们发现许多以往难以做到 的事情,利用计算机(微处理器)来实现则变得非常简单、方便,如乘法器,对计 算机而言仅仅是执行一条乘法指令,运算速度和运算结果的准确度毫无任何问题, 所以我们可以将许多复杂的处理交给计算机来完成,当时遇到唯一的问题是计算机 无法直接与模拟世界打交道。 宁夏大学机械工程学院 2009 届毕业设计 2 为对温度、压力、流量、速度、位移等模拟物理量进行测量和控制,人们采用传感 器把上述模拟量转换成能模拟物理量的电信号,即模拟电信号,再将模拟电信号经 过 adc 处理转换成计算机能识别的数字量,送进计算机,构成数据的采集。依据这 个采集定理,我们知道如何保证信息不会丢失,因此数据采集技术成为了计算机与 模拟世界打交道的重要环节,人们开始把更多的注意力集中放在了如何设计更好的 数据采集单元及更好的数字信号处理方法上,同时,智能仪器技术正好符合这个发 展趋势,大大的推动或带动了数字化测量的进一步发展,即进入了智能仪器时代, 人们开始不太关心各种物理量与测量的关系,这些由传感器制造商来完成,他们更 为关心的是如何将信号(传感器的输出)准确的变换为计算机可识别的数据及如何 设计信号处理软件,这种数据采集+软件分析、处理的模式引发了测试、测量领域的 一场大革命。现在我们知道智能仪器的工作过程是:外部的输入信号(被测量)先经过 输入电路进行变换,放大,整形和补偿等处理,然后再经模拟量通道的 a/d 转换接口转 换成数字量信号, 送入单片机,单片机对输入数据进行加工处理,分析,计算等一系 列工作, 并将运算结果存入数据存储器 ram 中,同时,可通过显示器接口送至显示器 显示,或打印机接口送至微型打印机打印输出,也可以将输出的数字量经模拟量通道 的 d/a 转换接口转换成模拟量信号输出,并经过驱动与执行电路去控制被控对象, 还 可以通过通信接口(例如 rs-232, gpib 等)实现与其他智能仪器的数据通信,完成更 复杂的测量与控制任务。 1.3 智能仪器的发展趋势 1. 微型化 智能仪器的微型化是指将微电子技术,微机械技术,信息技术等综合应用于智能 仪器的设计与生产中,从而使仪器成为体积较小,功能齐全的智能化仪器.它能够完成 信号采集, 线性化处理,数字信号处理,控制信号的输出,放大,与其他仪器接口以及 与人交互等功能.微型智能仪器随着微电子技术, 微机械技术的不断发展,其技术不 断成熟,价格不断降低, 因此其应用领域也必将不断扩大.它不但具有传统仪器的功 能, 而且能在自动化技术,航天,军事,生物技术,医疗等领域起到独特的作用. 2. 多功能化 多功能本身就是智能仪器的一个特点.例如,为了设计速度较快和结构较复杂的 数字系统,仪器生产厂家制造了具有脉冲发生器, 频率合成器和任意波形发生器等多 种功能合一的函数发生器.这种多功能的综合型产品不但在性能上(如准确度)比专用 脉冲发生器和频率合成器高,而且在各种测试功能上提供了较好的解决方案. 3. 人工智能化 人工智能是计算机应用的一个崭新领域,利用计算机模拟人的智能,用于机器人, 医疗诊断,专家系统,推理证明等各个方面.智能仪器的进一步发展将含有一定的人工 智能,即代替人的一部分脑力劳动,从而在视觉(图形及色彩辨读), 听觉(语音识别及 语言领悟),思维(推理,判断,学习与联想)等方面具有一定的能力.这样,智能仪器可 宁夏大学机械工程学院 2009 届毕业设计 3 以无需人的干预而自主地完成检测或控制功能.显然,人工智能在现代仪器中的应用, 使我们不仅可以解决用传统方法很难解决的一类问题,而且还可望解决用传统方法根 本不能解决的一些问题. 4. 部分结构虚拟化 测试仪器的主要功能都是由数据采集,数据分析和数据显示等三大部分组成的. 随着计算机应用技术的不断发展, 人们利用pc机强大的图形环境和在线帮助功能,建 立了图形化的虚拟仪器面板,完成了对仪器控制,数据采集,数据分析和数据显示等功 能.因此,只要额外提供一定的数据采集硬件,就可以与pc机组成测量仪器.这种基于 pc机的测量仪器称之为虚拟仪器.在虚拟仪器中,使用同一个硬件系统, 只要使用不 同的软件编程, 就可以得到功能完全不同的测量仪器.可见,软件系统是虚拟仪器的 核心,因此,也有人称“软件就是仪器“. 5. 通信与控制网络化 系统编程技术(insystem programming,简称isp技术)是对软件进行修改、组 态或重组的一种最新技术。isp技术消除了传统技术的某些限制和连接弊病,有利于 在板设计,制造与编程。isp硬件灵活且易于软件修改,便于设计开发。由于isp器件 可以像任何其他器件一样在印刷电路板(pcb)上处理,因此编程isp器件不需要专门的 编程器和较复杂的流程,只要通过pc机,嵌入式系统处理器,甚至internet远程网就可 进行编程。 宁夏大学机械工程学院 2009 届毕业设计 4 2 2 系统的结构及原理组成框图系统的结构及原理组成框图 2.1 系统结构及原理组成框图 多路输入电压表主要是由三大功能构成:多路信号的采集与控制、信号的分析与 处理、结果的输出与显示,通常方案都是用51单片机+a/d转换芯片,本设计考虑运 用at89c51单片机和tlc1543a/d转换芯片及数码显示管来完成,首先通过传感器将被 测量的连续变化的模拟电压转换成模拟电信号送入tlc1543a/d转换芯片中,由模数 转换器组成的模数转换控制电路对输入的模拟电信号进行取样、转换,再将转换的 数字量送进单片机,通过对单片机进行的程序设计来进行数据处理,从而实现控制 电路;最后的显示电路主要用于显示数据转换后的测量结果。 系统的原理组成框图如图1所示。 2.2 传感器 传感器是将被测信号转换为检测系统能识别的电信号。在电压表测量系统中, 被控制或测量对象往往是连续变化的模拟量,而单片机所加工的信息都是数字量, 这就需要通过传感器先将这些模拟信号转换成模拟电信号,送入a/d转换器中再转换 成数字量。传感器的主要技术要求如下: (1)具有将被测量转换为后续电路可用电量的功能,转换范围与被测量实际变 化范围(变化幅度范围、变化频率范围)相一致。 (2)转换精度符合整个测试系统根据总精度要求而分配给传感器的精度指标 (一般应优先于系统精度的十倍左右),转换速度应符合整机要求。 (3)能满足被测介质和使用环境的特殊要求,如耐高温、耐高压、防腐、抗振、 防爆、抗电磁干扰、体积小、质量轻和不耗电或耗电少等。 (4) 能满足用户对可靠性和可维护性的要求。 目前传感器技术正向着系统化和智能化的方向发展,它不再是一个单独的测量 元件,而是微机械与微电子技术、计算机技术、信号处理技术、电路与系统、传感 技术、神经网络技术、模糊控制技术、虚拟仪器技术等多学科的综合性产物。 传感器是能够感受物体运动并将物体的运动转换成模拟电信号的一种灵敏的换 能元件。传感器的种类很多,且有不同的分类方法。 宁夏大学机械工程学院 2009 届毕业设计 5 2.3 模数转换器 tlc1543 的简介 tlc1543 是美国 ti 公司生产的多通道、低价格的模数转换器。采用串行通信接 口,具有输入通道多、性价比高、易于和单片机接口的特点,可广泛应用于各种数 据采集系统 。 tlc1543 为 20 脚 dip 装的 cmos 10 位开关电容逐次 a/d 逼近模数转换器,引脚 排列如图 2 所示,a0-a10 是 11 个模拟输入端,输入转换电压;vcc 与 gnd 分别是 电源引脚,ref+和 ref-为参考电源的正负引脚, ref-通常接系统的地;gnd 接地, 作为模数转换时的参考点,其余引脚是 tlc1543 与 cpu 的接口,cs 为片选端,低电 平有效,此电路中,在 cs 端的一个下降沿变化将复位内部计数器并控制和使用 address(17 脚)、i/o clock (18 脚)和 data out(16 脚)使能。注意 tlc1543 芯片内部有一个 14 通道多路选择器,可选择 11 个模拟输入通道或 3 个内部自测电 压中的任意一个进行测试,芯片内设有采样-保持电路,在转换结束时,eoc(19 脚) 输出端变高表明转换完成,内部转换器具有高速(10s 转换时间),高精度(10 位分辨率,最大1lsb 不可调整误差)和低噪声的特点。 tlc1543 工作时序 tlc1543 工作时序如图 3 示,其工作过程分为两个周期:访问周期和采样周期 (采样、保持)。工作状态由 cs 使能或禁止,工作时 cs 必须置低电平,cs 为高电 平时,i/o clock、address 端被禁止,同时 data out 为高阻状态。当 cpu 使 cs 变 低时,tlc1543 开始数据转换,i/o clock、address 使能,data out 脱离高阻状态, 随后,cpu 向 address 提供 4 位通道地址,控制 14 个模拟通道选择器从 11 个外部 模拟输入和 3 个内部自测电压中选通 1 路送到采样电路,与此同时,i/o clock 输 入时钟时序,cpu 从 data out 端接收前一次 a/d 转换结果。i/o clock 从 cpu 接收 10 个时钟长度的时钟序列,前 4 个时钟用 4 位地址从 address 端装载地址寄存器, 用来选择所需的模拟通道,后 6 个时钟对模拟输入的参量提供采样控制时序,即模 拟输入的采样起始于第 4 个 i/o clock 下降沿,而采样一直持续 6 个 i/o clock 周 期,即一直保持到第 10 个 i/o clock 下降沿。转换过程中,cs 的下降沿使 data out 引脚脱离高阻状态并起动一次 i/o clock 工作过程。cs 上升沿终止这个过程并 在规定的延迟时间内使 data out 引脚返回到高阻状态,经过两个系统时钟周期后禁 止 i/o clock 和 address 端。 软件设计中,应注意区分 tlc1543 的 11 个模拟输入通道和 3 个内部测试电压地 址。附表为模拟通道和内部电压测试地址。程序软件编写应注意 tlc1543 通道地址 宁夏大学机械工程学院 2009 届毕业设计 6 必须为写入字节的高四位,而 cpu 读入的数据是芯片上次 a/d 转换完成的数据。在 本文后附的程序中对此有详细的说明。 2.4 at89c51 系列单片机的简介 所谓单片机,是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如 算术运算,逻辑运算、数据传送、中断处理等)的微处理器集于一个芯片而成,用单 片机改造原有的测量、控制仪表,能促进仪表向数字化、智能化、多功能化、综合 化、柔性化发展,本节简要介绍 at89c51 单片机。 at89c51 是美国 atmel 公司生产的低电压,高性能 cmos8 位单片机,片内含 4k bytes 的可反复擦写的只读程序存储器(perom)和 128 bytes 的随机存取数据存储 器(ram) ,器件采用 atmel 公司的高密度、非易失性存储技术生产,兼容标准 mcs- 51 指令系统,片内置通用 8 位中央处理器(cpu)和 flash 存储单元,功能强大。 at89c51 单片机可灵活应用于各种控制领域,它与 mcs-51 系列单片机相比有两 大优势:第一,片内存储器采用闪速存储器,使程序的写入更加方便;第二,提供 了更小尺寸的芯片,使整个硬件电路的体积更小。下面简要介绍 at89c51 单片机的 主要性能、内部结构及引脚功能。 主要性能: at89c51 是 atmel 公司生产的带 4k 字节闪速可编程可擦除只读存储器的 8 位单 片机,具有如下主要特性: 1) 与 mcs-51 兼容; 2) 4k 字节可重擦写 flash 闪速存储器; 3) 数据保留时间长(通常为 10 年) ; 4) 工作电压范围为 2.7-6v; 5) 寿命为 1000 次擦/写循环; 6) 全静态工作频率为 0-24mhz; 7) 2 个 16 位定时器/计数器; 8) 6 个中断源; 9) 可编程全双工串行通道; 10)直接对 led 驱动输出; 11)32 条可编程 i/o 线; 12)片内精确的模拟比较器; 13)片内震荡器和时钟电路; 14)低功耗的休眠和掉电模式等; 宁夏大学机械工程学院 2009 届毕业设计 7 15)128x8 位内部 ram; 16)三级加密程序存储器。 内部结构及引脚功能: at89c51 单片机的内部结构如图 4 所示,从图中可以看出,其内部结构与 8051 单片机的内部结构基本一致,区别只是增加了一个模拟比较器,下图 4 为它的结构 框图,大家可作为简要了解。 at89c51 内部结构 其引脚配置如图 5,功能描述如下: 宁夏大学机械工程学院 2009 届毕业设计 8 图 5 at89c51 芯片引脚图 vcc:电源电压 gnd:接地 p0 口:8 位双向 io 口,即地址数据总线复用口。作为输出口用时,每位 能吸收电流的方式驱动 8 个 ttl 逻辑门电路,对端口写“1”可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据 总线复用,在访问期间激活内部上拉电阻。 p1 口:p1 是一个带内部上拉电阻的 8 位双向 io 口,p1 的输出缓冲级可驱 动(吸收或输出电流)4 个 ttl 逻辑门电路。对端口写“1” ,通过内部的上拉电阻 把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻, 某个引脚被外部信号拉低时会输出一个电流(iil) 。fiash 编程和程序校验期间, 宁夏大学机械工程学院 2009 届毕业设计 9 p1 接收低 8 位地址。 p2 口:p2 是一个带有内部上拉电阻的 8 位双向 io 口,p2 的输出缓冲级可 驱动(吸收或输出电流)4 个 ttl 逻辑门电路。对端口写“1” ,通过内部的上拉电 阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻, 某个引脚被外部信号拉低时会输出一个电流(iil) 。在访问外部程序存储器或 16 位 地址的外部数据存储器(例如执行 movxdptr 指令)时,p2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器(如执行 movxri 指令)时,p2 口线上的内容 (也即特殊功能寄存器(sfr)区中 r2 寄存器的内容) ,在整个访问期间不改变。 flash 编程或校验时,p2 亦接收高位地址和其它控制信号。 p3 口:p3 口是一组带有内部上拉电阻的 8 位双向 io 口。p3 口输出缓冲级 可驱动(吸收或输出电流)4 个 ttl 逻辑门电路。对 p3 口写入“1”时,它们被内 部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 p3 口将用上拉电阻 输出电流(iil) 。 p3 口除了作为一般的 io 口线外,更重要的用途是它的第二功能,如下表所 示: 端口引脚第二功能 p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 int0(外中断 0) p3.3 int1(外中断 1) p3.4 t0(定时计数器 0 外部输入) p3.5 t1(定时计数器 1 外部输入) p3.6 wr(外部数据存储器写选通) p3.7 rd(外部数据存储器读选通) p3 口还接收一些用于 flash 闪速存储器编程和程序校验的控制信号。 rst:复位输入。当振荡器工作时,rst 引脚出现两个机器周期以上高电平将 使单片机复位。 ale/prog:当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输 出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器,ale 仍以时钟振荡频 率的 l/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意 的是:每当访问外部数据存储器时将跳过一个 ale 脉冲。 psen:程序储存允许, (psen)输出是外部程序存储器的读选通信号,当 at89c51 由外部程序存储器取指令(或数据)时,每个机器周期两次 psen 有效,即 输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的 psen 信号不出现。 宁夏大学机械工程学院 2009 届毕业设计 10 ea/vpp:外部访问允许。欲使 cpu 仅访问外部程序存储器(地址为 0000hffffh) ,ea 端必须保持低电平(接地) 。需注意的是:如果加密位 lb1 被编程, 复位时内部会锁存 ea 端状态。 如 ea 端为高电平(接 vcc 端) ,cpu 则执行内部程序存储器中的指令。 flash 存储器编程时,该引脚加上+12v 的编程允许电源 vpp,当然这必须是该 器件是使用 12v 编程电压 vpp。 xtal1:振荡器反相放大器的内部时钟发生器的输入端。 xtal2:振荡器反相放大器的内部时钟发生器的输出端。 2.5 显示电路设计 根据技术要求须将测量结果显示出来,at89c51单片机的p2口的高6位输出的地 址码经三极管接数码管的公共端,作为6位数码管显示的地址线进行分时选通,采用 动态扫描方式,数码显示电路的作用是实现六位数码管的数值显示,即显示测量输 入电压,测量数据在显示时需经过转换,使其成为十进制bcd码。 宁夏大学机械工程学院 2009 届毕业设计 11 这里使用的是普通 led 数码管时,工作电流选择在 10ma 左右(一般情况都如此), 这样既保证亮度适中,又不会损坏器件,注意使用时必须在数码管的每段串接一适 当阻值的限流电阻。电路图如下: 图 9 显示电路 v cc r 2 r 3 r 4 r 5 r 6 r 7 r 8 r 9 r 10 r 11 r 12 r 14 r 15 r 13 p 00 p 01 p 02 p 03 p 04 p 05 p 0 6 p 0 7 w 13 w 14 w 15 w 16 w 12 w 11 q 2 q 4q 5q 3q 6 w 13 w 14 w 15 w 16 w 2 w 3 w 4 w 5 w 6 1 a f 2 3 b e d h c g 4 a b 2 f 5 4 3 2 1 6 1 2 3 4 5 7 8 9 10 11 12 6 7 8 9 10 c h e d g w 1 w 2 w 3 w 5 w 6 p 01 p 05 p 00 p 04 p 03 p 02 p 07 w 4 p 06 p 02 p 07 p 04 p 03 p 06 p 01 p 00 p 05 1 q 1 w 11 w 12 w 1 宁夏大学机械工程学院 2009 届毕业设计 12 3 3 系统的硬件系统的硬件 3.1 系统硬件设计 设计方案的确定 在广泛的自动控制领域中,人们对越来越多的仪表开始实现智能化要求。大家 都知道,传统的指针式电压表在检测速度、准确度以及仪表的检测功能等方面已经 不能满足现代化发展的要求,所以本设计考虑在数字化的基础上设计一个多路输入 电压表,该系统可进行多路电压采集、控制、数字传送与显示,并具有测压误差小、 测量精度高、分辨率高、抗干扰能力强、集成方便、数据可存储等优点,以便更智 能化的进行电压测量控制。 综上所述,本设计系统可概括为主要由三大功能构成:多路信号的采集与控制、 信号的分析与处理、结果的输出与显示,通常方案都是用 51 单片机+a/d 转换芯片, 这里选用 at89c51 单片机和 tlc1543a/d 转换芯片及 6 位数码显示管来完成,前面对 其组成部分的功能特点已有所描述,这里不再追述。方案见图 6,首先通过传感器 将被测量的连续变化的模拟电压转换成模拟电信号送入 tlc1543a/d 转换芯片中,由 模数转换器组成的模数转换控制电路对输入的模拟电信号进行取样、转换,再将转 换的数字量送进单片机,通过对单片机进行的程序设计来完成数据的分析处理,从 而得到控制电路的实现,最后由显示电路显示转换后的测量结果,即进行程序控制, 使其在六位数码管的后四位数码管上轮流显示 tlc1543 各通道的测量值,同时用十 六进制表示的通道号显示在第 1 位数码管上。注意,这里 tlc1543 模数转换器采用 了串行接口,这使得这类芯片与单片机的硬件连接变得相对简单,但同时带来了软 件编制的复杂性,因此要尤为注意。 at89c51 单片机 驱动 电路 led 显示 按键 tlc1 543a /d 转换 输 入 电 压 3.2 绘制系统硬件电路图了解其工作原理 宁夏大学机械工程学院 2009 届毕业设计 13 结合以上各部分单元电路的功能分析,对照系统技术要求进行全面分析,得出 系统硬件电路图,电路如图 9 所示。 按键 k1、k2、k3、k4 分别控制 int0(中断 0) 、int1(中断 1) 、t0(计数/定 时 0) 、t1(计数/定时 1)接口,即控制外部中断和外部定时/计数的两种请求输入 端。x1、x2 为内部时钟发生器的输入、输出端,外接晶振电路,p1 口具有通用输入 输出功能,在此访问外部存储器,作为输入地址总线用,p1.0、p1.1、p1.2、p1.3 和 p1.4 分别与 eoc、时钟、地址、数据、片选端分别相连。vcc 与 gnd 分别是电源 引脚,ref+(14 引脚,通常为 vcc)和 ref-为参考电源的正负引脚,电阻 r1 和稳 压二极管 t1 组成分压电路,连接至 tlc1543 的 ref+端,作为其辅助参考电压, ref-(13 引脚)通常接系统的地,达到一点接地的要求,以减少干扰,gnd 接地, 作为模数转换时的参考点,其余引脚是 tlc1543 与 cpu 的接口,cs 为片选端,低电 平有效,此电路中,工作状态由 cs 使能或禁止,cs 为高电平时,i/o clock、address 被禁止,同时 data out 为高阻状态。当 cpu 使 cs 变低时, tlc1543 开始数据转换,i/o clock、address 使能,data out 脱离高阻状态,随后, cpu 向 address 提供 4 位通道地址,控制 14 个模拟通道选择器从 11 个外部模拟输 入和 3 个内部自测电压中选通 1 路送到采样电路,与此同时,i/o clock 输入时钟 时序,cpu 从 data out 端接收前一次 a/d 转换结果。i/o clock 从 cpu 接收 10 个 时钟长度的时钟序列,前 4 个时钟用 4 位地址从 address 端装载地址寄存器,选择 所需的模拟通道,后 6 个时钟对模拟输入的参量提供采样控制时序,即模拟输入的 采样起始于第 4 个 i/o clock 下降沿,而采样一直持续 6 个 i/o clock 周期,即一 直保持到第 10 个 i/o clock 下降沿。转换过程中,cs 的下降沿使 data out 引脚脱 离高阻状态并起动一次 i/o clock 工作过程。cs 上升沿终止这个过程并在规定的延 迟时间内使 data out 引脚返回到高阻状态,经过两个系统时钟周期后禁止 i/o clock 和 address 端。工作过程如下: 开始,进行初始化设置,p0、p1、p2 端口全置 1,禁止各芯片使能,关闭显示 器,设置定时器工作方式, (此选 t0,使用方式 1)启动 t0,开总允许中断, ,开启 t0 中断,计数器清零,将第 2 个显示器消隐,不使用。先选取一通道,将通道地址 送入,调用模数转换子程序,片选端置低,tlc1543 工作状态变为使能开始转换, 取出 a 中所存地址的高四位装载输入地址寄存器,同时设置 4 个时钟脉冲,即时钟 从 cpu 接收 4 个时钟长度的时钟序列,后补 6 个时钟脉冲,对数据进行采样控制时 序用,使其完成转换之后,片选端置高,终止转换。再次启动转换,芯片使能,此 时数据输出端置 1,启动输出,第二轮第一个脉冲开始,转换后输出一位(d10), 第二个时钟脉冲开始, 宁夏大学机械工程学院 2009 届毕业设计 14 转换输出端输出第二位(d9),保存数据至r0中,后8个时钟脉冲,输出转换后数 据的低8位,存入r1中,片选端置1,关闭,禁止芯片使能 , 调用十进制转换程序对 转换后的数据进行调整 ,十进制调整后数据变为16位,取低8位中的低四位由第3个 显示器显示,高4位由第4个显示器显示,高8位的高4位有第6个显示器显示,低4位 由第5个显示器显示。通道号送至第1个数码显示管。如此完成在六位数码管的后四 位数码管上轮流显示tlc1543 各通道的测量值,同时用十六进制表示的通道号显示 在第1 位数码管上的功能。 宁夏大学机械工程学院 2009 届毕业设计 15 图 9 使用 tlc1543 制作多路输入电压表电路图 宁夏大学机械工程学院 2009 届毕业设计 16 4 4 系统的软件系统的软件 4.1 tlc1543 与 89c51 接口程序 tlc1543 与 at89c51 接口程序应完全依照 tlc1543 的工作时序编写,主要由 conveter 子程序组成。由于转换完成的数据为 10 位,软件编写时将数据的高位字 节存放在 2eh 单元中,低位字节存放在 2fh 单元中。其中 r1、r2 寄存器存放 a/d 转 换结果,r3 设置转换后先输出数据的高 8 位,r4 存放通道地址,dout 为转换数据 输出端,本例程序中 89c51 晶振为 11.0592mhz。其程序清单如下: org 0000h ;起始指令 ajmp main ;引向主程序入口 0rg 0100h ;起始指令,指明后面程序的起始地址 main: mov sp,#60h ;主程序,指针指向当前 60h 单元 mov a,#0ffh ;把 0ff 送入 a,即 a 内容全置 1 mov r4,#00h ;赋 a/d 通道地址初值 mov r5,#15 ;采样的通道总数,因模数转换为上次数据,故设 置 15 个 mov r1,#30h ;设置 r1 的初始单元为 30h mov r2,#31h ;设置 r2 的初始单元为 31h repeat: mov p1,#04h ; clr clk ;初始化,i/o clock 清零,禁止使能 setb cs ;片选端 cs 置高,禁止使能 setb dout ;初始化,转换数据输出端置高,禁止使能 mov a,#0ffh ;把 0ffh 送入 a,即 a 内容全置 1 宁夏大学机械工程学院 2009 届毕业设计 17 lcall convter ;调用转换子程序 mov r1,2fh ;2fh 中存入的转换后数据的低位送入 30h 单元中 mov r2,2eh ;2eh 中存入的转换后数据的高位送入 31h 单元中 mov a,r4 ;把 r4 存放的通道地址送入 a 中 add a,#10h ;通道地址加 1,指向下一通道地址(a1), 注意是高 4 位加 1 xch a,r4 ;a 内容与 r4 内容互换,a4 存通到地址 inc r1 inc r1 ;r1 两次加 1,指向 32h 地址单元 inc r2 inc r2 ;r2 两次加 1,指向 33h 地址单元 lcall delay ;调延时子程序 djna r5,repeat ;所有通道转换结束后,等待循环,否则转 repeat 继续执行 ajmp $ ;暂停 转换子程序 convter: push acc ;将 a 内容推入 61h 中 clr cs ;cs 置低,1543 芯片启动,开始使能 mov a,r4 ;送入通道地址,开始采样 nop ;等待 mov r3,#8 ;设置转换后先输出数据的高 8 位 宁夏大学机械工程学院 2009 届毕业设计 18 loop: mov c,dout ;转换输出端输出一位 nop ; 等待 mov addr,c ;将输出的一位装载到地址寄存器中 setb clk ;时钟置高,启动一个时钟脉冲 nop ;等待 clr clk ;时钟置低,一个时钟脉冲完毕 djnz r3,loop ;等待数据的高 8 位输出完毕 mov c,dout ;转换输出端再输出一位,即数据第 9 位 mov b.1,c ;将此位存入 b.1 中 setb clk ;时钟置高 nop ;等待 clr clk ;时钟置低,第九个时钟脉冲结束 mov c,dout ;继续输出数据第十位(最低位) mov b.0,c ;把此位存放到 b.0 中 setb clk ;时钟置高 nop ;等待 clr clk ;时钟置低,第十个时钟脉冲结束 clr dout ;转换数据输出端 dout 清零 rl a ;a 内容左移一位 rl a ;将 a 内容高两位移置 acc.1 与 acc.0 中 宁夏大学机械工程学院 2009 届毕业设计 19 mov c,acc.1 ;取 acc.1 内容,即原数据最高位 mov b.2,c ;把其放入 b.2 中 mov c,acc.0 ;取 acc.0 内容,即原数据的第 2 个高位 mov b.3,c ;把其放入 b.3 中 mov c,b.1 ;取 b.1 内容,即原数据第 9 位 mov acc.1,c ;把其放入 acc.1 中 mov c,b.0 ;取 b.0 内容,即数据第 10 位(最低位) mov acc.0,c ;把其放入 acc.0 中 mov 2fh,a ;转换后数据的低 8 位存至 2fh 单元中 mov c,b.2 ;取 b.2 内容,即原数据最高位 mov b.1,c ;把其放到 b.1 中 mov c,b.3 ;取 b.3 内容,即原数据的第 2 个高位 mov b.0,c ;把其放入 b.0 中 anl b,#00000011b ;清 b 的高六位,取低两位 mov 2eh,b ;将转换后数据的高 2 位存入 2eh 单元中 pop acc ;61h 单元中的内容推出 ret ;返回 repeat 程序 delay: mov 51h,#200 delay1: djnz 51h,delay1 ret 宁夏大学机械工程学院 2009 届毕业设计 20 end 由 tlc1543 构成的上述数据采集系统作为一个大型数据监控系统的分系统已成 功地应用在某通信领域,实践证明,该系统具有采样精度高、转换速度快的特点, 具有较高的性价比,可广泛适用于各种数据采集领域。以上程序的编写,将有助于 我们更好的进行多路输入电压表的软件设计。 4.2 系统程序流程图 程序流程图则是程序的结构和各种功能模块的连接,也是整个程序的核心部分, 在本系统中,首先要确定的是程序的总体构成,其主要功能应包括:数据采集、信 号分析和处理、数据文件存储、显示等。 根据设计要求结合硬件电路,在编写程序中要编写一段数据调整程序,对转换 输出的数据进行调整,以便于驱动数码显示管;其中还应注意硬件显示电路采用了 动态扫描显示,在动态扫描显示方式中,动态扫描的频率有一定的要求,频率太低, 数码管 led 将会出现闪烁现象,通常在数码管点亮时间间隔一段均取 5ms 左右为宜, 这就要求在编写程序时,使其点亮并保持一定时间,所以在程序编写时还要考虑到 显示子程序。总结以上所分析,程序流程图如图 6 所示。 宁夏大学机械工程学院 2009 届毕业设计 21 图图 6 6 流程图流程图 主程序: 定义各引脚: gcoun;通道计数器 addr;地址端 cs;片选端 clk;时钟端 dout;数据输出端 hidden;消隐码 counter;显示程序用计数器 dispbuf;显示器 r2;存放通道号 org 0000h ;起始指令,指定后面程序的首地址 jmp start ;开始程序入口 org 000bh ;使用定时器t0中断 jmp disp ;显示程序入口 org 30h start: mov sp,#60h ;初始化程序,sp指针指向当前60h单元 宁夏大学机械工程学院 2009 届毕业设计 22 mov p1,#0ffh ;初始化,p1口禁止使能 mov p0,#0ffh ;关闭数码管显示器 mov p2,#0ffh ;同上 mov tmod,#01h ;设置定时器的工作方式,当前选定时器t0,使 用方式1 mov th0,#f4h ;赋t0初值高8位 mov tl0,#48h ;赋t0初值低8位 setb tr0 ;启动t0 setb ea ;开总允许中断 setb et0 ;开t0中断 mov counter,#0 ;显示程序用计数器清零 mov dispbuf+1,#hidden ;将第2个显示器消隐,不使用 mov gcoun,#0 ;通道计数器

温馨提示

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

评论

0/150

提交评论