数据采集系统中传感器输出规一化的实现

更新时间:2023-05-28 05:27:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

156

福建电脑2008年第10期

数据采集系统中传感器输出规一化的实现

朱成全

(泉州师范学院理工学院福建泉州362000)

摘要】【:在主从式数据采集系统经常要用到各类模拟量输出不一致的传感器,由于其输出不一致,造成了处理上的困难。本文采用软硬件结合设计了电平调节模块,用户操作PC机向主单片机AT89S52发送上升或下降命令,主单片机AT89S52再转发给电平调节模块,使相应传感器通道输出电压升高或降低,实现对其输的规一化。

关键词】【:主从结构数据采集单片机传感器规一化0、

引言在数据采集系统当中,经常要用到各类模拟量输出型传感

器,各类传感器的输出不一致,有的输出为0-5V,有的输出则是±2.5V。这会造成在存储及应用处理上存在很多的不便。为了对其输出进行规一化,笔者在开发过程中,采用软硬件结合设计了电平调节模块。

1、

电平调节模块的原理为了让系统可配接量程为0-5V或±2.5V的各类模拟量输出型传感器,要将不同传感器的输出规一化,需进行中点电平的偏移调节,即将各路传感器输出的中点电平均调节到2.5V。

输入放大器AD620是一种典型的高性能、低功耗的通用型仪用放大器,它具有以下基本特点:外围元件少,使用方便仅需一个外接电阻RG调整增益,可获得1~1000倍的任意增益;电源电压范围宽,为+2.3V~+18V(对称的正负电源)[1]。

其参考电压输入端⑤脚可以接地,也可以外接一个参考电压实现电平偏移。当直接接地时,输出电压Uo的零位(中点)为0V;当接参考电压UREF时,输出电压Uo的零位(中点)为UREFV。[1]在微机应用系统或一般数字电路应用系统中,可以使用一个D/A(数/模)转换器提供参考电压。D/A(数/模)转换器的输出是一个电压且输出电阻较小,输入是一组数码,根据输入数码的不同,可以相应地改变输出电压(即提供给AD620⑤脚的参考电压),使用这种方案可以由程序控制电平偏移。

D/A转换器MAX521是两通道串行输入并行输出D/A转换器[2]。D/A(数/模)转换器输入是一组数码,输出是一个电压且输出电阻较小,根据输入数码的不同,可以相应地改变输出电压。将其输出端接到AD620⑤脚提供参考电压,使用这种方案可以由程序控制电平偏移。

图1电平调节电路

图2电平调节原理示意图

计算机只能输入0-5V的电压信号,因此需将输出为±2.5V的传感器的输出中点电压"垫高"2.5V,即需进行电平调节。

电平调节是一个人-机系统闭环控制的过程。系统连接好后,人通过观察PC机电平调节界面上显示的电平值,根据需要,

通过向AT89S52单片机发送,并由其转发给AT89S2051单片机调高或调低命令,AT89S2051单片机再控制D/A转换器MAX521来调节仪器仪表用放大器AD620的参考电压,由此影响AT89S52单片机的输入信号,进而调高或调低PC机上显示的电平值[3][4][5]。原理示意图见图2。2、PC机电平调节界面

图3电平调节界面

在该框下用滑块高度及数字显示出16个通道的当前电压。当将所有的模拟量输出型传感器接入插座并上电后,操作者可用"TAB"键选择欲调的通道,用"↑"、"↓"键来调节该通道的偏移电压。当用户按下"↑"或"↓"键时PC机向主单片机发送上升或下降命令,主单片机再转发给电平调节模块,使相应通道电压升高或降低。按住"↑"或"↓"不放可连续调节,当该通道调至所需的电压值后,再用"TAB"键切换至下一通道,或用"SHIFT"+"TAB"键切换至上一通道,用类似的方法进行调节,所有通道调节完毕后,点击"确认"键退出,系统将存储本次调节的结果。3、

电平调节模块与主单片机AT89S52的通讯3.1电平调节模块与主单片机AT89S52的通讯协议

为节省I/O端口资源,电平调节模块与主单片机AT89S52之间采用两根线进行串行通讯,P3.1作为时序线,P3.0作为数据线。时序图如下:

图4时序图

3.2主单片机AT89S52向电平调节模块发送数据

根据通讯协议,编写发送程序,当AT89S52收到PC机的命

令后,判断是不是自己的命令,如不是则调用该程序转发给电平调节模块或其他模块,关键程序段如下:

MOV

A,COMD;取得命令

SETBS_DATA;设置起始状态SETBS_CLKLCALLD;延时CLRS_DATA;SETBS_CLKLCALLDCLR

S_CLK

2008年第10期

LCALLMOVCLRLOOP:

RRCMOVCLRLCALLSETBLCALLDJNZSETBSETB

R3,#08HC

S_DATA,CS_CLKDS_CLKD

