0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于C8051F020单片机+SED1335+LM324+MAX485实现多通道数据综合采集系统的应用方案

基于C8051F020单片机+SED1335+LM324+MAX485实现多通道数据综合采集系统的应用方案

来源: elecfans
2020-11-18
类别:工业控制
eye 56
文章创建人 拍明

原标题:基于单片机实现多通道数据综合采集系统的应用方案

  作者:刘金英,李建朝,郑彦义,张朝亮

  1.前言

  在工业控制中需要对各种参量进行采集,即利用信号采集系统将各种数据采集到计算机中进行实时处理。传感器起着中间桥梁的作用,但是它输出的信号往往是很微弱的电流信号,需要经过放大转换成电压信号后才能输入到A/D中进行数据采集。另外,随着测试技术的不断发展,为了适应数字化、高效率等要求,在工业测试系统中单片机的应用也越来越广泛,它具有实时及可靠性高的优点,并且日益显示出巨大的优越性。本系统采用美国Cygnal公司的C8051F020单片机为控制核心,组成了多通道数据综合采集系统,它利用较少的外围器件实现了对液压设备的控制。

  2.C8051F020单片机简介

  3.系统的硬件结构

  多通道综合采集系统以C8051F020单片机为核心,主要由以下几部分组成:数据的采集、LCD显示和数据通讯三部分,其硬件框图如图1。传感器输出的电流信号经过放大转换后,送至C8051F020内部的A/D转换器中,在单片机内部完成模数转换、数据存储、数据处理的工作,最后送到LCD显示,同时经过RS-485接口送至计算机,由上位机进行实时监控。

  

image.png


  3.1数据的采集

  对于液压设备中的8个待测参数选用相应的传感器来来检测,试验时选取应变式传感器作为测试现场的工具。这些选用的检测元件输出都是标准的4-20mA微弱的电流信号,电流信号又经过由LM324组成的放大转换电路转换成0-5V的电压信号输入到C8051F020的模拟输入端,如图2所示,经内部集成的A/D转换器转换成相应的数字量。C8051F020将8路采样值作为液压设备现场的状况存入相应的内存单元。

  image.png

  3.2 LCD显示

  为了使数据采集系统小巧美观,同时又获得较高的性价比,选用德彼克公司生产的DMF-50174蓝屏液晶显示器,该显示器是320×240点阵式液晶,图形和文本都可以显示。显示驱动控制芯片采用EPSON 公司的一种高性能LCD 控制器SED1335。硬件电路采用间接接法,如图3所示。用单片机的P5.0~P5.7口作为SED1335的DB0~DB7数据总线的输入通道。P4.5作为SED1335的片选信号, 配合地址信号A0实现SED1335 通过数据总线接收来自单片机的指令和数据。当A 0= 0, P4.6(WR)=0,P4.7(RD)= 1时, 实现指令的写入和从SED1335 中读取数据。当A 0= 1, P4.6(WR)= 0, P4.7(RD)=1时, 则是显示数据的写入,该功能通过软件实现。

 image.png

  3.3 数据通讯

  单片机C8051F020的TX0、RX0及P0.2通过MAX485与上位机相连,进行串行通信,如图3所示。P0.2控制MAX485的状态或发送,用软件控制。RX0为单片机的串行输入端,接收上位机通过MAX485向单片机发送的数据。TX0为单片机的串行输出端,通过MAX485发送给上位机。

  4 系统软件设计

  4.1 软件设计总体上由两部分组成:一部分为单片机C8051F020

  主程序设计,一部分为LCD液晶显示程序设计。由于用C语言编程可以降低程序的复杂度,提高程序的可读性和可修改性,所以本软件采用C51进行编程,keil μVision2编译器进行编译。

  主程序流程图如图4所示。

  4.11 主程序

  void main (void){

  long voltage; //电压以mV为单位

  int i; //循环计数器

  WDTCN=0xde; //禁止看门狗定时器

  WDTCN=0xad;

  SYSCLK_Init(); //初始化振荡器

  PORT_Init(); //初始化数据交叉开关

  UART0_Init(); //初始化UART0

  Timer3_Init(SYSCLK/SAMPLERATE0); //初始化定时器3溢出作为采样率

  ADC0_Init(); //初始化ADC

  AD0EN=1; //允许ADC

  EA=1; //允许所有中断

  while(1){

  for(i=0;i  {EA=0;

  voltage=result[ i]; //从全局变量中取得ADC值

  EA=1;

  voltage = voltage*VREF0;//计算电压(mV)

  voltage = voltage》》16;

  LCD_Disp(); //调显示程序,显示电压值

  printf(“Channl‘%d’ voltage is %ldmV ”,i,voltage);//串口输出

  }}

  image.png


  5 结束语

  测试实验中定义C8051F020的采样频率为50000Hz,ADC0设为定时器3溢出的连续转换模式,采用差动输入方式组成8路转换通道,单片机运行后由定时中断进行数据采集。

  C8051F020将采集的数据通过RS-485接口传送给上位机,在传送期间波特率必须和PC机设置的波特率保持一致,否则不能正确接收。在测量过程中,整个系统工作稳定,数据可以得到“准”实时的显示。

  本文作者的创新点就是能够把液压系统参数中的功率P实时显示出来,而在以往的液压显示设备中只能分别显示液体的压力p和流量q,然后再用公式P=pq计算液压功率,比较麻烦;而且C8051F020芯片集成了大量的外设和IO口资源,在设计系统时,只需使用少量的外围芯片便可完成所需的功能,简化了硬件电路设计,节省了电路板空间,缩小了产品的体积,因而本系统有很广阔的应用前景。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案