基于单片机的多路输入电压表的设计毕业设计.doc

上传人:文库蛋蛋多 文档编号:3939831 上传时间:2023-03-28 格式:DOC 页数:39 大小:374.50KB
返回 下载 相关 举报
基于单片机的多路输入电压表的设计毕业设计.doc_第1页
第1页 / 共39页
基于单片机的多路输入电压表的设计毕业设计.doc_第2页
第2页 / 共39页
基于单片机的多路输入电压表的设计毕业设计.doc_第3页
第3页 / 共39页
基于单片机的多路输入电压表的设计毕业设计.doc_第4页
第4页 / 共39页
基于单片机的多路输入电压表的设计毕业设计.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《基于单片机的多路输入电压表的设计毕业设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的多路输入电压表的设计毕业设计.doc(39页珍藏版)》请在三一办公上搜索。

1、(基于单片机的多路输入电压表的设计)摘要:在工业控制领域中,电压是一个十分重要的参考量,准确而实时的控制电压对于我们的工作有事半功倍的效果。随着微电子技术、计算机技术、通信技术和自动化技术的高速发展,过去我们所采用的一些传统的电压测控系统,存在着功能单一、速度慢、精度低、数据无法长期存储等问题,己经渐渐不能满足工业自动化和实际测量工作中多样性、多功能的需要,在这种背景下,人们对电压测控系统的检测速度、准确度以及仪表的检测功能等方面又提出了新的要求,而寻求这些问题的解决方案成为当前研究的焦点。关键词:电压表;A/D转换;TLC1543;编写程序(The design of the multi-c

2、hannel input voltmeter based on SCM) 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 auto

3、mation 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 automatio

4、n 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.KEY WORDS

5、: Voltmeter; A/D conversion; TLC1543; Write a program目 录1 前 言11.1本次毕业设计课题的目的、意义11.2 设计系统的发展与状况11.3 智能仪器的发展趋势32 系统的结构及原理组成框图52.1 系统结构及原理组成框图52.2传感器52.3模数转换器TLC1543的简介52.4 AT89C51系列单片机简介72.5显示电路设计113系统的硬件133.1系统硬件设计133.2绘制系统硬件电路图了解其工作原理134 系统的软件174.1 TLC1543与AT89C51接口程序174.2系统程序流程图及主程序214.3延时子程序244.4模

6、数转换程序245结论26参考文献28致 谢28外文翻译29附 件381 前 言1.1本次毕业设计课题的目的、意义在工业控制领域中,电压是一个十分重要的参考量,准确而实时的控制电压对于我们的工作有事半功倍的效果。随着微电子技术、计算机技术、通信技术和自动化技术的高速发展,过去我们所采用的一些传统的电压测控系统,存在着功能单一、速度慢、精度低、数据无法长期存储等问题,己经渐渐不能满足工业自动化和实际测量工作中多样性、多功能的需要,在这种背景下,人们对电压测控系统的检测速度、准确度以及仪表的检测功能等方面又提出了新的要求,而寻求这些问题的解决方案成为当前研究的焦点。近年来,形式多样的数字化仪器、仪表

7、已被广泛应用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域中,显示出了强大的生命力。为使电压表的测试系统也得到长足的数字化研究与开发,使我们的电压检测技术实现快速、可靠、低成本、数字化与网络化,以推动电压表的测量技术往更科学的水平发展,把电量及非电量测量提高到崭新的技术,本文考虑运用AT89C51单片机和TLC1543A/D转换芯片,根据数据采集的工作原理,设计实现了一个基于单片机原理的多路输入电压测控系统,该系统可以进行远程多路电压采集、控制、数字传送与显示,具有测压误差小、测量精度高、分辨率高、抗干扰能力强、可扩展性强、集成方便、可进行数据存储、打印、还可与PC进行实时通信

