当前位置:文档之家› AD数据采集卡设计

AD数据采集卡设计

微机原理课程设计 1 设计题目:A/D数据采集卡设计 一. 课程设计目的 通过课程设计,提高理论联系实际的解决实际问题的能力;提高对接口技术等相关硬件知识的深入理解;掌握8255A的控制字的设置、工作方式、编程原理和微机接口方法。加深理解逐次逼近法模数转换器的特征和工作原理,掌握ADC0809的接口方法以及A/D输入程序的设计和调试方法。熟悉ADC0809模数转换器的特性和接口方法,掌握A/D输出程序的设计和调试方法,进而提高动手能力和学习兴趣为顺利进入毕业环节做必要的准备。 二. 课程设计内容 设计一块A/D卡,该卡具有对0~5V的模拟电压进行采集功能的能力,该卡通过系统的I/O扩展接口与微机系统连接。选用芯片:ADC0809等。 三. 设计要求

画出电路原理图,说明工作原理,编写利用该卡进行256个数据的采集并显示在显示器上的程序. 四. 概要设计

ADC0809是一种8路模拟输入、8位数字输出的逐次逼近法A/D器件,转换时间约100us,转换精度—1/512到+1/512,适合于多路采集系统。ADC0809片内有三态输出的数据锁存器,故可以与8088微机总线直接接口。ADC0809的CLK信号接系统的CLK输入,基准电压Vref(+)接Vcc。一般实际应用系统中应该接精度+5v,以提高转换精度,ADC0809片选信号0809CS和/IOW、/IOR经逻辑组合后,去控制ADC0809的ALE、START、ENABLE信号。ADC0809CS连译码输出的00H-0FH。ADC0809的转换结束信号EOC接IOR。本试验以延时方式等待A/D转换结束,ADC0809的通道号选择线ADD-A 、ADD-B、ADD-C接系统数据线的低3位,因此ADC0809的8个通道值地址分别为00H、01H、02H、03H、04H、05H、06H、07H。 调节电位器W1,以改变模拟电压值,用ADC0809做A/D转换,其模拟量与数字量对应关系的典型值为+5V—FFH、2.5V—80H、0V—00H。 译码器:通过一片SN74AHC138N实现对ADC0809、8255A二片芯片的选择,138的OE1接+5v的Vcc。OE2A、OE2B接地,通过AD4、AD5、AD6实现对芯片0809、8255的选择 微机原理课程设计 2 五. 实验原理及程序流程图

1.A/D转换器的一般工作原理 A/D转换方法很多,最常用的有以下两种:逐次逼近式A/D转换器和双积公式A/D转换器。 逐次逼近式A/D转换器的主要原理为:将一个待转换的模拟输入信号VIN与一个“推测”信号V1相比较,根据推测信号是大于还是小于输入信号来决定减小还是增大该推测信号,以便模拟输入信号逼近。推测信号由D/A变换器的输出获得,当推测信号与模拟输入信号“相等”时,向D/A转换器输入的数字即为对应的模拟输入的数字。其“推测”的算法是这样的,它使二进制计数器的二进制数的每一位从最高位起依次置1。每接一位时,都要进行测试。若模拟输入信号VIN小于推测信号V1,则比较器的输出为零,并使该位置零;否则比较器的输出为1,并使该位保持1。无论哪种情况,均应继续比较下一位,直到最末位为止。此时在D/A变换器的数字输入即为对应于模拟输入信号的数字量,将此数字输出,即完成其A/D转换过程。 双积分式A/D转换器先对未知的输入电压进行固定时间的积分,然后转为对标准电压进行反向积分,直至积分输出返回到起始值。则对标准电压进行积分的时间T正比于输入模拟电压。输入电压大,则反向积分时间长。用高频率标准时钟脉冲来测量这个时间,即可得到相应于输入模拟电压的数字量。 逐次逼近式A/D转换器的转换速度较快,一般在几微秒到上百微秒之间,但成本较高。双积分A/D转换器容易做到较高的分辨率(位数),抗扰性能好,对时间和温度也有较好的稳定性,缺点是转换速度比逐次逼近式A/D转换器要慢得多(尤其在位数较多的情况下)。 2.A/D转换器的主要参数及其连接特性 由A/D转换器一般工作原理分析得知其转换性能的主要参数有: (1)分辨率:指A/D转换器可转换成数字量的最小模拟电压值,如果要再小于这个电压值,则A/D转换器就分辨不出来。 (2)转换时间:指从输入启动转换信号开始到转换结束,所得到稳定的数字输出量为止的时间。 A/D转换器的外部特性: A/D转换芯片一般具有输入/输出信号线为: 微机原理课程设计 3 转换启动线,由系统控制器发出的控制信号,表明A/D转换立即开始; 转换结束线,转换完毕后由ADC发出的状态信号,表明转换结束,用它申请中断或DMA传送,或作查询信号之用;模拟信号输入线,来自被转换的对象,有单通道输入与多通道输入之分;数字量输出线,由ADC送给CPU的数据线。 3.ADC0809芯片 ADC0809是CMOS材料的8位单片A/D转换器件。片内有8路模拟开关、模拟开关的地址锁存与译码电路、比较器、256R电阻T型网络、树状电子开关、逐次逼近寄存器SAR、三态输出锁存缓冲器、控制与时序电路等。 ADC0809通过引脚IN0、IN1、……IN7可输入8路单片模拟输入电压。ALE将三位地址线ADDA、ADDB、ADDC进行锁存,然后由译码器选通8路中的一路进行A/D转换。 三态输出锁存器输出对应于数字量最高位的D7,对应于最低位D0。OE端为输出允许信号,当OE端为最高电平时,将三态输出锁存器中的数字量放在数据总线上,以供CPU读入。 START和EOC分别为启动信号和转换结束信号,EOC用来申请中断。 微机原理课程设计

