计算机控制课程设计单路数据采集系统设计_第1页
计算机控制课程设计单路数据采集系统设计_第2页
计算机控制课程设计单路数据采集系统设计_第3页
计算机控制课程设计单路数据采集系统设计_第4页
计算机控制课程设计单路数据采集系统设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、1 引言 11 数据采集系统的意义数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统。数据采集是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。本设计采用a/d转换器和51单片机组成数据采集系统,该设计具有结构简单、操作方便、高性价比、具有显示、记录存储功能,能够适应油田野外恶劣环境,具有性能稳定、可靠性高、响应速度快操作简单、费用低廉、回放过程的信号可以直观的观察。它与有线数传相比主要有布线成本低、安装简便、便于移动等性能。经调查,目前数据采集器的市场需求量大,以数据采集器为核心构成的小系统应用广泛,因此开发高性能的数据采集器具有良好的市场前景。

2、随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应用。数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良好的经济效益。 随着工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势,作这方面的研究就显得十分重要。在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。单片机构成的数

3、据采集处理系统适用于各种现场自动化监测及控制,能够适应油田野外恶劣环境,具有性能稳定、可靠性高、响应速度快操作简单、费用低廉、等优点。1.2 数据采集系统的主要功能数据采集是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统。比如条码机、扫描仪等都是数据采集工具。数据处理系统是指运用计算机处理信息而构成的系统。其主要功能是将输入的数据信息进行加工、整理,计算各种分析指标,变为易于被人们所接受的信息形式,并将处理后的信息进行有序贮存,随时通过外部设备输给信息使用者。数据采集系统,从严格的意义上来说,应该

4、是用计算机控制的多路数据自动检测或巡回检测,并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。 数据采集系统一般由数据输入通道,数据存储与管理,数据处理,数据输出及显示这五个部分组成。输入通道要实现对被测对象的检测,采样和信号转换等工作。数据存储与管理要用存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。数据处理就是从采集到的原始数据中,删除有关干扰噪声,无关信息和必要的信息,提取出反映被测对象特征的重要信息。另外,就是对数据进行统计分析,以便于检索;或者把数据恢复成原来物理量的形式,以可输出的形态在输出设备上输出,例如打印

5、,显示,绘图等。数据输出及显示就是把数据以适当的形式进行输出和显示。2 系统的总体设计方案2.1 系统的设计思路本设计的基本思路是:根据设计指标,首先从整体上规划好整个系统的功能和性能,然后再对系统进行划分,将比较复杂的系统分解为多个相对独立的子系统,特别注意对各个子系统与系统、子系统与子系统之间的接口关系进行精心设计以及技术指标的合理分解。然后再由子系统到部件、部件到具体元器件的选择和调试。各部件或子系统各自完成后再进行系统联调,直到完成总体目标。2.2 系统的设计方案用51单片机和 a/d转换器组成的电路使用方便,51单片机种类多,价格便宜,我们对51系列单片机比较了解,适用范围广,更加适

6、合数据采集与处理系统的应用。实物图连接电路简单,故最终决定使用此方案。其总体系统框图如2.2.1图所示:图2.1 系统总体框图2.3 系统的工作原理通过一个a/d转换器采样一个模拟电压,每隔一定时间去采样一次,每次相隔的时间由定时器/计数器芯片8253控制,采样的结果送入a/d转换器芯片0809,转换完成后,把转换好的数字信号送入并行接口芯片8255,然后由中断控制器向cpu发出中断请求,在cpu控制下把8225中的数字送入外设即crt/led显示。3 硬件电路设计及描述3.1 8253芯片控制采样时间8253芯片是nmos工艺制成的可编程计数器/定时器。内部有三个计数器,分别成为计数器0、计

7、数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端clk,一个为门控信号输入端gate,另一个为输出端out。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器cr、一个计数执行部件ce和一个输出锁存器ol。 执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始 图3.1 8253芯片引脚图值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器ol用来锁存计数执行部件ce的内容,从而使cpu可以对此进行读操作。采用工作

8、方式2,称作速率波发生器。进入这种工作方式, outi输出高电平,装入计数值n后如果gate为高电平,则立即开始计数,outi保持为高电平不变; 待计数值减到“1”和“0”之间, outi将输出宽度为一个clki周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,outi将输出一定频率的负脉冲序列, 其脉冲宽度固定为一个clki周期, 重复周期为clki周期的n倍。 图3.2 8253连接电路图如果在减“1”计数过程中,gate变为无效(输入0电平),则暂停减“1”计数,待gate恢复有效后,从初值n开始重新计数。这样会改变输出脉冲的速率。如果在操作过程中要求改变输出脉冲的速