8、等优点,是研制和开发具有高性价比的新一代电压测控系统的核心器件,所以这种类型的电压表无论在功能和实际应用上,都具有传统指针式电压表无法比拟的特点,这使得它的开发和应用具有良好的前景。1.2 设计系统的发展与状况回顾电子仪器的发展历程,我们可以发现,从仪器使用的器件来看大致经历了三个阶段,即真空管时代、晶体管时代、集成电路时代。若从仪器的工作原理来看,又可以分为以下几代: 模拟仪器、分立元件式仪器、数字化仪器、智能仪器。目前电压表测试领域应用比较广泛的是模拟仪器和数字化仪器,智能化仪器在部分测试场合和测试参数中有所应用,本设计系统是以智能式仪表为主,设计一个多路输入电压表。 第一代-模拟仪器;这

9、类仪器在一些实验室多能看到,是以电磁感应基本定律为基础的指针式仪器,借助指针来显示最终结果,仪器应用和处理的信号均为模拟量,这类仪表的特点是:价格低廉、体积大、功能简单、响应速度慢,虽然测量精度低,但目前还是使用的相当普遍。第二代-分立元件式仪器;当20世纪50年代出现电子管,20世纪60年代出现晶体管时,便产生了以电子管或晶体管电子电路为基础的第二代测试仪器。第三代-数字化仪器;随着集成电路的出现,诞生了以集成芯片为基础的第三代仪器,这类仪器目前相当普及,如数字电话、数字式测温仪、数字频率计等。它们的基本工作原理是将模拟信号的测量转化为数字信号的测量,并以数字形式输出显示,适用于快速响应和较

10、高准确度的测量。数字式电子仪器与第一代模拟式电子仪器相比,具有精度高,速度快,读数清晰,直观的特点,其结果既能以数字形式输出显示,还可以通过打印机打印输出。此外,由于数字信号便于远距离传输, 因此数字式电子仪器又适用于遥测遥控。第四代-智能仪器;智能仪器是由数字化仪器进一步发展而来的,它是一类新型的,内部装有微处理器或单片机的微机化电子仪器,具有数据存储,运算和逻辑判断的能力,能根据被测参数的变化自动校正,自动补偿,自寻故障,以及远距离传输数据,遥测遥控等功能,可取代部分脑力劳动,也就是说, 这种仪器具备了一定的智能, 故称为智能仪器。其缺点是它的功能块都以硬件的形式存在,无论是开发还是针对应

11、用,都缺乏灵活性。本设计系统是以智能式仪表为主,智能式仪表与模拟仪表相比,已经从测量的本质上发生了根本的改变,我们前面谈到模拟仪表是实时地测量被测信号,时间上是连续的没有间断点,而智能式仪表是由数字式仪表进一步发展而来的,如同数字式仪表一样,从时间的连续性上看,此种测量方式出现了信号时间上的断点,且由于利用了现代模拟电子技术改进了测量原理,所以通常这类仪表的准确度较高。从某种意义上讲,数字化仪表将测量过程分成两个阶段:对信号的“采样(取样、采集)”阶段和内部转换处理阶段,而智能式仪表除完成上两个阶段外,还需经过内部装有的微处理器或单片机进行数据的运算、分析和判断控制等功能。由于信号(DC)变化

12、很缓慢,所以人们充分利用了信号的这一特性,用采样测量的方法来代替过去传统的连续测量方法,尽管现代模拟电子技术发展到了相当高的水平,但用模拟的方式设计某些电路还是相当困难的。追溯过去,人们普遍采用的是模拟仪器,随着计算机(微处理器)以及数字信号处理软、硬件的飞速发展,人们开始改变对事物的观察手段、分析方法及对事物的处理方式,整个世界都开始进入“数字化”时代,数字电话、数字电视、数字音响、数码相机、数码摄像机等数字设备令人眼花缭乱。人们发现许多以往难以做到的事情,利用计算机(微处理器)来实现则变得非常简单、方便,如乘法器,对计算机而言仅仅是执行一条乘法指令,运算速度和运算结果的准确度毫无任何问题,

