多路数据采集电路设计含程序 1994年电子竞赛(1)_第1页
多路数据采集电路设计含程序 1994年电子竞赛(1)_第2页
多路数据采集电路设计含程序 1994年电子竞赛(1)_第3页
多路数据采集电路设计含程序 1994年电子竞赛(1)_第4页
多路数据采集电路设计含程序 1994年电子竞赛(1)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 多路数据采集电路设计目录 第一章 系统方案选择和论证 1.1 题目要求任务1.1.1 基本要求1.1.2 发挥部分1.2 系统基本方案1.2.1 各模块电路的方案选择及论证 (1)现场信号发生模块 (2)F/V变换模块(3)信号A/D采集处理模块 (4)双CPU通信控制模块 (5)显示模块 1.2.2 系统各模块的最终方案 第二章 硬件设计与实现 2.1 系统硬件模块关系2.2.1 正弦波信号发生器设计2.2.2 F/V变换电路设计 2.2.3信号采集处理单元模块设计 2.2.4数据地址显示电路设计第三章 系统软件设计3.1主单片机程序 3.1.1主机发送程序流程图 3.1.2主机数据处理子

2、程序图3.1.3主机显示子程序图 3.1.4主机主程序流程图3.2从单片机程序 3.2.1数据采集子程序流程图3.2.2从机中断接收子程序流程图 3.2.3从机主程序流程图 1. 系统方案选择和论证 1.1 题目要求任务设计一个八路数据采集系统。系统原理框图如1.1.1图 :1.1.1图:系统原理框图主控器能对50米以外的各路数据,通过串行传输线(实验中用一米线代替)进行采集和显示。具体设计任务是: (1)现场模拟信号产生器。 (2)八路数据采集器。 (3)主控器。1.1.1 基本要求 (1)现场模拟信号产生器。自制一正弦波信号发生器,利用可变电阻改变振荡频率,使频率在200Hz2kHz范围变

3、化,再经频率电压变换后输出相应15v直流电压(200Hz对应1v,2kHz对应5v) (2)八路数据采集器。数据采集器第一路输入自制1V5V直流电压,第27路分别输入来自直流源的5V、4V、3V、2V、1V、0V直流电压(各路输入可由分压器产生,不要求精度)。第八路备用。将各路模拟信号分别转换成8位二进制数字信号,在经并/串变换电路,用串行码送入传输线路。 (3)主控器。主控器通过串行传输线路对各路数据进行 采集和显示。采集方式包括循环采集(即1路、2路7路、1路)和选择采集(任选一路)二种方式。显示部分能同时显示地址和相应的数据。 1.1.2 发挥部分 (1)利用电路补偿和其他方法提高可变电

4、阻值变化与输出直流电压变化的线性关系。 (2)尽可能减少传输线数目。 (3)其他功能的改进(例如:增加传输距离,改善显示功能等)。1.2 系统基本方案 根据题目要求系统模块分可以划分为:现场信号发生模块,V/F变换模块,信号采集处理模块,通信控制模块,显示模块。系统的框图如图1.2.1所示。为实现各模块的功能,分别做了几种不同的设计方案并进行了论证后我们选择如下方案。 图1.2.1所示为系统基本功能模块图 : 如图1.2.1系统基本功能模块图 1.2.1 各模块电路的方案选择及论证 (1)现场信号发生模块 该模块工作在远距离终端,作为模拟待采样的信号源,产生正弦波。对于该模块有以下两种方案:方

5、案一:采用ICL8038集成芯片。构成三角波发生器及正弦整形电路。该IC电路属于积分型施密特压控多谐振荡器,工作范围0.001HZ300KHZ,完全可以达到设计要求。 图1.2.2 LM358组成的正弦波发生器 振荡频率:f1/(RW2+R2)C。调节RW2可改变振荡频率频率变化范围为:.5.3KHz。输出信号的幅度调节通过改变RW1来实现。 幅度调节范围为:26V(2)F/V变换模块 F/V变换模块采用模拟集成频率-电压变换器LM331。LM331具有精度高、线形度高,温度系数低,功耗低动态范围宽等一系列优点,目前已经广泛应用于数据采集和自动控制中。 (3)信号A/D采集处理模块 该模块功能

6、主要是将输入过来的模拟信号转化成数字信号,实现数据的采集与处理。现在提出以下方案来完成此功能。 A/D采集模块工作在远程数据采集端,用于将模拟信号转换成数字信号。计划采用ADC0809作为模数转换器。ADC0809为CMOS集成电路,属于逐位逼近比较型的转换器,分辨率为8位,转换时间为100us,数据输出端内部具有三态输出锁存器,可以与单片机直接连接;而且具有8路模拟开关,可直接连接8个模拟量,并可程控选择对其中一个模拟量进行转化。它与单片机连接简单,使用方便。(4)显示模块 方案一:采用液晶显示屏和通用矩阵键盘。液晶显示屏(LCD)具有功耗小、轻薄短小无辐射危险,平面直角显示以及影象稳定不闪