9、率,cpu可在任何时候,重新写人新的计数值, 它不会影响正在进行的减“1”计数过程,而是从下一个计数操作用期开始按新的计数值改变输出脉冲的速率。3.2 8255并行i/o接口电路8255芯片是intel公司生产的可编程并行i/o接口芯片,有3个8位并行i/o口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口a、b、c口。由于8255可编程,所以必须具有逻辑控制部

10、分,因而8255内部结构分为3个部分:与cpu连接部分、与外设连接部分、控制部分。reset:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有i/o口均被置成输入方式。 cs:芯片选择信号线。rd:读信号线。wr:写入信号。 d0d7:三态双向数据总线,8255与cpu数据传送的通道,当cpu 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 pa0pa7:端口a输入输出线。pb0pb7:端口b输入输出线。pc0pc7:端口c输入输出线。a1,a0:地址选择线,用来选择8255的pa口,pb口,图3.3 8255芯片pc

11、口和控制寄存器。8255具有3个相互独立的输入/输出通道端口,用+5v单电源供电,能在一下三种方式下工作。方式0:基本输入输出方式;方式1:选通输入/出方式;方式三:双向选通输入/输出方式。图3.3 8255并行接口电路图3.3 单片机最小系统在mcs-51单片机系列芯片中,用89c51芯片可以构成最小系统。因为片内有rom/eprom的单片机,用这种芯片构成的单片及最小系统简单、可靠。单片机在开机时都需要复位,以便中央处理器cpu以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。51的rst引脚是复位信号的输入端。复位电平是高电平有效,持续时间要有24个时钟周期以上。图3.4

12、单片机最小系统由单片机构成的最小系统特点: 1、受集成度所限,只能用于小型控制单元。 2、有可供用户使用的大量的i/o口线。3、仅有芯片内部的存储器,故存储器的容量有限。4、8051的应用软件要依靠半导体掩膜技术植入,适于在大批量生产的应用系统中使用。3.4 数据采集电路3.4.1 adc0809模数转换器adc0809八位逐次逼近式a/d转换器是一种单片cmos器件,包括8位模拟转换器、8通道转换开关和与微处理器兼容的控制逻辑。8路转换开关能直接连通8个单端模拟信号中的任何一个。各引脚的功能如下:in0in7:8个通道的模拟量输入端。可输入05v待转换的模拟电压。d0d7:8位转换结果输出端

13、。三态输出,d7是最高位,d0是最低位。a、b、c:通道选择端。当cba=000时,in0输入;当cba=111时,in7输入。ale:地址锁存信号输入端。该信号在上升沿处把a、b、c的状态锁存到内部的多路开关的地址锁存器中,从而选通8路模拟信号中的某一路。start:启动转换信号输入端。从start端输入一个正脉冲,其下降沿启动adc0809开始转换。脉冲宽度应不小于100200ns。图3.5 adc0809引脚图eoc:转换结束信号输出端。启动a/d转换时它自动变为低电平。oe:输出允许端。clk:时钟输入端。adc0809的典型时钟频率为640khz,转换时间约为100s。ref(-)、

14、ref(+):参考电压输入端。adc0809的参考电压为5v。vcc、gnd:供电电源端。adc0809使用5v单一电源供电。当ale为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存,并译码。在start上升沿时,所有的内部寄存器清零,在下降沿时,开始进行a/d转换,此期间start应保持低电平。在start下降沿后10us左右,转换结束信号变为低电平,eoc为低电平时,表示正在转换,为高电平时,表示转换结束。oe为低电平时,d0d7为高阻状态,oe为高电平时,允许转换结果输出。3.4.2 adc0809与51单片机的接口:adc0809与51单片机的硬件接口有3种形式,分别是查询方式

15、、中断方式和延时等待方式,本题中选用中断接口方式。图3.6 adc0809转换器的连接图由于adc0809无片内时钟,时钟信号可由单片机的ale信号经d触发器二分频后获得。ale引脚得脉冲频率是8051时钟频率的1/6。该题目中单片机时钟频率采用6mhz,则ale输出的频率是1mhz,二分频后为500hz,符合adc0809对频率的要求。由于adc0809内部设有地址锁存器,所以通道地址由p0口的低3位直接与adc0809的a、b、c相连。通道基本地址为0000h0007h。控制信号:将p2.7作为片选信号,在启动a/d转换时,由单片机的写信号和p2.7控制adc的地址锁存和启动转换。由于al

16、e和start连在一起,因此adc0809在锁存通道地址的同时也启动转换。在读取转换结果时,用单片机的读信号和p2.7引脚经或非门后,产生正脉冲作为oe信号,打开三态输出锁存器。3.5 led显示电路系统对没led并没过高要求,故选择普通2位led即可。此led能够用来满足动态显示,且只需要的2个i/o,占用资源少。由led显示原理可知,要使led显示器的某一位显示出某个字符,必须要将此字符转换为相应的字段码,同时进行字位的控制,这要通过一定的接口来实现。led显示器的接口形式与字段,字位控制的译码方式以及led显示方式有关。字段、字位控制线的译码方式有软件译码和硬件译码两种,led显示有静态