13、所以我们可以将许多复杂的处理交给计算机来完成,当时遇到唯一的问题是计算机无法直接与模拟世界打交道。为对温度、压力、流量、速度、位移等模拟物理量进行测量和控制,人们采用传感器把上述模拟量转换成能模拟物理量的电信号,即模拟电信号,再将模拟电信号经过ADC处理转换成计算机能识别的数字量,送进计算机,构成数据的采集。依据这个采集定理,我们知道如何保证信息不会丢失,因此数据采集技术成为了计算机与模拟世界打交道的重要环节,人们开始把更多的注意力集中放在了如何设计更好的数据采集单元及更好的数字信号处理方法上,同时,智能仪器技术正好符合这个发展趋势,大大的推动或带动了数字化测量的进一步发展,即进入了智能仪器时

14、代,人们开始不太关心各种物理量与测量的关系,这些由传感器制造商来完成,他们更为关心的是如何将信号(传感器的输出)准确的变换为计算机可识别的数据及如何设计信号处理软件,这种数据采集+软件分析、处理的模式引发了测试、测量领域的一场大革命。现在我们知道智能仪器的工作过程是:外部的输入信号(被测量)先经过输入电路进行变换,放大,整形和补偿等处理,然后再经模拟量通道的A/D转换接口转换成数字量信号, 送入单片机,单片机对输入数据进行加工处理,分析,计算等一系列工作, 并将运算结果存入数据存储器RAM中,同时,可通过显示器接口送至显示器显示,或打印机接口送至微型打印机打印输出,也可以将输出的数字量经模拟量

15、通道的D/A转换接口转换成模拟量信号输出,并经过驱动与执行电路去控制被控对象, 还可以通过通信接口(例如RS-232, GPIB等)实现与其他智能仪器的数据通信,完成更复杂的测量与控制任务。 1.3 智能仪器的发展趋势1. 微型化 智能仪器的微型化是指将微电子技术,微机械技术,信息技术等综合应用于智能仪器的设计与生产中,从而使仪器成为体积较小,功能齐全的智能化仪器.它能够完成信号采集, 线性化处理,数字信号处理,控制信号的输出,放大,与其他仪器接口以及与人交互等功能.微型智能仪器随着微电子技术, 微机械技术的不断发展,其技术不断成熟,价格不断降低, 因此其应用领域也必将不断扩大.它不但具有传统

16、仪器的功能, 而且能在自动化技术,航天,军事,生物技术,医疗等领域起到独特的作用.2. 多功能化 多功能本身就是智能仪器的一个特点.例如,为了设计速度较快和结构较复杂的数字系统,仪器生产厂家制造了具有脉冲发生器, 频率合成器和任意波形发生器等多种功能合一的函数发生器.这种多功能的综合型产品不但在性能上(如准确度)比专用脉冲发生器和频率合成器高,而且在各种测试功能上提供了较好的解决方案. 3. 人工智能化 人工智能是计算机应用的一个崭新领域,利用计算机模拟人的智能,用于机器人,医疗诊断,专家系统,推理证明等各个方面.智能仪器的进一步发展将含有一定的人工智能,即代替人的一部分脑力劳动,从而在视觉(

17、图形及色彩辨读), 听觉(语音识别及语言领悟),思维(推理,判断,学习与联想)等方面具有一定的能力.这样,智能仪器可以无需人的干预而自主地完成检测或控制功能.显然,人工智能在现代仪器中的应用,使我们不仅可以解决用传统方法很难解决的一类问题,而且还可望解决用传统方法根本不能解决的一些问题. 4. 部分结构虚拟化 测试仪器的主要功能都是由数据采集,数据分析和数据显示等三大部分组成的.随着计算机应用技术的不断发展, 人们利用PC机强大的图形环境和在线帮助功能,建立了图形化的虚拟仪器面板,完成了对仪器控制,数据采集,数据分析和数据显示等功能.因此,只要额外提供一定的数据采集硬件,就可以与PC机组成测量