7、烁,可视面积大,画面效果好,抗干扰能力强等特点。但由于只需显示三位温度值,信息量比较少,且由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器资源占用较多,其成本也偏高。方案二:采用四位LED七段数码管分别显示通道地址、电压值。数码管具有:低能耗、低损耗、低压、寿命长、耐老 化,对外界环境要求较低。同时数码管采用BCD编码显示数字,程序编译容易,资源占用较少。 1.2.2 系统各模块的最终方案 根据以上方案,结合器件和实现条件等因素,确定如下方案: (1).利用ICL8038集成芯片来作为正弦波信号的产生器。(2).F/V变换模块采用LM331频压变换器。 (3

8、).采用双单片机AT89S52和ADC0809来实完成信号的采集与处理。 (4).单片机之间的通信选取RS-485的通信标准。 (5).显示模块的实现是选用四位数码管动态显示。2. 硬件设计与实现 2.1 系统硬件模块关系该系统采用的是双单片机进行控制的。模拟信号经过一系列的变化传输到由单片机控制的ADC0809A/D转换器内部进行处理。按照一定的协议实现主单片机对从单片机的通信控制。 如2.1.1系统硬件电路单元模块关系图2.2.1 正弦波信号发生器设计 设计中采用ICL8038来产生正弦波。通过调节RP1来改变频率,其范围值为20HZ20KHZ,RP3用于改善正弦波负向失真。RP4改善正弦

9、波正向失真。其电路图如2.2.1:图2.2.1正弦波信号发生电路上图还可以同时产生方波、三角波等信号2.2.2 F/V变换电路设计 将正弦信号输入到F/V变换电路之前要对正弦信号进行滤波、放大。其具体的电路变换兔如下。 图2.2.2所示为系统F/V变换电路图:图2.2.2系统F/V变换电路图F/V变换模块采用精密且廉价的F/V变换器LM331,此集成电路线形度可达0.06%,该IC输出电压Vo与输出频率的关系为Vo=fi,而设计要求将2002000HZ的频率变换为15V的电压,可得到变换式为: V=0.00222f+0.556 故应对F/V变换的结果进行电位平移。2.2.3信号采集处理单元模块

10、设计 在此方案采用双单片机,即在数据采集的远端、近端均采用单片机控制,远端完成数据的采集、抽样、平滑、发送;近端完成数据的接收、校验、纠错、处理与显示等。 A/D转换器是受从单片机的控制的。其连接的电路图如图2.2.3。 图2.2.3所示为ADC0809与单片机的接口电路图:图2.2.3 ADC0809与单片机的接口电路图对A/D转换结果的读出采用查询方式,即每次通过写信号启动A/D转换后,立即查询状态标志,一旦发现EOC呈高电平,表明A/D转换结束,将数据读入89S52的RAM区。 由于ADC0809为8位,因此对05V的信号采集精度为: 5/255=0.02V/级,可以满足题目提出的精度要

11、求。 2.2.4数据地址显示电路设计 由于题目中要求传送8位二进制码,其分辨率达到1/256,显示电压分辨率为5/255=0.0192V,所以电压显示需要3位数码管。 显示采用动态扫描的方式,四个七段数码管逐位扫描。配合通道选择开头,可在LED上同时显示一路或多路数据。数码管分别显示通道地址、电压值。数码管采用共阴极,由于AT89C52单片机每个I/O的拉电流只有12mA。所以在位码和段码都加上了同相驱动器。 单片机XTAL2、XTAL1接12MHZ晶振,提供系统时钟基值。另RESET接复位按键。3. 系统软件设计 系统的软件的设计是采用汇编语言,对单片机进行编程实现各种功能。 程序是在Win

12、dows 2000环境下采用WAVE软件编写的,可以实现对八路数据的采集与处理,并能实现对数据、地址的显示。 主程序主要起到一个导向与决策的功能,决定什么时候采集数据处理数据显示数据。对于数据的处理的实际功能的实现主要是通过调用具体的子程序。本系统采用半双工传输,每次需要发送或接收数据时,控制MAX485使其成为接收器或发送器。3.1主单片机程序 主机发送为一字节指令,其高4位和低四位均为要采集的通道号,格式为0*0*。其中*=000111。主机发送完成指令后,立即转入接收状态,等待从机回送两字节数据,若在一定时间内未收到数据或收到的两字节数据不一致。则认为通信有误,转而重发一次指令。若重发三

13、次均未成功,则点亮线路故障告警灯提醒用户。3.1.1主机发送程序流程图 如3.1.1所示。3.1.2主机数据处理子程序图 如3.1.2所示。3.1.3主机显示子程序图 如 3.1.3所示。 3.1.4主机主程序流程图 如3.1.4所示。3.2.1数据采集子程序流程图 数据的采集处理子程序主要是负责采集系统信号,并对所采集的信号做初步的处理。单片机根据需要控制A/D转换器采集某通道的数据。其程序流程图见主单片机程序图3.2.1所示。 3.2.2从机中断接收子程序流程图 从机在接收到主机发送的指令后,回送相应的两字节8位A/D转换数据。中断接收子程序如图3.2.2。3.2.3从机主程序流程图 如3

