1、精选资料基于单片机技术的数据采集系统的设计The design of a data acquisition system based on single-chip-computer technology作者:陈雷(电子信息学院)摘 要:本文介绍了基于单片机技术的数据采集系统的硬件设计和软件设计。该系统以AT89C51 单片机为核心, TLC2543作为A/D转换器, 通过RS232通信接口,实现单片机与PC机间的采集数据的传输。该系统分为数据采集传输和数据显示两大模块,数据采集通过单片机控制TLC2543芯片实现A/D转换,并给出了采集程序、单片机与PC机间的串口通信程序。数据显示模块,通过在
2、Visual Basic开发环境下,运用VB提供的通信控件MSCOMM来实现上位机对采集数据的收集和显示。关键词:TLC2543, 单片机,数据采集,串行通信,VBABSTRACT:The paper introduces the hardware design and the software design of a data acquisition system based on single-chip-computer technology. AT89C51 MCU and TLC2543 A/D chip are used in this system. The whole syste
3、m can be divided into data acquisition transmit module and data display module. In data acquisition and transmit module. TLC2543 is working under the control of AT89C51, the digital signal can be got from TLC2543 output, and data transmission between PC and single-chip-computer is realized by RS232
4、as the communication interface. The A/D program and Serial communication program is given in this module. In the data display module, data is collected by MSCOMM control and displayed in Visual Basic environment. Key words: TLC2543,single-chip-computer,data acquisition,Serial communication,VB1.引言 传统
5、的数据采集方法是通过仪器仪表测量,不方便实时监测。随着微电子和计算机技术的发展,出现了基于单片机技术的数据采集,这种数据采集方法更方便、快捷,且采集得到的数据可以传给计算机进行进一步的处理,在工业控制中应用很广泛。通过在Visual Basic开发环境下,运用VB提供的通信控件MSCOMM来实现上位机对采集数据的收集和显示。2.系统的硬件实现(1)系统组成如图1图1系统组成就本系统而言,A/D转换电路包括了:多路切换电路,采样/保持电路,A/D转换器。多路切换电路主要是针对被测物理量有多个,传统的做法是采用模拟开关来选择通道,而现在根据软件设置对通道的选择。采样/保持电路是为了保证模拟信号高精
6、度转换为数字信号的电路。在模拟数字变换电路中,如果变换期间输入电压是变化的,那么就可能产生错误的数字信号输出。采样/保持电路就是将快速变化的模拟信号进行“采样”与“保持”,以保证在ADC转换过程中模拟信号保持不变。模/数转换器是计算机同外界交换信息所必须的接口器件,因为它能把自然界和生产过程中的模拟量转换成计算机存储和处理的数字量。单片机主要完成系统数据的读取,处理,逻辑控制,数据传输等任务。串行通信主要是将单片机与PC机联系起来,以实现两者之间的通信。PC机主要是对数据进行处理分析,以达到实时控制。(2)TLC2543的SPI (Serial Peripheral Interface)总线图
7、2 8位时钟传送时序图3是TLC2543与51单片机接口电路。参考电压REF+接L1(10mh)再接到Vcc,REF-到地,两者之间接1000uf的电容,起滤波和去噪作用。图3 TLC2543与51单片机接口电路(3)串行通信电路如图4,单片机与PC机间采用3线制,用MAX232实现电平转换,即TTL电平和RS232C电平之间的转换,这样可以把5V电平表示“1”,0V电平表示“0”的逻辑,转换成-3V-15V电平表示“1”,+3V15V电平表示“0”的逻辑。图4 串行通信电路串行通信时,数据发送设备先将数据代码由并行形式转换成串行形式,然后一位一位地放在传输线上发送;数据接收设备将接收到的串行
8、形式数据转换成并行形式存储或处理。3.系统的软件实现开始定义I/O移位读出设定8位数据启动A/D设置通道08位是读完?通道数加1存数据10?结束可修改编辑采集程序流程如图5 在采集流程图中,如何启动A/D转换,这要看TLC2543的SPI的模拟时序是否正确,CS端的电平在一定程度上决定了A/D转换。由于系统采用8位输出,在程序设计上就采用8位输出模式。通道数的选择,都有软件来设计。另外,单片机与外围芯片的连接,单片机都要对其端口进行宏定义。图6 中断服务程序流程图 图5 采集程序流程图采集程序如下:#include #include sbit CS=P10; sbit SCK=P11; sbi
9、t DATAI=P12; sbit DATAO=P13; sbit EOC=P14 ; #define CW 0x04 void delay(unsigned int N) int i; for(i=0;iN;i+); unsigned int read2543(unsigned char CW)unsigned int ad=0,i;SCK=0;CS=0;for(i=0;i8;i+) if(DATAO) ad|=0x01; DATAI=(bit)(CW&0x80); SCK=1; delay(3); SCK=0; delay(3); CW=1; ad=1;return(ad);void ma
10、in() unsigned int ad;while(1) ad=read2543(CW);4.上位机通信协议包括3个要素:语法、语义和同步。语法:数据与控制信息的格式;语义:定义信息的具体含义;同步:实现顺序的说明。通信协议的制定要考虑到可靠性和有效性。此外,通信协议的制定要考虑单片机和PC机在处理信息的能力上的区别,方便单片机处理。在PC机和AT89C51进行通信时,需要两部分软件:一是,单片机通信软件。二是,PC机串行通信软件。上位机通信软件采用Visual Basic语言编程。串行通信组件简单设置如下:1. 通信的开始及结束:通信控件的portopen 属性决定了通信的开始和结束。完整
11、的通信过程被包含portopen 属性的true和false之间。2. 通信参数的确定:通信组件上setting属性通常设置为“9600,n,8,1”。3. RThreshold:该属性为一阀值,它确定当接 收缓冲区内字节个数达到或超过该值后就产生 MSComml-OnComm事件。VB界面如右图7 图7 VB界面5.结束语对采集的脉冲量的频率取决于单片机的时钟频率,一般不能高于单片机的运行时钟,如单片机用11.0592MHz的晶振,则采集的脉冲频率只能低于11.0592MHz。由于受外界环境的影响,在测试过程中,下位机开始采集到的数据是不准的,上位机要把其丢弃。另外,由于A/D芯片的转换精度
12、及采集速率,在上位机看到的数据变化是很快的,为了不致过快,在下位机设置每250ms采集一次数据。基于单片机技术的数据采集是可以实现的,而且很容易通过串口把数据发送给计算机。6.致谢在这宝贵的四年里,我衷心地感谢所有曾经关心和帮助过我的老师和同学们。在毕业设计期间,王桂星老师和我的导师尹海宏老师给了我很大的帮助,在此,一并表示衷心地感谢。7.参考文献1 杨振江 杜铁军 李群编著流行单片机实用子程序及应用实例M西安:西安电子科技大学出版社,20022 边春远 王志强编著MSC-51单片机应用开发实用子程序M北京:人民邮电出版社,20053 范逸之等编著利用Visual Basic 实现串并行通信技术M北京:清华大学出版社,2001 THANKS !致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100