欢迎来到天天文库
浏览记录
ID:5941225
大小:29.00 KB
页数:7页
时间:2017-12-29
《基于c51单片机数据采集系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于C51单片机数据采集系统 摘要:本文应用数据采集系统,可实时对重要的参数进行采集、监视和记录,并及时的进行数据分析与处理,能使管理人员在第一时间里发现生产过程中出现的问题,以便有效提高产品质量、降低生产成本提供了有效的信息和手段关键词:P89C51RD2KeilC51KeilIDEμVision2中图分类号:N37文献标识码:A文章编号:一、数据采集KeilC51系统通过串口接收PC机命令,进行数据采集与数据传输。系统接收指令后,控制MAX118对传感器的数据进行采集,采集到的数据由51进行处理,然后
2、控制运行单元控制设备的运动,并将采集到的数据传送到上位机进行处理等。系统包含以下功能部分设计:*传感器单元根据需要可以选择合适的传感器对信号进行转换,本系统采用LED作为发射光源,光敏三极管接收。*数据采集单元模拟信号经过A/D转换成数字信号,供51进行处理和使用。A/D应有足够的分辨率和采样速度,本系统采用MAX118进行数据的采集。7*数据处理单元数据处理单元是系统的核心部分,本系统采用P89C51RD2进行处理。*存储单元存储单元对采集的数据进行缓存,系统采用大容量的SRAM存储单元。*电机控制单元电
3、机控制单元用来对电机进行驱动,本系统使用L298对电机进行驱动。*标准接口单元接口单元负责与上位机间进行数据传输,接口单元采用串口方式。7.*固件设计固件设计包括系统初始化、数据处理与传输、电机控制、AD采集控制等。7通过设置MODE引脚,MAX118有两种基本的接口模式可选择,当MODE引脚为低电平时,转换器工作在读模式;当MODE引脚为高电平时,转换器将被设置为读—写模式或管线模式。引脚A0、A1、A2的输入用于模拟通道号选择,A2A1A0为000时为1通道,为001时为2通道,依次类推。根据需要,本文
4、选用7个模拟通道作为信号的输入端,设置MODE引脚为高电平,即采用读-写模式进行A/D转换。其工作过程可以描述如下:先设置好通道号,然后读写MAX118,当片选MAX118后,在读/写信号的下降沿,开始A/D转换,这时,可读取上一次A/D转换的结果。当管脚端从高电平变为低电平时,表示A/D转换已经完成,数据总线D0~D7上的数据即为当前A/D转换的结果。从这一时刻到读/写信号变为低电平时间为模拟信号的数据采集时间tacq。1、电路设计硬件电路设计是系统实现的主要内容之一,该部分根据所选的器件的功能特性与引脚
5、,在电路上加以电连接,以实现系统的硬件功能。1、1CPU与串口电路P89C51RD2有4个8位I/O口,其中P0、P2两个口作为数据线地址线用,P1作为I/O用来控制电机电路,P3做为串口、读写、I2C口、中断等功能用。CPU接22.1184M晶体震荡器做为系统时钟,主要是为了串口波特率没有误差,保证通讯正确。51串口是TTL电平,PC串口是RS-232电平,不能直接相连,需要用电平转换芯片进行转换,采用MAX202对电平进行转换。1、2电机驱动电路7本系统电机驱动部分采用L298驱动芯片,L298是双路驱
6、动芯片,单个芯片可以同时驱动两个直流电机,为了提高其驱动能力,本系统采用双路结合的办法驱动一个电机,L298的5、12脚,7、10脚相互连在一起,通过光电耦合器与CPU的I/O相连,可以由CPU控制电机运转方向,L298的6、11脚相互连在一起,由CPUI/O输出PWM信号,可以控制电机的转速。根据应用场合不同,可以选用一片或者两片L298。电机驱动部分与51之间不能直接电气连接,否则电机运转时会对系统部分带来严重的干扰,它们之间需要用光电耦合器进行隔离。图3-6是它们之间电连接图,U8、U13是光电耦合器
7、,U1、U2是L298。1、3数据采集电路由于系统比较简单,MAX118片选/CSL、/CSH可以根据51地址通过与非门进行简单逻辑,/CSL用A15、A14与非,地址可为0xC000,/CSH用A15、A13与非,地址可为0xA000。系统采用两片MAX118作为数据采集芯片,每个有7路信号输入,可以采集14路信号。MAX118的A1、A2、A3脚用来进行信号路的切换,可以用CPU的I/O控制。1、4SRAM接口电路SRAM采用62256,51数据信号可以与SRAM直接相连,地址信号需要通过锁存器74hc
8、573进行锁存。系统软件设计本系统软件主要采用KeilC51语言进行设计,它完全支持C的标准指令和很多针对8051的扩展指令。C7语言与汇编语言相比,有更好的结构性,更易于阅读和维护;用C语言编写的程序更易于模块化,有更好的可移植性,能够很方便的从一个工程移植到另一个工程从而减少开发时间;用C编写程序比汇编更符合人们的思考习惯,开发者可以更专心的考虑算法而不是考虑一些细节问题,这样就减少了开发和调试的时间;使用像
此文档下载收益归作者所有