AD数据采集卡设计
- 格式:doc
- 大小:254.91 KB
- 文档页数:13
基于USB2.0多功能数据采集卡的室内温度自动控制系统设计摘要:为了实现高精度的室内温度控制,设计了一种以USB2.0多功能数据采集卡为控制核心的温度控制系统并进行了相关测试。
该系统采用温度传感器AD590K对室温进行测量,采用分段线性加PI积分分离控制算法进行温度控制。
实验表明,这种控制方式可以减小超调量,提高温度控制精度。
该系统可以用于对气温控制要求较高的场合。
关键词:USB2.0;AD590K;温度控制1 总体设计方案为了便于实验研究和测试,设计了一个室内温度控制系统,其控制对象为1立方米密封箱体,箱体采用双层结构制成,外层采用内贴保温材料的三合板,内层采用真空有机玻璃,以达到良好的保温效果。
该系统温度可以在一定范围内由人工设定并实现自动调整, 以保持设定的温度基本不变。
该系统实现的主要目的如下:①温度设定范围为4~50℃;②稳态下温度的波动能控制在±1℃以内;③采取有效的控制方法,当设定温度突变(由30℃降低到15℃或由15℃升高到30℃)时, 减小系统的调节时间和超调量;④定温度发生突变(由29 ℃降低到12℃)时,自动显示/记录温度变化的时间曲线。
1.1 系统的硬件结构系统硬件(系统硬件原理如图1所示)分为温度采集模块、核心控制模块、显示控制模块、制冷片驱动模块、电源驱动模块等。
其工作原理是:温度传感器AD590K根据环境温度产生电流信号,此信号被送入电流-电压转换电路,转变为电压信号,并进行调理,然后送到USB2.0多功能数据采集卡进行A/D转换。
数据采集卡上具有10位A/D转换模块和相应的控制模块,根据它的硬件环境和良好的编程环境而设计的电路可以将AD590K采集的数据转换为符合要求的数据,并对这些数据进行判断和处理,然后在计算机上显示出测得的数据。
接着判断电路应该工作的状态,经过数据采集卡上的I/O端口控制驱动电路(开关电路),从而驱动半导体制冷片工作,最终达到温度自动控制的目的。
基于单片机的模拟量数据采集系统设计摘要随着计算机技术的飞速发展和普及,数据采集系统也得到了广泛的应用。
微机在通用自动化、信息处理、信息系统等方面得到广泛的应用。
在冶金、化工、医疗等应用场合,需要对很多信号进行采集,预处理,暂存和对上位机的传输。
再由上位机对数据进行分析处理。
本文设计的模拟量采集系统采用上位机、下位机通信方式运行。
由上位机实现对下位机的控制和数据采集的显示,下位机实现模拟量的采集过程。
下位机硬件设计采用AT89C52单片机为控制核心,采用ADC0808将模拟量进行转化为数字量进行采集,完成了模拟量采集系统的硬件设计。
采用RS-232进行串口通信。
结果证明,该设计方法可行,实现了离散量采集系统的自动化,克服了传统数据采集的弊端,应用具有良好的前景和使用价值。
关键词:模拟量采集系统;单片机;通信AbstractAlong with the rapid development of computer technology and popularization, data acquisition system is also widely application. Microcomputer is widely applied in general automation, information processing and information system etc . Signal acquisition, pretreatment, temporary and PC transmission is needed by metallurgy, chemical, medical care and other applications。
The design is a discrete variables acquisition system with upper and lower operating mode. The PC machine controls the lower machine and display the date, and the lower machine realizes data collection. Hardware design of digital machines AT89C52 single-chip design Used for RS-232 serial communication, you can relay through the computer to control the realization of the bright lights out billiards control and manual control switch can monitor. The results proved that the design method is feasible to achieve a billiards automated agency management system to overcome the drawbacks of traditional management methods, the application system; communication目录1 绪论 (1)1.1 课题背景 (3)1.2 课题相关技术 (4)1.3 课题任务及要求 (9)1.4 课题内容及安排 (10)2 系统方案设计 (12)2.1 方案设计原则 (12)2.2 方案设计 (13)3 系统硬件设计与设备选型 (15)3.1 单片机模块 (15)3. 1.1 AT89C52介绍 (16)3.1.2 单片机最小系统 (27)3.2 AD转换模块 (30)3.2.1 AD转换 (30)3.2.2 ADC0808介绍 (30)3.3 输入模块 (35)3.4 串口模块 (36)3.5 电源模块 (41)3.6 设备选型 (43)4 系统软件设计与实现 (44)4.1 软件编程介绍 (45)4.2 系统软件方案设计 (48)4.2.1上位机设计部分 (48)4.2.2 下位机设计部分 (50)5 系统集成与调试 (51)5.1 Keil软件开发平台介绍 (51)5.2 调试分析 (52)5.3 调试步骤 (53)5.4 故障调试及解决方式 (54)5.5 联调结果 (55)结论 (56)社会经济效益分析 (57)参考文献 (59)致谢 (62)附录Ⅰ原理图 (64)附录Ⅱ元器件清单 (65)附录Ⅲ程序清单 (66)1 绪论目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
采集卡的选择和主要参数图像采集卡是将视频信号经过AD转换后,将视频转换成电脑可使用的数字格式,经过PCI总线实时传到内存和显存。
在采集过程中,由于采集卡传送数据采用PCI Master Burst方式,图像传送速度高达40MB/S,可实现摄像机图像到计算机内存的可靠实时传送,并且几乎不占用CPU时间,留给CPU更多的时间去做图像的运算与处理。
一、采集卡基本原理采集卡有多种种类、规格。
但尽管其设计和特性不同,大多数采集卡的基本原理相同。
近年来,数字视频产品取得了显著发展。
数字视频产品通常需要对动态图像进行实时采集和处理,因此产品性能受图像采集卡的性能影响很大。
由于早期图像采集卡以帧存为核心,处理图像时需读写帧存,对于动态画面还需“冻结”图像,同时由于数据传输速率的限制,因此图像处理速度缓慢。
90年代初,INTEL公司提出了PCI(Peripheral Component Interconnect)局部总线规范。
PCI总线数据传宽度为32/64位,允许系统设备直接或间接连接其上,设备间可通过局部总线完成数据的快速传送,从而较好地解决了数据传输的瓶颈问题。
由于PCI总线的高速度,使A/D转换以后的数字视频信号只需经过一个简单的缓存器即可直接存到计算机内存,供计算机进行图像处理也可将采集到内存的图像信号传送到计算机显示卡显示;甚至可将A/D输出的数字视频信号经PCI总线直接送到显示卡,在计算机终端上实时显示活动图像。
数据锁存器代替了帧存储器,这个缓存是一片容量小、控制简单的先进先出(FIFO)存储器,起到图像卡向PCI总线传送视频数据时的速度匹配作用。
将图像卡插在计算机的PCI插槽中,与计算机内存、CPU、显示卡等之间形成调整数据传送。
由于PCI总线的上述优点,许多图像板卡公司陆续推出了基于PCI总线的图像采集卡,另外还有PC104 plus、Compact PCI等总线形式。
二、与图像采集卡相关技术名词1、DMADMA( Direct Memory Access)是一种总线控制方式,它可取代CPU对总线的控制,在数据传输时根据数据源和目的的逻辑地址和物理地址映射关系,完成对数据的存取,这样可以大大减轻数据传输时CPU的负担。
基于PC的高速数据采集卡设计一、引言数据采集(Data Acquisition)技术是信息科学的一个重要分支,主要研究数字化信息的采集、存储、处理等方面的内容。
随着电子技术的不断发展和人们对信息量需求的不断扩大,对高速、大容量的数据采集系统的需求也越来越高,以往的数据采集系统多采用单片机系统实现,由于单片机的速度和容量的限制,难于设计高速大容量的数据采集卡。
近年来,由于PC机的广泛应用,采用PC机实现数据采集系统已成必然趋势,因此,笔者研制了基于PC的高速数据采集卡。
图1数据采集卡硬件结构图二、硬件结构及功能本数据采集卡是采集高频地质雷达信号,数据采集电路分为模拟电路和数字电路两部分,其实现框图如图1所示:其中接口及地址译码电路是为数据采集卡中各部分电路分配系统地址、提供启动信号和必要的控制信号;前置放大器是一個台阶增益为2的256倍程控增益放大器,是对来自雷达发射波采样保持后的信号进行阻抗匹配,并进行程控增益放大,使该信号的电压幅度尽可能接近A/D转换器的输入电压满度值,以便得到信噪比较高的数字化输出结果;A/D转换器是16位的,是将前置程控增益放大器输出的模拟信号数字化;延时电路1是用于启动天线发射子系统发射高频高压雷达脉冲信号,该延时是可编程的,它主要用来消除电路自身和传输线路带来的时滞影响,使得发射启动信号与接收启动信号之间的时间差控制在有效范围内。
延时电路2是在系统启动脉冲触发下,延迟一个可编程时间段后,产生一个触发脉冲,用于启动天线接收子系统的采样保持和数据采集卡的A/D转换。
微机总线采用ISA总线,ISA总线是在PC总线的基础上发展起来的,但比PC总线在性能上有了较大的提高,其布线要求没有PCI接口板的要求高,又能满足本数据采集系统的速度要求。
ISA为工业标准总线,该总线较PC总线在性能上有了较大的提高,如其寻址空间的范围、数据总线的宽度、中断处理能力等都有很大的提高。
ISA信号线分为5类:数据线、地址线、控制线、状态线、辅助线和电源线,只简介本数据采集卡用到的信号线。
PCI2006数据采集卡第一章第一节、产品应用本卡是一种基于PCI总线的数据采集卡,可直接插在IBM-PC/AT或与之兼容的计算机内的任一PCI插槽中,构成实验室、产品质量检测中心等各种领域的数据采集、波形分析和处理系统。
也可构成工业生产过程监控系统。
它的主要应用场合为:◆电子产品质量检测◆信号采集◆过程控制◆伺服控制第二节、总线及制作工艺特点◆32位PCI总线,支持PCI2.2协议,真正实现即插即用◆支持5V PCI总线◆FPGA接口芯片设计,具有极高的保密性,特别适合OEM合作第三节、AD模拟量输入功能◆转换器类型:AD7899-1(兼容AD7899-2)◆输入量程(InputRange):板上A/D转换器AD7899-1:±10V、±5V板上A/D转换器AD7899-2:0~5V、0~2.5V◆转换精度:14位(Bit)◆采样速率(Frequency):最高采样速率为400KHz(2.5微秒/点)最低采样速率为39Hz(约25毫秒/点)注释:各通道实际采样速率=采样速率/采样通道数分频公式:采样频率=主频/分频数,其中主频=40MHz,20位分频,分频数的取值范围:最低为100,最高为220◆软件通过率:最高采样速率(2.5微秒/点),在Win2K系统中建议使用中断方式◆物理通道数:32通道(单端SE),16通道(双端DI)◆模拟量输入方式:单端模拟输入和双端模拟输入◆采样通道数:软件可选择◆模拟输入阻抗:100MΩ◆模拟输入共模电压范围:<±2V◆通道切换方式:任意通道切换(切换阵列中可重复某些通道的取样点数)◆数据读取方式:非空方式、半满方式和中断方式◆存诸器深度:8K字(点)FIFO存储器存储器标志:满、空、半满触发模式(TriggerMode):软件内部触发和硬件外部触发(简称外触发)触发类型(TriggerType):模拟电平触发和数字边沿触发触发电平:软件可调,触发电平由DA0输出实现数字量触发源(DTR)输入范围:标准TTL电平模拟量触发源(ATR)输入范围:±15V模拟比较器类型:LM311模拟比较器比较时间:<2uS模拟触发电平范围:由DA0的输出量程决定转换结果中的空闲数据位定义:D14由开关量DI0引入D15由FIFO溢出状态引入(0:表示溢出,1:表示未溢出)程控放大器类型:默认为AD8251,兼容AD8250、AD8253程控增益:1、2、4、8倍(AD8251)或1、2、5、10倍(AD8250)或1、10、100、1000倍(AD8253)模拟输入阻抗:10MΩ放大器建立时间:785nS(0.001%)(max)非线性误差:±1LSB(最大)系统测量精度:0.05%工作温度范围:0℃~+50℃存储温度范围:-20℃~+70℃第四节、DA模拟量输出功能转换器类型:AD5725输出量程:0~5V、0~10V、±5V、±10V转换精度:12位(Bit)采样速率:最高采样速率为100KHz(10us/点)最低采样速率由用户软件决定,软件置DA数据快则快,慢则慢。
基于ARM和FPGA的高速数据采集卡的设计与实现高速数据采集卡是一种用于实时采集高速数据的硬件设备,它可以将模拟信号转换为数字信号,并通过接口传输到计算机或其他设备进行处理。
在许多领域中,如仪器仪表、医学影像、通信等,高速数据采集卡被广泛应用。
在设计高速数据采集卡时,我们首先需要选择适合的处理器。
ARM处理器因其低功耗和高性能而成为了许多嵌入式系统的首选。
其架构简单、易于开发和应用,因此非常适合用于高速数据采集卡的设计。
同时,ARM处理器也提供了丰富的外设接口,可以方便地与其他模块进行通信和数据传输。
在数据采集过程中,我们需要将模拟信号转换为数字信号。
为此,我们可以使用FPGA芯片来实现高速的模数转换功能。
FPGA芯片具有高度可编程性和并行计算能力,可以根据需要进行灵活的配置和优化。
通过将FPGA芯片与ARM处理器进行连接,我们可以实现高速数据采集和实时处理的功能。
在实际设计中,我们可以使用一块FPGA开发板作为硬件平台。
这种开发板通常具有丰富的外设接口,并且可以方便地进行扩展和调试。
我们可以在开发板上搭建一个数据采集系统,包括模拟输入接口、ADC模块、FPGA芯片和ARM处理器。
通过适当的接口设计和数据传输协议,我们可以实现高速数据的采集和传输。
在软件开发方面,我们可以使用嵌入式操作系统来管理和控制系统。
由于ARM处理器具有丰富的外设接口和强大的计算能力,我们可以在嵌入式操作系统上开发相应的驱动程序和应用程序。
通过这些软件的配合,我们可以实现数据的采集、处理和存储等功能。
综上所述,基于ARM和FPGA的高速数据采集卡的设计与实现是一个复杂而有挑战性的任务。
通过合理的硬件设计和软件开发,我们可以实现高速数据的采集和实时处理,并且可以广泛应用于许多领域中。
随着科技的不断进步,高速数据采集卡将会发挥越来越重要的作用。
本科毕业设计说明书基于FPGA的高速数据采集卡的设计DESIGN OF HIGH-SPEED DATA ACQUISITION CARDBASED ON FPGA学院(部):电气与信息工程学院专业班级:学生姓名:指导教师:年月日基于FPGA的高速数据采集卡的设计摘要论文还从宏观和微观两个方面来分析数据采集卡的各个组成部分。
从宏观上分析了采集系统中各个芯片间的数据流向、速度匹配和具体通信方式的选择等问题。
使用乒乓机制降低了数据处理的速度,来降低FPGA中的预处理难度,使FPGA处理时序余量更加充裕。
在ARM与FPGA通信方式上使用DMA传输,大大提高了数据传输的速率,并解放了后端的ARM处理器。
设计从宏观上优化数据传输的效率,充分发挥器件的性能,并提出了一些改进系统性能的方案。
从微观实现上,数据是从前端数据调理电路进入AD转换器,再由FPGA采集AD转换器输出的数据,后经过数据的触发、成帧等预处理,预处理后的数据再传输给后端的ARM处理器,最后由ARM处理器送给LCD显示。
微观实现的过程中遇到了很多问题,主要是在AD数据的采集和采集数据的传输上。
在后期的系统调试中遇到了采集数据错位、ARM与FPGA通信效率低下,还有FPGA 中预处理时序紧张等问题,通过硬件软件部分的修改,问题都得到一定程度的解决。
在整个数据采集卡的设计过程中还遇到高速PCB设计、硬件设计可靠性、设计冗余性和可扩展性等问题,这些都是硬件设计中的需要考虑和重视的问题,在论文的最后一章有详细论述。
关键词:高速数据采集,触发,高速PCB设计,高速ADC1DESIGN OF HIGH-SPEED DATA ACQUISITION CARDBASED ON FPGAABSTRACTDate acquisition is the premise of measure, the foundation of analysis and the beginning of cognition. Most precise device is based on the date acquisition. With the development of the electronic and digital technology, the speed of date transmission and the calculation of CPU are faster and faster; therefore the requirements of data acquisition and processing are more severe than before.This paper analyzes the system from Macro-and micro respect. From the macro point of view it analyzes data flowing, speed matching and the selection of specific means of communication of acquisition system and so on. We adapt ping-pong mechanism to reduce the speed of analyzing data and pre-difficult of FPGA which lead to the ease of processing Timing Margin of FPGA. DMA transfer is used as communication between ARM and FPGA which improve data transmission rates, and liberate the back-end ARM processor. From the micro point of view, data enter into the A/D converter from the front-end conditioning circuitry, FPGA collecting data on the output of A/D converter and go through the pre-operation of triggering and framing of data. After these operations, data are transmitted to the back-end of the ARM processor and then display on the LCD. A lot of difficult exited in the successful operation in the micro respect which is mainly about A/D data collection and the of transmission data. All of these issues have been settled by the revising of hardware and software.KEYWORDS:High-speed Data Acquisition, Triggering, High-speed PCB High-speed, A/D converter21绪论1.1 引言数计算机技术在飞速发展,微机应用日益普及深入,微机在通信、自动化、工业自动控制、电子测量、信息管理和信息系统等方面得到广泛的应用。
基于FPGAad数据采集存储处理报告(含Verilog源代码)基于FPGA AD数据采集存储处理项目报告(XILINX ALTEARA 都可用)组员:华、文、杰一、实验目的本次实验利用Basys2开发板完成一个开发小项目,即开发AD数据采集存储处理系统,旨在掌握FPGA开发基本方法以及锻炼解决开发过程中出现问题的能力。
二、关键词Basys2、FPGA、AD转换、RAM、串口通信、MATLAB处理三、方案设计要实现本次项目,首先确定器件,其次根据器件时序写出模块的使用程序,最后综合成一个工程,然后进行仿真,上板实验。
本次实验的器件:32M8位模数转换器、Basys2开发板、串口转RS232cp2102模块、基于三极管的电平转换电路。
选择好器件后,根据器件的时序完成模块的代码书写。
写好AD模块、串口通信模块后,现在就需要处理采样速率与串口通讯速率不匹配的问题了。
根据香农采样定理,采样频率得高于信号频率的两倍才能完成信号复现,我们这里使用25M的高速采样频率,而串口dps9600传送一个位104us明显比采样慢许多。
所以这里需要解决速率不匹配的问题。
我们想到可以利用FPGA的RAM先存储采样来的数据,然后再提取数据经过串口通信送至PC经由MATLAB处理。
本次小项目最为关键的是控制好采样与串口通信的时序问题。
关于时序的控制,留到模块介绍里面说明。
方案小结:本次实验基于片内RAM存储AD采样过来的数据,然后待采样完成后提取数据串口通信至PC,最后经由matlab处理。
四、模块介绍1.Verilog开发程序介绍如下给出基于QuartusII绘制出的Block Diagram图,涵盖了所有的模块以及模块之间的连线。
图4.1 综合模块图如下给出程序目录(txt格式):现在分别介绍各个模块的端口以及功能。
AD外设:电路图、实物图、接口这个外设提供最大32M采样速率,包括一个模拟信号输入和一个采样时钟输入以及八个数字信号输出。
微机原理课程设计 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