4 ADC0809芯片 引脚图 4.8255芯片 8255是可编程I/O口扩展芯片。对8255输入不同的指令可改变I/O口的工作方式。8255与单片机系统连接方式简单,工作方式由程序设定。 8255内部有4个寄存器:分别为寄存器A、B、C和控制寄存器。A、B、C寄存器的数据就是引脚PA7~PA0、PB7~PB0、PC7~PC0上输入或输出的数据。而控制寄存器的数据则表明PA、PB、PC的工作方式。通过CS、A0、A1、RD和WR对4个寄存器进行操作。 1)CS为低电平时选通8255; 2)A1、A0为地址选通; 3)RD和WR为读、写信号:RD为低、WR为高时为读方式,RD为高、WR为低时为写方式。 4)D0~D7为数据口。 向控制寄存器写入不同的数据可以使8255工作在三种不同的方式下。这里只介绍应用最多的方式0。方式0下8255的PA、PB及PC口上半部分(PC7~PC4)和下半部分(PC3~PC0)中任何一个端口都可以设定为输入或输出,PC口还可以进行位操作。 RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。 RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。 D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0~PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的微机原理课程设计 5 输入输出缓冲器。 PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。 8255方式0是基本输入/输出方式,A、B、C三个口中任何一个口都可提供简单的输入和输出操作,不需要应答联络信号,即可用于无条件传送的场合,也可以用作查询方式传送。当采用查询方式传送时,原则上可用A、B和C三个口的任一位充当查询信号,但通常都是选用C口充当查询信号,这和C口的编程有关。通常把C口的4位(高4位或低4位)规定为输出口,用以输出一些控制信号,把C口的另4位规定为输人口,用以输入外设的状态。 方式1是一种选通输人偷出方式,A口和B口均可工作在这种方式。方式1可作为查询式传送方式,此时握手联络信号,C口要用6位(分成两个3位)分别作为A口和B口的应答联络信号。方式1也可用作中断方式,此时要写对应的C口的按位置位字,打开中断。 方式2是A口独有的双向传送方式,一般使用中断传送方式。 微机原理课程设计

6 5.流程图 主程序流程图: 1)、初始化8255: A,B,C均为方式0,A入B出,CL入。由工作方式可得到,控制字为91H 从电路图可知A口地址为37BH; 2)、A/D转化: 256个数 要设置一个256次的循环; 每次循环应包括: 选择通道0; ALE信号产生上升沿;START信号产生下降沿; 判断EOC的状态,若为0表示这种转换结束,若不为0继续等待EOC直到其状态为0 ; 将转换结果,从8255的A口输入到AL中,再将AL中的内容存入存储器中。

模块开始 初始化DS 调用8255初始化过程 将计数次数256置于CX 选择通道0 送出ALE信号(上升沿) START信号(下降沿) 将转换结果从8255A口输入到AL EOC= ?0 把AL中的值存于[SI]中 SI位置加1 CX=?0 模块结束

Y N

Y N

相关主题