资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
精品- 可编辑 - 基于单片机技术的数据采集系统的设计The design of a data acquisition system based on single-chip-computer technology作者:陈雷(电子信息学院)摘要: 本文介绍了基于单片机技术的数据采集系统的硬件设计和软件设计。该系统以AT89C51 单片机为核心, TLC2543作为 A/D 转换器 , 通过 RS232 通信接口,实现单片机与 PC 机间的采集数据的传输。该系统分为数据采集传输和数据显示两大模块,数据采集通过单片机控制TLC2543芯片实现A/D 转换, 并给出了采集程序、单片机与PC 机间的串口通信程序。数据显示模块,通过在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 system 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 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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 精品- 可编辑 - communication,VB1.引言传统的数据采集方法是通过仪器仪表测量,不方便实时监测。 随着微电子和计算机技术的发展,出现了基于单片机技术的数据采集,这种数据采集方法更方便、快捷,且采集得到的数据可以传给计算机进行进一步的处理,在工业控制中应用很广泛。通过在 Visual Basic开发环境下,运用VB 提供的通信控件MSCOMM来实现上位机对采集数据的收集和显示。2.系统的硬件实现(1)系统组成如图1图 1 系统组成就本系统而言,A/D 转换电路包括了:多路切换电路,采样/保持电路, A/D 转换器。多路切换电路主要是针对被测物理量有多个,传统的做法是采用模拟开关来选择通道,而现在根据软件设置对通道的选择。采样 /保持电路是为了保证模拟信号高精度转换为数字信号的电路。在模拟数字变换电路中,如果变换期间输入电压是变化的,那么就可能产生错误的数字信号输出。采样/保持电路就是将快速变化的模拟信号进行“采样”与“保持”,以保证在ADC转换过程中模拟信号保持不变。模/数转换器是计算机同外界交换信息所必须的接口器件,因为它能把自然界和生产过程中的模拟量转换成计算机存储和处理的数字量。单片机主要完成系统数据的读取,处理,逻辑控制,数据传输等任务。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 精品- 可编辑 - 串行通信主要是将单片机与PC 机联系起来,以实现两者之间的通信。PC 机主要是对数据进行处理分析,以达到实时控制。(2)TLC2543 的 SPI (Serial Peripheral Interface)总线图 2 8 位时钟传送时序图 3 是 TLC2543 与 51 单片机接口电路。 参考电压REF+ 接 L1 (10mh ) 再接到 Vcc,REF-到地,两者之间接1000uf的电容,起滤波和去噪作用。图 3 TLC2543与 51 单片机接口电路(3)串行通信电路如图4,单片机与PC 机间采用3 线制,用 MAX232实现电平转换,即名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 精品- 可编辑 - TTL 电平和 RS232C 电平之间的转换,这样可以把5V 电平表示“ 1”, 0V 电平表示“ 0”的逻辑,转换成-3V -15V 电平表示“ 1” ,+3V 15V 电平表示“ 0”的逻辑。图 4 串行通信电路串行通信时, 数据发送设备先将数据代码由并行形式转换成串行形式,然后一位一位地放在传输线上发送;数据接收设备将接收到的串行形式数据转换成并行形式存储或处理。3.系统的软件实现采集程序流程如图5 在采集流程图中,如何启动A/D 转换,这要看TLC2543 的 SPI 的模拟时序是否正确,CS 端的电平在一定程度上决定了A/D 转换。由于系统采用8 位输出, 在程序设计上就采用8 位输出模式。通道数的选择,都有软件来设计。另外,单片机与外围芯片的连接,单片机都要对其端口进行宏定义。开始定义 I/O 移位读出设定 8 位数据启动 A/D 设置通道 0 8 位是读完 ? 通道数加 1 存 数10? 结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 精品- 可编辑 - 图 6 中断服务程序流程图图 5 采集程序流程图采集程序如下:#include #include sbit CS=P10; sbit SCK=P11; sbit 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;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 精品- 可编辑 - DATAI=(bit)(CW&0x80);SCK=1;delay(3);SCK=0;delay(3);CW=1;ad=1;return(ad);void main() unsigned int ad;while(1)ad=read2543(CW);4.上位机通信协议包括3 个要素:语法、语义和同步。语法:数据与控制信息的格式;语义:定义信息的具体含义;同步:实现顺序的说明。通信协议的制定要考虑到可靠性和有效性。此外,通信协议的制定要考虑单片机和PC 机在处理信息的能力上的区别,方便单片机处理。在 PC 机和 AT89C51进行通信时,需要两部分软件:一是,单片机通信软件。二是,PC 机串行通信软件。上位机通信软件采用Visual Basic语言编程。串行通信组件简单设置如下:1. 通信的开始及结束:通信控件的portopen 属性决定了通信的开始和结束。完整的通信过程被包含portopen 属性的 true 和 false 之间。2. 通信参数的确定:通信组件上setting属性通常设置为“9600 ,n,8,1” 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 精品- 可编辑 - 3. RThreshold:该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生MSComml-OnComm事件。 VB 界面如右图7 图 7 VB 界面5.结束语对采集的脉冲量的频率取决于单片机的时钟频率,一般不能高于单片机的运行时钟,如单片机用 11.0592MHz的晶振,则采集的脉冲频率只能低于11.0592MHz。由于受外界环境的影响,在测试过程中,下位机开始采集到的数据是不准的,上位机要把其丢弃。另外,由于 A/D 芯片的转换精度及采集速率,在上位机看到的数据变化是很快的,为了不致过快,在下位机设置每250ms采集一次数据。基于单片机技术的数据采集是可以实现的,而且很容易通过串口把数据发送给计算机。6.致谢在这宝贵的四年里,我衷心地感谢所有曾经关心和帮助过我的老师和同学们。在毕业设计期间, 王桂星老师和我的导师尹海宏老师给了我很大的帮助,在此,一并表示衷心地感谢。7.参考文献1 杨振江杜铁军李群编著流行单片机实用子程序及应用实例M 西安:西安电子科技大学出版社,20022 边春远王志强编著 MSC-51单片机应用开发实用子程序M 北京: 人民邮电出版社, 2005名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 精品- 可编辑 - 3 范逸之等编著利用Visual Basic 实现串并行通信技术M 北京:清华大学出版社, 2001名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号