18、仪器.这种基于PC机的测量仪器称之为虚拟仪器.在虚拟仪器中,使用同一个硬件系统, 只要使用不同的软件编程, 就可以得到功能完全不同的测量仪器.可见,软件系统是虚拟仪器的核心,因此,也有人称软件就是仪器. 5. 通信与控制网络化 系统编程技术(InSystem Programming,简称ISP技术)是对软件进行修改、组态或重组的一种最新技术。ISP技术消除了传统技术的某些限制和连接弊病,有利于在板设计,制造与编程。ISP硬件灵活且易于软件修改,便于设计开发。由于ISP器件可以像任何其他器件一样在印刷电路板(PCB)上处理,因此编程ISP器件不需要专门的编程器和较复杂的流程,只要通过PC机,嵌入

19、式系统处理器,甚至Internet远程网就可进行编程。 2 系统的结构及原理组成框图2.1系统结构及原理组成框图 多路输入电压表主要是由三大功能构成:多路信号的采集与控制、信号的分析与处理、结果的输出与显示,通常方案都是用51单片机+A/D转换芯片,本设计考虑运用AT89C51单片机和TLC1543A/D转换芯片及数码显示管来完成,首先通过传感器将被测量的连续变化的模拟电压转换成模拟电信号送入TLC1543A/D转换芯片中,由模数转换器组成的模数转换控制电路对输入的模拟电信号进行取样、转换,再将转换的数字量送进单片机,通过对单片机进行的程序设计来进行数据处理,从而实现控制电路;最后的显示电路主

20、要用于显示数据转换后的测量结果。系统的原理组成框图如图1所示。2.2传感器传感器是将被测信号转换为检测系统能识别的电信号。在电压表测量系统中,被控制或测量对象往往是连续变化的模拟量,而单片机所加工的信息都是数字量,这就需要通过传感器先将这些模拟信号转换成模拟电信号,送入A/D转换器中再转换成数字量。传感器的主要技术要求如下: (1)具有将被测量转换为后续电路可用电量的功能,转换范围与被测量实际变化范围(变化幅度范围、变化频率范围)相一致。 (2)转换精度符合整个测试系统根据总精度要求而分配给传感器的精度指标(一般应优先于系统精度的十倍左右),转换速度应符合整机要求。 (3)能满足被测介质和使用

21、环境的特殊要求,如耐高温、耐高压、防腐、抗振、防爆、抗电磁干扰、体积小、质量轻和不耗电或耗电少等。 (4) 能满足用户对可靠性和可维护性的要求。 目前传感器技术正向着系统化和智能化的方向发展,它不再是一个单独的测量元件,而是微机械与微电子技术、计算机技术、信号处理技术、电路与系统、传感技术、神经网络技术、模糊控制技术、虚拟仪器技术等多学科的综合性产物。 传感器是能够感受物体运动并将物体的运动转换成模拟电信号的一种灵敏的换能元件。传感器的种类很多,且有不同的分类方法。2.3模数转换器TLC1543的简介TLC1543是美国TI公司生产的多通道、低价格的模数转换器。采用串行通信接口,具有输入通道多

22、、性价比高、易于和单片机接口的特点,可广泛应用于各种数据采集系统 。 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芯片内部有一

23、个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、AD

24、DRESS使能,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下降沿。转

25、换过程中,CS的下降沿使DATA OUT引脚脱离高阻状态并起动一次I/O CLOCK工作过程。CS上升沿终止这个过程并在规定的延迟时间内使DATA OUT引脚返回到高阻状态,经过两个系统时钟周期后禁止I/O CLOCK和ADDRESS端。软件设计中,应注意区分TLC1543的11个模拟输入通道和3个内部测试电压地址。附表为模拟通道和内部电压测试地址。程序软件编写应注意TLC1543通道地址必须为写入字节的高四位,而CPU读入的数据是芯片上次A/D转换完成的数据。在本文后附的程序中对此有详细的说明。2.4 AT89C51系列单片机的简介所谓单片机,是一种集成电路芯片,采用超大规模技术把具有数据处