14、.2.3所示 程序清单#include<reg52.h> /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #include <intrins.h> /包含NOP空指令函数_nop_(); #include<stdio.h> sbit RS = P10; sbit RW = P11; sbit EN = P25; sbit DU = P20; sbit WE = P21; /显示屏用 sbit adda=P12; sbit addb=P13; sbit addc=P14; sbit h=P07; sbit ale_st=P15; sbit o

15、e=P16; sbit eoc=P17; unsigned char i=100; static char key; unsigned char j,k,temp,nan; #define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0#define EN_SET EN=1#define DataPort P0 /*- 延时程序-*/void delay(unsigned char i) for(j=i;j>0;j-) for(k=125;k>0;k

16、-);/*-*/ unsigned char ad0809() unsigned char ad_data; ale_st=0; ale_st=1; ale_st=0; while(eoc) oe=1; ad_data=P0; delay(1); oe=0; return (ad_data); /*-*/*-*/ void cmg88()/关数码管,点阵函数DU=1; P0=0X00;DU=0;/*- uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编,大致延时

17、长度如下 T=tx2+5 uS -*/void DelayUs2x(unsigned char t) while(-t);/*- mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编-*/void DelayMs(unsigned char t) while(t-) /大致延时1mS DelayUs2x(245); DelayUs2x(245); /*- 判忙函数-*/ bit LCD_Check_Busy(void) DataPort= 0xFF; RS_CLR;

18、 RW_SET; EN_CLR; _nop_(); EN_SET; return (bit)(DataPort & 0x80); /*- 写入命令函数-*/ void LCD_Write_Com(unsigned char com) while(LCD_Check_Busy(); /忙则等待 RS_CLR; RW_CLR; EN_SET; DataPort= com; _nop_(); EN_CLR; /*- 写入数据函数-*/ void LCD_Write_Data(unsigned char Data) while(LCD_Check_Busy(); /忙则等待 RS_SET; R

19、W_CLR; EN_SET; DataPort= Data; _nop_(); EN_CLR; /*- 清屏函数-*/ void LCD_Clear(void) LCD_Write_Com(0x01); DelayMs(5); /*- 写入字符串函数-*/void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) if (y = 0) LCD_Write_Com(0x80 + x); else LCD_Write_Com(0xC0 + x); LCD_Write_Data( Data); /*-*/ /*-*/

20、*- 初始化函数-*/ void LCD_Init(void) LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); LCD_Write_Com(0x08); LCD_Write_Com(0x01); LCD_Write_Com(0x06); DelayMs(5); LCD_Write_Com(0x0C); /*- 函数-*/ void disp(void) cmg88();/关数码管,点阵函数 LCD_Cle

21、ar();/清屏 LCD_Init(); switch(key) case 0: LCD_Write_Char(1,0,'0'); break; case 1: LCD_Write_Char(1,0,'1'); break; case 2: LCD_Write_Char(1,0,'2'); break; case 3: LCD_Write_Char(1,0,'3'); break; case 4: LCD_Write_Char(1,0,'4'); break; case 5: LCD_Write_Char(1,0,

22、'5'); break; case 6: LCD_Write_Char(1,0,'6'); break; case 7: LCD_Write_Char(1,0,'7'); break; switch(nan/50) case 0: LCD_Write_Char(5,0,'0'); break; case 1: LCD_Write_Char(5,0,'1'); break; case 2: LCD_Write_Char(5,0,'2'); break; case 3: LCD_Write_Char(5

23、,0,'3'); break; case 4: LCD_Write_Char(5,0,'4'); break; case 5: LCD_Write_Char(5,0,'5'); break; case 6: LCD_Write_Char(5,0,'6'); break; case 7: LCD_Write_Char(7,0,'7'); break; case 8: LCD_Write_Char(7,0,'8'); break; case 9: LCD_Write_Char(7,0,'9

24、9;); break; switch(nan)%50)/6) case 0: LCD_Write_Char(7,0,'0'); break; case 1: LCD_Write_Char(7,0,'1'); break; case 2: LCD_Write_Char(7,0,'2'); break; case 3: LCD_Write_Char(7,0,'3'); break; case 4: LCD_Write_Char(7,0,'4'); break; case 5: LCD_Write_Char(7,0,&#

25、39;5'); break; case 6: LCD_Write_Char(7,0,'6'); break; case 7: LCD_Write_Char(7,0,'7'); break; case 8: LCD_Write_Char(7,0,'8'); break; case 9: LCD_Write_Char(7,0,'9'); break; LCD_Write_Char(6,0,'.'); LCD_Write_Char(8,0,'v'); delay(100); /*- 主程序-*/void main() /数码管清零 while(1) h=1; P3=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xee: key=0; adda=0; addb=0; addc=0; nan=ad0809(); disp(); break; case 0xde: key=1; adda=1; addb=0; addc=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论