• 基于AT89C51单片机的数据采集系统设计新方法
  • 基于AT89C51单片机的数据采集系统设计新方法

      基于AT89C51单片机的数据采集系统设计新方法
     
             致芯科技为每位客户提供最科学最合理最低成本的解密方案与解密服务,深受客户的信赖与喜爱。咨询电话:010-57792822;手机:13466687255。
     
      随着制造技术的发展,单片机的价格越来越低,性能却不断提升,因而其应用范围也越来越广。然而在开发基于单片机的应用系统时,传统方法一般都需要大量的硬件设备,这些设备极易损坏而且携带不方便。为此,本文基于AT89C51数据采集系统详细说明了如何利用Pro-teus和两款串口仿真软件来进行单片机程序及外围电路的仿真设计。采用该方法可以大大简化硬件电路测试和系统调试过程,对单片机系统开发具有指导意义。
     
      本文介绍的基于AT89C5l单片机的数据采集系统能实现16路信号输入,每一路都是0~10mV的信号,每秒钟采集一遍,从而将数据传给上位PC计算机。
      主控芯片
      AT89C51是一种带有4KB闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,可为很多嵌入式控制系统提供灵活且价廉的方案。所以,本设计采用ATMEL公司的AT89C51作为程序的主控芯片。
      AT89C51数据总线是由P0口提供的,P0口本身能以多种方式提供数据总线和地址总线。当ALE输出信号为高电平时,P0将输出的数据锁入总线驱动器中作为地址的低8位,然后和P2送出来的高8位地址一起组成一个完整的16位地址,以寻址到外部的64KB的地址空间。AT89C51的地址总线比较简单(只有3个:RD、WR、PSEN),其中RD是用来读取外部数据内存的控制线,WR是用来写数据到外部数据内存的控制线,PSEN是用来存取外部程序内存的读取控制线。
      由于P0口是数据和地址分时复用口,故要进行地址锁存,本设计使用74HC573作为锁存器。
      系统硬件电路
      本系统的硬件电路原理。因为ADC0809的地址选择端A、B、C都接地,所以ADC0809的数据采集通道只有IN0被选通。16路模拟信号连接到多路选择模拟开关HCC4067后,即可通过地址选择端A、B、C、D进行选择,每一次选通一路,选通的通道经IOCOMX和ADC0809的IN0相连,以进行A/D转换。P2.7(地址总线最高位A15)可作为A/D转换的启动开关,P2.7为低电平有效。在启动A/D转换时,可由写信号WR和P2.7控制ADC0809的地址锁存和转换启动。所以,16路信号依次对应的地址为7FFOH~7FFFH。转换完成后,数据将保存到一数组中,直到当上位PC机通过串行口发信号时,AT89C51通过检测地址是否和本机地址相符来作出动作。如果地址相符,则发送A/D转换结果,如不相符,则继续等待。
      信号选通与调理
      本系统要求有16路模拟信号输入,而且必须将这些信号互相隔离,然后才能对这些信号逐一选通后进入A/D转换。为此,本系统选用了16选1多路模拟开关HCC4067。
      一般传感器的输出信号都比较微弱,要将该微弱信号转换成有用的信号以便于后期使用,就要加入信号调理电路,其作用是进行信号放大和去除干扰等。本设计中的信号输入每路都是0~10mV.但ADC0809的输入要求是0~5V,因此选用运算放大器OP07来进行信号放大。OP07是一种精密运算放大器,它使用双极性电源供电,精度较高,放大倍数为500,可把0~10mV信号放大到0~5V。使用OP07的信号调理电路。
      A/D采样电路
      ADC0809是美国NS公司生产的CMOS组件,是一种8路输入单片模数转换器件,采用逐位逼近式A/D转换原理,它的输出输人接口全部为TTL电平,数据输出口线为三态,可以直接接到微机系统总线上,而无需另加I/O接口芯片。
      由于本设计中使用16选1模拟开关来进行信号的选择,因此,ADC0809的信号选择功能就不使用了,设计时把ADC0809的地址选择端A、B、C都接地,即ABC=000,这样,选通通道始终是IN0。将EOC通过非门连接到AT89C51的INT0脚,可通过查询方式来检测转换是否完成。
      由于ADC0809的典型工作频率640kHz不太容易得到,所以通常使用相近频率且容易获得的信号进行替代。本设计中,单片机的晶振频率12MHz,ALE信号输出为晶振频率的六分之一(即2MHz、),可将该2MHz经过74HC74四分频后得到500kHz信号来给ADC0809使用。
      串行口控制
      AT89C51内部有一个可编程的全双工串行通信接口,该口能同时进行串行发送和接收,以便通过RXD引脚(串行数据接收端)和TXD引脚(串行数据发送端)与外界进行通信。AT89C51串行口有四种工作方式,本设计中,AT89C51串行口工作于方式3。串口方式3的波特率是可变的,它可由定时器T1的溢出率来控制。通过计算可以得到T1的装载初值为0xfd,波特率为9600bps。

    更多型号芯片解密可致电北京致芯科技24小时服务热线:13466687255 010-57436217

    点击这里给我发消息 点击这里给我发消息

      Copyright © 2004-2012 致芯科技 版权所有