26、理能力(如算术运算,逻辑运算、数据传送、中断处理等)的微处理器集于一个芯片而成,用单片机改造原有的测量、控制仪表,能促进仪表向数字化、智能化、多功能化、综合化、柔性化发展,本节简要介绍AT89C51单片机。AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机可灵活应用于各种控制领域,它与MC

27、S-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) 可编程全双

28、工串行通道;10)直接对LED驱动输出;11)32条可编程I/O线;12)片内精确的模拟比较器;13)片内震荡器和时钟电路;14)低功耗的休眠和掉电模式等;15)128x8位内部RAM;16)三级加密程序存储器。 内部结构及引脚功能:AT89C51单片机的内部结构如图4所示,从图中可以看出,其内部结构与8051单片机的内部结构基本一致,区别只是增加了一个模拟比较器,下图4为它的结构框图,大家可作为简要了解。AT89C51内部结构其引脚配置如图5,功能描述如下:图5 AT89C51芯片引脚图Vcc:电源电压GND:接地P0口:8位双向IO口,即地址数据总线复用口。作为输出口用时,每位能吸收电流的

29、方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。FIash编程和程序校验期间,P1接收低8位地址。P2口:P2是一个带有内部上拉电阻的8位双向IO口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑

30、门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向IO口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

31、对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引脚出现两