R3,LOOPS_DATAS_CLK

;设置发送位数,8位

福建电脑

CJNEA,#01h,CONTINU2;超时判断SJMPBACK

CONTINU2:JBS_CLK,R_LOOP1

MOVTIMER1,#00

R_LOOP2:MOVDOG_TIMER,#00

MOVA,TIMER1

CJNEA,#01h,CONTINU3;SJMPBACK

CONTINU3:JNBS_CLK,R_LOOP2

MOVC,S_DATA

MOVA,ORDER_REGRRCA

MOVORDER_REG,A;存储到ORDER_REG单元MOVDOG_TIMER,#00;DJNZR1,R_LOOP0;接收完否?未完,继续SETBRECEIVE_FLAG;接收完毕,设置标志

157

;设置结束状态

3.3电平调节模块接收主单片机AT89S52的数据

根据通讯协议,编写接收程序。电平调节模块在主程序中不

断查询是否有数据收到,当检测到发送开始后,就开始接收,并进行超时判断,如果通讯超时则退出;如没有超时,则继续接收,直到8位收完,接收成功后,设置成功标志,以备使用。关键程序段如下:

;判断是否有数据到来

JNBS_CLK,BACKJNBS_CLK,BACKJNBS_DATA,BACKJNBS_DATA,BACKMOVTIMER1,#00

R_WAIT:MOVDOG_TIMER,#00

MOVA,TIMER1

CJNEA,#01h,CONTINU1SJMPBACK

CONTINU1:JBS_DATA,R_WAIT

JBS_DATA,R_WAITJNBS_CLK,BACKJNBS_CLK,BACK

;------开始接收-----

MOVORDER_REG,#00MOVR1,#08

R_LOOP0:MOVTIMER1,#00R_LOOP1:MOVDOG_TIMER,#00

MOVA,TIMER1

电平调节模块接收到调高或调低的命令后,就调整向D/A转换器MAX521得输出,由此来调节仪器仪表用放大器AD620的参考电压,并进而调整AT89S52主单片机的输入信号,最终调高或调低PC机上显示的电平值。总结4、

试验证明,通过在PC机界面上操作,通过软硬件结合的方法,可调整传感器输出到AT89S52主单片机的信号,很好解决传感器输出规一化的问题,并已在数据采集系统得到了很好的应用。

参考文献:

1.曹茂永,王霞,孙农亮.仪用放大器AD620及其应用[J].电测与仪表,2000(10).

2.金文,孔令成.八组二线串行8位DAC芯片MAX521的性能特点及应用[J].国外电子元器件,1998(7).

3.余永权.ATMEL89系列Flash单片机原理及应用[M].北京:电子工业出版社,2001.

4.刘祖京.实用接口技术[M].北京:北京工业大学出版社,1999.

5.何立民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:北京航空航天大学出版社,1990.

;超时判断;超时退出

;接收8位;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

(上接第180页)

if(Number(score)>18){

myArray[0][i]=xh;

……

_root.createTextField("mytext1"+i,1+(i-1)*6,70,100+(i-1)*15,50,20);_root["mytext1"+i].text=myArray[0][i];

……

myArray[5][i]=score;

//用二维数组存储输入文本的值,便于后面整体显示。

……

_root.createTextField("mytext6"+i,6+(i-1)*6,420,100+(i-1)*15,50,20);_root["mytext6"+i].text=myArray[5][i];}

2.2.3第三帧

观察录入的信息及计算结果是否正确(见图2),并决定是否修改(重填按钮)或是录入下一个同学记录(继续按钮),等全部学生录入完毕,可以通过成绩清单按钮来显示所有学生信息。3.开发设计总结

Micromedia的ActionScript程序语言虽然是一门应用在Flash动画上的新兴语言,但是它的设计思想仍然是面对对象的

因此我们在写代码的时候,应该从对象实例的程序设计(如VB)。

角度出发,来进行开发。同时在具体编程过程中,会涉及到许多

的变量,在定义变量名时应该尽可能简洁明了,提高代码的可读性,以便后期进行修改及扩充。

参考文献:

北京、清《、1.章精设,缪亮,白香芳、FlashActionScript2.0编程技术教程》

华大学出版社、2005、415页

北京、中国铁《、2.郑伯鸿,张智龙、FlashMXActionScript语法参考辞典》2.3.4第四帧

2006、911页当触发成绩清单按钮的动作时,显示所有录入成绩的清单。道出版社、

黄刚/于林、北京、北京希望电子《、macromediaFLASHMX标准教程》

在该帧上,我用循环显示createTextField的方式逐条显示所有已3.

出版社、2002、422

经录入学生的成绩清单。为了能顺利显示所有记录,在这里采用列固定,行浮动的二维表格表示循环运算数组变量。(见图3)

for(i=1;i<=n;i++){

本文来源:https://www.bwwdw.com/article/u984.html

Top