基于AT89C51的数据采集系统设计新方法.docVIP

基于AT89C51的数据采集系统设计新方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于AT89C51的数据采集系统设计新方法

基于AT89C51的数据采集系统设计新方法 摘要: 结合ADC0809、MAX232等器件的性能特点, 同时运用单片机外围电路仿真工具(Proteus)、虚拟串口工具(VSPD XP) 和串口调试软件(ComMonitor V2.0), 给出了一种基于AT89C51单片机的数据采集系统的软硬件设计过程。 关键词: 单片机; 数据采集; proleus仿真; 虚拟串口工具 0 引言 近年来, 随着制造技术的发展, 单片机的价格越来越低, 性能却不断提升, 因而其应用范围也越来越广。然而在开发基于单片机的应用系统时, 传统方法一般都需要大量的硬件设备, 这些设备极易损坏而且携带不方便。为此, 本文基于AT89C51数据采集系统详细说明了如何利用Proteus和两款串口仿真软件来进行单片机程序及外围电路的仿真设计。采用该方法可以大大简化硬件电路测试和系统调试过程, 对单片机系统开发具有指导意义。本文介绍的基于AT89C51单片机的数据采集系统能实现16路信号输入, 每一路都是0~10 mV的信号, 每秒钟采集一遍, 从而将数据传给上位PC计算机。 1 硬件设计 1.1 主控芯片AT89C51是一种带有4 KB闪烁可编程可擦除只读存储器的低电压, 高性能CMOS 8位微处理器, 可为很多嵌入式控制系统提供灵活且价廉的方案。所以, 本设计采用ATMEL公司AT89C51 作为程序的主控芯片。AT89C51数据总线是由P0口提供的, P0口本身能以多种方式提供数据总线和地址总线。当ALE输出信号为高电平时, P0将输出的数据锁入总线驱动器中作为地址的低8位, 然后和P2送出来的高8位地址一起组成一个完整的16位地址,以寻址到外部的64KB的地址空间。AT89C51的地址总线比较简单(只有3个: RD、WR、PSEN),其中RD是用来读取外部数据内存的控制线, WR是用来写数据到外部数据内存的控制线, PSEN是用来存取外部程序内存的读取控制线。由于P0口是数据和地址分时复用口, 故要进行地址锁存, 本设计使用74HC573作为锁存器。 1.2 系统硬件电路 本系统的硬件电路原理如图1 所示。因为ADC0809的地址选择端A、B、C都接地, 所以ADC0809的数据采集通道只有IN0被选通。16路模拟信号连接到多路选择模拟开关HCC4067后,即可通过地址选择端A、B、C、D进行选择, 每一次选通一路, 选通的通道经IO COM X和ADC0809的IN0相连, 以进行A/D转换。P2.7 (地址总线最高位A15) 可作为A/D转换的启动开关,P2.7为低电平有效。在启动A/D转换时, 可由写信号WR和P2.7控制ADC0809的地址锁存和转换启动。而在读取转换结果时, 则由读信号RD和P2.7 控制ADC0809 的OE 信号。若令P2.7 为0, 74HC573的A、B、C、D即可给出被选择的模拟通道的地址, 此时若ABCD=0000, 则16路信号的IO0被选通, 并将其数据送到ADC0809的IN0中, 地址是7FF0H; 若ABCD=1111, 地址为7FFFH, 则指向IO15。所以, 16路信号依次对应的地址为7FF0H~7FFFH。转换完成后, 数据将保存到一数组中, 直到当上位PC机通过串行口发信号时, AT89C51通过检测地址是否和本机地址相符来作出动作。如果地址相符, 则发送A/D转换结果, 如不相符, 则继续等待。 1.3 信号选通与调理 本系统要求有16路模拟信号输入, 而且必须将这些信号互相隔离, 然后才能对这些信号逐一选通后进入A/D转换。为此, 本系统选用了16选1多路模拟开关HCC4067。 一般传感器的输出信号都比较微弱, 要将该微弱信号转换成有用的信号以便于后期使用, 就要加入信号调理电路, 其作用是进行信号放大和去除干扰等。本设计中的信号输入每路都是0~10mV, 但ADC0809的输入要求是0~5 V, 因此选用运算放大器OP07来进行信号放大。OP07是一种精密运算放大器, 它使用双极性电源供电, 精度较高, 放大倍数为500, 可把0~10 mV信号放大到0~5 V。使用OP07的信号调理电路如图2所示。 1.4 A/D采样电路 ADC0809是美国NS公司生产的CMOS组件,是一种8路输入单片模数转换器件, 采用逐位逼近式A/D转换原理, 它的输出输入接口全部为TTL电平, 数据输出口线为三态, 可以直接接到微机系统总线上, 而无需另加I/O接口芯片。由于本设计中使用16选1模拟开关来进行信号的选择,因此,ADC0809的信号选择功能就不使用了, 设计时把ADC0809的地址选择端A、B、C都接地, 即ABC=000, 这样, 选通通道始终是IN0。将EOC通过非门连接到AT89C51的IN

文档评论(0)

kaiss + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档