32、个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的l/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。PSEN:程序储存允许,(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存

33、储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 XTAL1:振荡器反相放大器的内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的内部时钟发生器的输出端。2.5 显示电路设计根据技术要求须将测量结果显示出来,AT89C51单片机的P2口的高6位输出的地址码经三极管接数码管的公共端,作为6位数码管显示的地址线进行分时选通,采用动态扫描

34、方式,数码显示电路的作用是实现六位数码管的数值显示,即显示测量输入电压,测量数据在显示时需经过转换,使其成为十进制BCD码。这里使用的是普通LED数码管时,工作电流选择在10mA左右(一般情况都如此),这样既保证亮度适中,又不会损坏器件,注意使用时必须在数码管的每段串接一适当阻值的限流电阻。电路图如下:图9 显示电路3 系统的硬件3.1系统硬件设计设计方案的确定在广泛的自动控制领域中,人们对越来越多的仪表开始实现智能化要求。大家都知道,传统的指针式电压表在检测速度、准确度以及仪表的检测功能等方面已经不能满足现代化发展的要求,所以本设计考虑在数字化的基础上设计一个多路输入电压表,该系统可进行多路

35、电压采集、控制、数字传送与显示,并具有测压误差小、测量精度高、分辨率高、抗干扰能力强、集成方便、数据可存储等优点,以便更智能化的进行电压测量控制。综上所述,本设计系统可概括为主要由三大功能构成:多路信号的采集与控制、信号的分析与处理、结果的输出与显示,通常方案都是用51单片机+A/D转换芯片,这里选用AT89C51单片机和TLC1543A/D转换芯片及6位数码显示管来完成,前面对其组成部分的功能特点已有所描述,这里不再追述。方案见图6,首先通过传感器将被测量的连续变化的模拟电压转换成模拟电信号送入TLC1543A/D转换芯片中,由模数转换器组成的模数转换控制电路对输入的模拟电信号进行取样、转换

36、,再将转换的数字量送进单片机,通过对单片机进行的程序设计来完成数据的分析处理,从而得到控制电路的实现,最后由显示电路显示转换后的测量结果,即进行程序控制,使其在六位数码管的后四位数码管上轮流显示 TLC1543 各通道的测量值,同时用十六进制表示的通道号显示在第 1 位数码管上。注意,这里TLC1543模数转换器采用了串行接口,这使得这类芯片与单片机的硬件连接变得相对简单,但同时带来了软件编制的复杂性,因此要尤为注意。AT89C51单片机 驱动 电路LED显示按键TLC1543A/D转换输入电压3.2绘制系统硬件电路图了解其工作原理结合以上各部分单元电路的功能分析,对照系统技术要求进行全面分析

37、,得出系统硬件电路图,电路如图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+端,

38、作为其辅助参考电压,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输

39、入时钟时序,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 CLO

40、CK和ADDRESS端。工作过程如下:开始,进行初始化设置,P0、P1、P2端口全置1,禁止各芯片使能,关闭显示器,设置定时器工作方式,(此选T0,使用方式1)启动T0,开总允许中断,开启T0中断,计数器清零,将第2个显示器消隐,不使用。先选取一通道,将通道地址送入,调用模数转换子程序,片选端置低,TLC1543工作状态变为使能开始转换,取出A中所存地址的高四位装载输入地址寄存器,同时设置4个时钟脉冲,即时钟从CPU接收4个时钟长度的时钟序列,后补6个时钟脉冲,对数据进行采样控制时序用,使其完成转换之后,片选端置高,终止转换。再次启动转换,芯片使能,此时数据输出端置1,启动输出,第二轮第一个脉

41、冲开始,转换后输出一位(D10),第二个时钟脉冲开始,转换输出端输出第二位(D9),保存数据至R0中,后8个时钟脉冲,输出转换后数据的低8位,存入R1中,片选端置1,关闭,禁止芯片使能 , 调用十进制转换程序对转换后的数据进行调整 ,十进制调整后数据变为16位,取低8位中的低四位由第3个显示器显示,高4位由第4个显示器显示,高8位的高4位有第6个显示器显示,低4位由第5个显示器显示。通道号送至第1个数码显示管。如此完成在六位数码管的后四位数码管上轮流显示TLC1543 各通道的测量值,同时用十六进制表示的通道号显示在第1 位数码管上的功能。 图9 使用TLC1543制作多路输入电压表电路图4

42、系统的软件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,

43、#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的初始单元为31HREPEAT: MOV P1,#04H ; CLR CLK ;初始化,I/O CLOCK清零,禁止使能 SETB CS ;片选端CS置高,禁止使能 SETB DOUT ;初始化,转换数据输出端置高,禁止使能 MOV A,#0FFH ;把0FFH送入A,即A内容全置1L

44、CALL CONVTER ;调用转换子程序MOV R1,2FH ;2FH中存入的转换后数据的低位送入30H单元中MOV R2,2EH ;2EH中存入的转换后数据的高位送入31H单元中MOV A,R4 ;把R4存放的通道地址送入A中ADD A,#10H ;通道地址加1,指向下一通道地址(A1),注意是高4位加1XCH A,R4 ;A内容与R4内容互换,A4存通到地址INC R1 INC R1 ;R1两次加1,指向32H地址单元INC R2INC R2 ;R2两次加1,指向33H地址单元LCALL DELAY ;调延时子程序 DJNA R5,REPEAT ;所有通道转换结束后,等待循环,否则转RE

45、PEAT继续执行AJMP $ ;暂停转换子程序 CONVTER: PUSH ACC ;将A内容推入61H中 CLR CS ;CS置低,1543芯片启动,开始使能 MOV A,R4 ;送入通道地址,开始采样 NOP ;等待 MOV R3,#8 ;设置转换后先输出数据的高8位 LOOP: MOV C,DOUT ;转换输出端输出一位 NOP ; 等待MOV ADDR,C ;将输出的一位装载到地址寄存器中SETB CLK ;时钟置高,启动一个时钟脉冲NOP ;等待CLR CLK ;时钟置低,一个时钟脉冲完毕DJNZ R3,LOOP ;等待数据的高8位输出完毕MOV C,DOUT ;转换输出端再输出一位

46、,即数据第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中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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号