17、和动态之分。本设计led电路图如下:图3.7 led显示电路图3.6 系统总体电路图设计通过adc0809转换器采样一个模拟电压,每隔一定时间去采样一次,每次相隔的时间由定时器/计数器芯片8253芯片控制,采样的结果送入模数转换器芯片0809,转换完成后,把转换好的数字信号送入并行接口芯片8255,然后由中断控制器向cpu发出中断请求,在cpu控制下把8225中的数字送入外设即crt/led显示。总体电路图如下所示:图3.8 系统总体电路图4 软件设计流程及描述4.1 8253定时程序流程图主要使用8253的循环计时功能,即用8253的方式2。进入这种工作方式, outi输出高电平,装入计数值

18、n后如果gate为高电平,则立即开始计数,outi保持为高电平不变;待计数值减到“1”和“0”之间, outi将输出宽度为一个clki周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数。8253定时程序流程图如下所示:4.2 8255并行接口流程图8255可作为单片机与多种外设连接时的中间接口电路。本次设计使用的是工作方式1,即基本输入输出方式。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。其各口功能可由软件选择,使用灵活,通用性强。8255并行接口程序流程图如下所示:4.3 数据处理流程图4.4 led显示流程图输出电路采

19、用数码管显示,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通com端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。led显示流程图如下所示:4.5 系统总体流程图由定时器/计数器芯片8253控制采样时间,采样的结果送入转换器0809芯片,把转换好的数字信号送入并行接口芯片8255,然后cpu发出中断请求,在cpu控制下把8225中的数字送入外设即crt/led显示。其总体流程图如下所示:5 源程序汇编语言程序清单:/8253三个clk频率均为0.5mh,计数器0工作方式为频率发生

20、器,每510us产生一个负脉冲/org 000hajmp startorg 0003hjmp e8255org 0030hstart: mov dptr,ffffh ;(8253控制器地址) mov a,14h ;计数器0,低8位单字节计数,方式2,二进制数out dptr, a ;控制字写入控制寄存器mov dptr,e6ffh ;计数器0地址mov a,ffh ;计数器0的计数初值out dptr, a ;计数值写入计数器0inttur:steb ito ;选择边沿触发方式setb ea ;cpu开中断setb ex0 ;允许外部中断0中断here:sjmp here ;等待中断/数据处理

21、程序乘法数据处理程序,得到数字量的标度变换,除法处理程序,分离标度变换值的高位和地位/org 0100hdata proce: mov b,5h ; mov a,r0mul abmov b,100mul abmov r6,bmov r5,amov r4,ffhdv: mov r7,#08h ;移位次数装入r7so: clr c ;清cmov a, r5 ;被除数低位存入arlc a ;连同进位位循环左移1位mov r5,a ;左移后回存amov a, r6 ;被除数高位存arlc a ;连同进位位循环左移,被除数r6r5整数左移1位mov 07h,c ;保留最高位clr c ;清进位标志sub

22、b a,r4 ;余数高位减去除数jb 07h,si ;最高位为1转s1jnc si ;没有借位转s1add a,r4 ;产生借位,恢复余数sjmp s2 ;转s2 s1: inc r5 ;产生商 s2: mov r6,a ;保留余数高位djnz r7,s0 ;循环ajmp ledshow/用两位七段数码管显示采集量/org 0200hledshow: setb p0.7 mov r2,fehmov a,r2mov dptr,#tablopo: mov p1,amov a,r6 ;取出数据movc a, a+dptr ;取出字型码mov dptr,faffh ;取8255b口地址mov dptr

23、,a;将字型码从b口输出显示 acall d1ms;调用延时程序mov a,r2jb p1.1,lp1rl amov r2,aajmp lp0lp1: rettab: db 3fh,06h, 5bh, 4fh, 66h,6dhdb 7dh,07h,7fh, 6fh, 77h,7chdb 39h,5eh, 9h, 71h, 40h,00hd1ms: mov 7,#02hdl: mov r6,#0ffhdl1: djnz r6,dl1 djnz r7,dlret/中断处理程序,将pa口数据读入单片机/org 0260he8255: mov dptr,#feff ;写方式控制字(pa口方式0输入,pb口方式0输出)mov a,#98hmovx dptr, amov dptr,#f8ff ;pa口地址movx a,dptr ;pa口内容读入累加器amov r0 a ;累加器a内容暂存寄存器r0reti ;中断返回6 心得体会经过几周的奋战我的课程设计终于完成了。在没有做课程设计以前觉得课程设计只是对这几年来所学知识的单纯总结,但是通过这次做课程设计发现自

温馨提示

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

评论

0/150

提交评论