基于单片机的传感器数据采集系统
- 格式:pdf
- 大小:1.67 MB
- 文档页数:5
第10期李艳.基于单片机的传感器数据采集系统1313
基于单片机的传感器数据采集系统
李艳
(吉林化工学院,吉林吉林132022)
摘要基于C8051F060单片机内置的数模转换器设计传感器数据采集系统,应用VisualBasic程序语
言进行上位机设计,接收单片机发送的数据,并进行波形还原,实现实时数据采集功能。
关键词数据采集系统单片机Visual
Basic波形还原
中图分类号TH865文献标识码B文章编号
1000·3932(2013)10·1313-04
随着信息技术的迅速发展和普及,数据采集
技术已在通信、测控仪器、航空航天及工业自动控
制等领域被广泛应用¨o。C8051F060微控制器因
具有体积小、功能强大且可靠性高等特性¨-,非常
适用于计算机控制系统中,用于对现场传感器进
行采集以及实现现场设备控制。在此,介绍一款
传感器数据采集系统的设计方法,给出其硬件结
构、工作原理、部分电路和软件代码。
1系统总体方案
笔者设计的传感器数据采集系统(图1)以单
片机C8051F060为核心,采用I/O口采集外部模
拟信号,使用微控制器内部集成的AD转换器,将
模拟量转换成数字量,并通过计算机的UART口
上传至计算机。计算机端编写接收软件接收数
据,通过软件内部控件将传感器数据还原成原始
波形,这样就实现了将传感器数据采集与波形复
原的功能。
微控制器
八
路
I:波
模
=≥囝匝
’-1位≥
形
拟
机
还
信
原
号
图1传感器数据采集系统结构简图
传感器数据采集模块采用单片机内部的AD
转换器,在输入端采用电阻分压方式对信号幅度
进行调节,可以增大传感器信号的输入范围。
系统的电平转换芯片采用的是MAX232,转换的原因是C8051内60输出的信号是-I-I'L电平,
而计算机自带的是标准串口,因此必须转换二者
之间的电气参数,只有对单片机输出的1TrL信号
电平进行信号转换后,才能完成单片机与PC机
的数据通信。进行电压转换的芯片是MAXl658,
因为外接的供电电源是5.0V,C8051F060采用
3.3V供电,所以需要进行电压转换。传感器数据
采集系统的电路如图2所示。
2系统软件
传感器数据采集系统的软件设计主要由单片
机C8051F060端和电脑上位机端两个部分组成。
单片机C8051F060端的主要功能是实现内部
ADC采集多个传感器数据,存人数组后通过
UART口向电脑上位机端实时上传。电脑上位机
端软件的主要功能是实现设置单片机C8051F060
的通信波特率、接收单片机C8051F060采集的传
感器数据及还原波形等功能。
2.1单片机
传感器数据采集系统以单片机为核心控制单
元,最多可采集外部八路传感器信号。该模块使
用的是单片机C8051F060内部的数字模拟转换
器ADC2。启动ADC2开始转换所用的方法为定
时器2溢出方式。单片机C8051F060将8个信号
通道采集上来的传感器信号统统转换成为数字信
号,在向单片机UART口发送数据之前,关闭单片
机的所有中断。等待数据全部发送结束后,打开
收稿日期:2013-08-01
万方数据1314
化工j』]动化及仪表
第40卷
图2传感器数据采集系统电路
单片机所有的中断,开始准备下一次对传感器进
行数据采集。传感器数据采集系统的程序流程如
图3所示。
图3传感器数据采集系统程序流程C8051F060单片机内部定时器2的中断应用
程序代码为:
void
TIMER2一ISR(void)interrupt5//单片”
C8051F060的内部定时器2中断
SFRPAGE=TMR2一PAGE;
TF2:0;//去掉中断标志TF2
tongdao—input++;//切换至下一路输入
if(tongdao—input==moni~input)//当最后一路数
锹采集完成后转到第一通道
tongdao—input=0;
SFRPAGE=ADC2一PAGE;
AMX2SL=tongdao—input;
C8051F060单片机内部ADC2转换结束中断
应用程序代码如下:
void
ADC2一ISR(void)interrupt18//单片机C8051
F060
的内部ADC2转换结束中断
static
longjishuqi[10]={0L};
unsignedchar
i;
万方数据第lO期李艳.基于单片机的传感器数据采集系统
charSFRPAGE—SAVE=SFRPAGE;//保存目前的SFR
配置页
SFRPAGE=ADC2一PAGE;//切换到ADC2的配置页
AD2INT=0;//去掉ADC2的转换完成标志
jishuqi[amux—convert]=ADC2;//读取ADC2内的数
值
if(tongdao—convert==(moni—input一1))
for(i=0;i<moni—input;i++)
result[i]=jishuqi[i];
jishuqi[i]=0L;
}
SFRPAGE=UARTl一PAGE;//切换到串口配置页
EA=0;11关闭所有中断
for(j=0;j<tongdao_input;j++)
{
SBUFI=244+j;
while(!T11);
TII=0;
celiangzhi=result[J]}243/1023;//将测量值经过
计算转换为实际值
SBUFl=measurement;
while(!T11);//等待串口发送成功标志变化
T11=0;
}
EA=1;//重新开全局巾断
{
tongdao—convert=通道一input;//当前转换路变为
tongdao—input
SFRPAGE=SFRPAGE—SAVE;//保存当前的SFR配
置页
}
2.2电脑上位机端软件
上位机端采用VisualBasic编程实现数据接
收与波形还原。以下为串口配置初始化函数程序
代码:
Main.ctrMSComm.1nputLen=1
Main.ctrMSComm.InputMode=1’接收方式为二进制
数组
Main.ctrMSComm.1nBufferSize=1024’接收缓冲区为I
字节
Main.ctrMSComm.RThreshold=1’接收缓冲区为一个
字节就触发事件
intPort=l
strSet=”115200,n,8,1”blnAutoSendnag=False
blnReceiveFlag2False
intReceiveLen=0’接收初始化
绘图部分主要调用Line和PSet两条语句。
Line语句在图中所画线段的起点和终点分别是语
句中的两个坐标点。PSet语句在制定容器内画一
个点,此容器的位置就是语句内的坐标点。Line
与PSet语句分别如下:
drawline.Line(X0,Y0)一(X,Y)
drawline.PSet(X,Y)
图4与图5所示为用VisualBasic¨o编写的
传感器数据采集系统数据接收界面和波形还原界
面。
图4传感器数据采集系统数据接收界面
图5传感器数据采集系统波形还原界面
3系统测试
在任意一路模拟信号端连接信号发生器,对
数据进行采集,并将波:嘭还啄,再与用示波器捕捉
到的信号发生器的波形进行比较。示波器捕捉到
的频率为30Hz的三角波与正弦波截图如燃6、7
所示。图8、9为用传感器数据采集系统采集到数
据并进行波形还原后,在计算机上显示的波形图。
可以看出,传感器数据采集系统采集到的波形发
生器的波形与示波器捕捉到的信号发生器的波形
基本一致。
万方数据1316
化工自动化及仪表第40卷
图6示波器捕捉到的三角波
图8传感器数据采集系统所采集数据
还原后的三角波
4结束语
笔者设计的基于C8051F060单片机的传感
器数据采集系统,可对八路模拟量数据进行采集,
并能实时传输到PC机,可以实时显示所采集数
据与模拟量的波形。该系统成本低廉,结构简单,
其应用前景非常广泛。[2]
[3]图7示波器捕捉到的正弦波
图9传感器数据采集系统所采集数据
还原后的正弦波
参考
文献
高帅,左信,田刚.安全仪表系统现场可靠性数据收
集及处理方法[J].石油化工自动化,2012,48(3):
43~46.75.
张培仁.基于C语言C8051F系列微控制器原理与
应用[M].北京:清华大学出版社,2007.
李雁翎.VisualBasic程序设计[M].北京:清华大学
出版社,2004.
Multi-channel
Data
Acquisition
SystemBased
onMCU
LIYan
(Jilin
InstituteofChemical
Technology,Jilin132022,China)
AbstractBased
ontheinbuih
D/A
converterinC805
1F060
MCU,adata
acquisitionsystemwasdesigned,in
which,thehost
computeremploystheVisual
Basicand
receivesthedatafromMCUand
restoreswaveform
re—
duction
SOastorealizethereal—timedata
acquisition.
Keywordsdata
acquisitionsystem,MCU,VisualBasic,waveformreduction
2013年第17届乌克兰国际石油、天然气展览会
时间:2013年10月22—24日地点:乌克兰基辅
展品范围:油气工程机械设备、仪器仪表、海上及陆地油气工程技术服务、其他
大会招展中国指定方:中国国际船舶工业协会、广州搏毅展览有限公司
地址:广东省广州市海珠区新港东路1022号保利世界贸易中心E座3308、3309室
联系人:辛喜(15602324832)
电话:020-66319025传真:020-62209258
QQ:292658573l
邮箱:xinxi@gzboyi.COB
万方数据