EDN China > 设计实例 > 嵌入式系统 > MCU(单片机应用) > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于89C51单片机的远程数据采集系统设计

霍爱清?? 2012年09月05日 ?? 收藏2
工业生产过程中常常需要对温度、湿度、压力、流量等各种工艺参数随时进行检测和监控,同时还要将检测到的数据及时传递给上位机,以实现对参数的随机查询, 对信息的存储与处理,及时调整控制方案,提高生产效率和产品质量。为此,笔者以89C51单片机作为主控制器设计了一种简单易行的远程数据采集系统。

1 系统硬件电路的设计

  远程数据采集系统框图,由两部分组成:一是基于89C51实现的现场数据采集电路,二是PC机与89C51之间的远程通讯电路。

1.1 89C51数据采集系统

数据采集系统的硬件原理如图1所示。

  该系统选用89C51单片机作为主控制器,此芯片与8051完全兼容,且内部带有4 KB闪速可编程、可擦除PEROM,工作时钟可高达24 MHz。

   MAX691主要用来实现掉电保护,同时起到“看门狗”的作用。系统电源突然断电时,MAX691PF0端及时向89C51INT0申请中断,保护采集 的数据不丢失。若软件执行中出现故障,89C51P3.2经一定时间间隔没有脉冲输出时,MAX691将起“看门狗”的作用,使RST复位有效,重新启动系统。

  数据存储器6116主要作为数据传输的缓冲,显示电路由8155完成,PA口作键盘输入,PB口作字形显示,PC口作控制线用。8155内部256 BRAM用于存放8通道采集到的原始数据。

  

基于89C51单片机的远程数据采集系统设计

数据采集与转换由12位A/D转换器ICL7109来完成。7109是高精度、低噪声、低漂移的双积分模数转换器,其内部带14位锁存器和14位三态输出 寄存器,具有较强的接口处理能力。设定7109为直接接口方式。这种工作方式下,7109可连续进行数据的转换,转换结束时由STATUS发出转换结束信 号送至单片机INT0请求中断。89C51将转换后的数据分两次先低8位后高4位读取。为了实现对8个通道的参数测量,同时尽量降低成本,简化系统配置, 设计了利用模拟多路开关CD4051进行通道的切换,共用一片7109由89C51控制,分时完成所有通道的采样与转换。

1.2 远程通讯电路

   由于是远程数据采集系统,对数据传输的距离提出了较高的要求。PC机与单片机232C串行口直接相连,传输距离只有十几米,无法满足系统要求。为此采用 了一个RS232C到RS422A的转换装置,PC机与89C51间接相连,以RS422A方式进行通讯,大大增加了传输距离。

  PC机与89C51串行通讯电路框图如图2所示。

   RS422A是一种以平衡方式传输的标准,可双端发送、双端接收。发送端和接收端分别采用平衡发送及差动接收。通过前者把逻辑电平变成电位差,完成始端 信息传送;通过后者把电位差变成逻辑电平,完成终端信息接收。并且RS422A采用双线传输,大大提高了抗干扰能力。最大传输速率可达10 Mb/s(传输距离15 m时),传输速率降至90 kb/s时,最大传输距离可达1200 m,这能充分满足系统的“远程”要求。

2 软件设计

  软件设计采用模块化程序设计方法,按功能分为4个模块,其中数据通信模块又分为单片机串行通信程序和PC机通信程序,除与PC机通信程序使用VC++编程,其余均采用汇编语言编制。

2.1 主程序模块

  主程序主要完成对系统硬件电路的初始化,设置堆栈指针、串行口、T0、T1工作方式、8155显示指示符,扫描键盘获取键值并进行散转处理。主程序模块负责管理和调用各子模块。

基于89C51单片机的远程数据采集系统设计

《电子设计技术》网站版权所有,谢绝转载


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

MAX691? 远程数据采集? 89C51单片机?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