DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 126|回复: 0
打印 上一主题 下一主题

基于AT89S52的数据采集系统

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:18:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 引言
???
数据采集是目前一种流行且实用的技术。经调查,目前数据采集器的市场需求量大,以数据采集器为核心构成的小系统应用广泛,因此开发高性能的数据采集器具有良好的市场前景。本文以实验室数据采集、工业现场数据采集、野外数据采集为主要方向,设计一款结构简单、操作方便、高性价比、具有显示、记录存储功能的数据采集系统。

2 数据采集系统设计
2.1 系统硬件设计?
???
数据采集系统硬件电路包括单片机控制、监控、A/D采样、显示驱动、数据存储、数据传输等模块。图1所示为数据采集系统组成框图。
2.1.1 单片机控制模块
???
本数据采集系统的单片机控制模块选用AT89S52。AT89S52具有40个引脚,8 Kb Flash片内程序存储器,1个全双工串行通信口,内置看门狗(WDT)电路。



2.1.2 监控模块
??? 测控系统中存在电源开断、瞬时电压不稳定等因素,造成系统死机、信息丢失、运行不稳定等故障。为实现系统安全可靠、稳定、实时运行,须在测控系统中加入监控模块。系统的监控模块采用X25045,该器件具有电压监控、看门狗定时器和E2pROM等功能,可以直接与微控制器的I/O端口串连。
2.1.3 A/D采样模块
???
A/D采样模块采用TLCl543。TLC1543是TI公司采用SPI技术的模数转换器,具有输入通道多、高速、高分辨率、高性价比,易与单片机接口等特点。TLC1543的控制端CS、I/O CLOCK、ADDRESS和数据输出端DATAOUT遵循串行外设接口SPI协议。虽然51系列单片机未内置SPI接口,但仅需通过软件模拟SPI协议即可实现通信。TLC1543和微处理器的串行接口之间可通过一个4线接口高速传输数据。
2.1.4 显示驱动模块
???
系统显示驱动模块采用PS7219。PS7219是一种高性价比的多位LED显示管理器,采用同步串行外设接口(SPI),可与任何单片机相连,并可同时驱动8位LED。
2.1.5 串行通讯接口电路
???
在工业测控系统中,常用于51系列单片机采集现场模拟量、开关量,而PC机用于监控整个控制现场。这两者间的数据传输或所构成的局部网络、多用户系统和分布式控制系统一般采用串行通信,PC机为主机,单片机为从机。本系统数据传输采用异步串行通讯,采用Maxim公司的典型串行通信接口器件MAX232ECP实现数据传输。
2.1.6 数据存储模块
???
为了实现系统数据定时采集和按日期保存数据,扩展一片实时时钟日历器件SD2001E。该器件具有I2C总线接口,内置实时时钟所需电池、晶体振荡器、电源管理等电路。系统掉电时可保证时钟正常运行。SD2001E无需外围元件,即可构成高精度实时时钟及具有256 Kb非易失性SRAM的数据存储电路。
??? SD2001E采用24引脚DIP封装。SD2001E的主要特性:年、月、日、星期、时、分、秒的bCD码输入/输出;I2C总线接口(包括实时时钟部分和SRAM部分);自动日历到2099年(包括闰年自动换算功能);内置晶体振荡器,出厂前已对时钟校准,保证精度为±4×10-6,即时钟年误差小于2 min;低功耗,典型值为1.0μA(VDD=3.5 V);工作电压为3.0 V~5.5 V:可设置两路闹钟输出及1 Hz~32 768 Hz的方波信号输出;可设置每分钟固定中断输出或选定频率固定中断输出;内置充电电路和充电电池,电源管理电路以及稳压电路和电池掉电检测电路;内置256 Kb的非易失性SRAM,其擦写次数为100亿次,且无内部写延时。
??? 本采集系统设计利用SD2001E实现以下功能:
??? (1)实时时钟日历。SD2001E可提供高精度的时钟及日历功能,以满足具有定时数据采集、输出控制、数据保存以及定时报警等功能的嵌入式系统需要,同时也可以为系统提供时间以及日期显示功能。
??? (2)数据保存。利用SD2001E片内32 Kb、擦写数为100亿次的高性能NVRAM,无需考虑存储器的擦写寿命及数据存储的可靠性问题。因而,SD2001E为那些需要频繁读写数据的应用提供了解决方案。
??? (3)定时输出。当系统需要以分钟为基本单位定时输出时(如采集周期固定的多路数据采集、巡回检测系统等),可将SD2001E状态寄存器的INT1ME位置“1”,INT1FE位置“0”,以选择为每分钟边沿中断输出或将INT1ME、INT1FE同时置“1”选择为每分钟固定中断输出。通过单片机的计数器或中断次数软件计数的方法,可得到以分钟为单位的任意时间输出。
??? SD2001E与AT89S52单片机的硬件连接电路如图2所示。由于AT89S52没有I2C总线,因此采用P2.0和P2.1接口线模拟I2C总线。SD2001E内部SRAM的I2C总线接口SDAE与SDA并联,SCLE与SCL并联。



2.2 系统软件设计
???
利用ASM51汇编语言编写数据采集与数值计算、数据显示、数据存储和数据通讯软件;采用可视化语言Vb6.0设计上位机软件,编写上位计算机数据接收和处理软件。
??? 系统主程序为数据采集系统的主体部分,它由自检与初始化、A/D转换程序、显示驱动、监控程序、按键程序、数据上传通讯、数据定时存储等模块组成。首先是系统初始化。当系统运行正常,则开始运行数据采集软件的主程序,使用默认配置参数设定系统的采集通道数,完成数据采集、数据显示、数据传输及数据定时存储等功能。系统软件设计流程图如图3所示。



3 结束语
??? 本数据采集系统选用了工业级器件,能够适应油田野外恶劣环境,保证系统在宽泛的电压范围内正常工作,低功耗;实时时钟日历器件SD2001E能实现数据定时采集和按时间日期保存数据。该数据采集系统不仅能独立工作,还可进一步上传处理数据,扩展系统。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-9-18 07:08 , 耗时 0.100585 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表