第十一章模数和数模转换_第1页
第十一章模数和数模转换_第2页
第十一章模数和数模转换_第3页
第十一章模数和数模转换_第4页
第十一章模数和数模转换_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、第十一章第十一章 模数和数模转换模数和数模转换11.1 d/a转换器转换器 d/a转换的基本功能是将一个用二进制表示的数转换的基本功能是将一个用二进制表示的数字量转换成相应的模拟量。字量转换成相应的模拟量。分辨率(分辨率(resolution) 表示表示dacdac对微小模拟信号的分辨能力,它是数字对微小模拟信号的分辨能力,它是数字量的最低有效位量的最低有效位( (lsb)lsb)所对应的模拟值。所对应的模拟值。 , n为二进制数的位数为二进制数的位数12n-1分辨率分辨率=一、一、d/a转换的主要技术指标转换的主要技术指标 可见,输入数字量位数越多,分辨率越高。所可见,输入数字量位数越多,分

2、辨率越高。所以,除上面公式外,在实际应用中,也常用字量的位以,除上面公式外,在实际应用中,也常用字量的位数表示数表示d/a转换器的分辨率。转换器的分辨率。精度(精度(accuracy) 表明表明d/ad/a转换的精确程度,一般用误差大小表示。它转换的精确程度,一般用误差大小表示。它取决于构成转换器的各个部件的误差和稳定性。精度可取决于构成转换器的各个部件的误差和稳定性。精度可分为绝对精度和相对精度。分为绝对精度和相对精度。线性误差(线性误差(linearity error) 实际输出偏离理想线性特性的最大误差与满量程之实际输出偏离理想线性特性的最大误差与满量程之比的百分数。由非线性而带来的误差

3、。比的百分数。由非线性而带来的误差。理想的(即线性理想的(即线性的)转换特性应是相邻两个数字量之间的差为的)转换特性应是相邻两个数字量之间的差为1 1lsblsb。建立时间(建立时间(setting time) 也称稳定时间,是指也称稳定时间,是指从数字输入到稳定输出从数字输入到稳定输出模拟模拟电电流的时间。流的时间。二、二、d/ad/a转换基本原理转换基本原理 基本思想:基本思想: 由于构成数字代码的每一位都有一定的由于构成数字代码的每一位都有一定的“权重权重”,因此为了将数字量转换成模拟量,就必须将每一位代因此为了将数字量转换成模拟量,就必须将每一位代码按其码按其“权重权重”转换成相应的模

4、拟量,然后再将代表转换成相应的模拟量,然后再将代表各位的模拟量相加,即可得到与该数字量成正比的模各位的模拟量相加,即可得到与该数字量成正比的模拟量,这就是构成。拟量,这就是构成。n = 4位数据位数据: 0000 0v 1111 5v 分辨率分辨率:5v/15=0.333v/每每1个最低有效个最低有效位位n = 8位数据位数据: 00000000 0v 11111111 5v 分辨率分辨率:5v/255=0.0196v/每每1个最低有个最低有效位效位例如:例如:0101 22+20=5 0.333v=1.67v数字量数字量模拟量模拟量基本原理:基本原理: 对于有权码,先将每位代码按其权的大小转

5、换对于有权码,先将每位代码按其权的大小转换成相应的模拟量,然后将这些模拟量相加,即可得成相应的模拟量,然后将这些模拟量相加,即可得到与数字量成正比的总模拟量,从而实现了数字到与数字量成正比的总模拟量,从而实现了数字/ /模拟转换。模拟转换。0123456001010011100101110111d/ad/a转换器转换器ddd01n-1.vo输入输入输出输出vo/vd00011.2 dac0832 dac0832是美国国家半导体公司采用是美国国家半导体公司采用cmos工艺生工艺生产的产的8位位d/a转换集成电路芯片。它具有与微机连接简转换集成电路芯片。它具有与微机连接简单、转换控制方便、价格低廉

6、等特点,因而得到了广泛单、转换控制方便、价格低廉等特点,因而得到了广泛的应用。的应用。一、一、dac0832dac0832的引脚与结构的引脚与结构dac08321202193184176158139121011agnddi3vrefrfbdgndvccileiout2iout1751614 cs wr1di2di1di0 wr2xferdi4di5di6di7adc0832的内部结构:的内部结构: dac0832采用采用8位输入寄存器和位输入寄存器和8位位dac寄存器二次寄存器二次缓冲方式,这样可以在缓冲方式,这样可以在d/a输出的同时,送入下一个数输出的同时,送入下一个数据,以便提高转换速度

7、。当输入寄存器的数据送入据,以便提高转换速度。当输入寄存器的数据送入dac寄存器后,寄存器后,d/a转换器便开始转换,这两个寄存器有两转换器便开始转换,这两个寄存器有两个锁存信号个锁存信号/le1和和/le2,当它们为当它们为1时,数据能存入寄时,数据能存入寄存器,当它们为存器,当它们为0时,数据不能存入寄存器。时,数据不能存入寄存器。 di7 di0d/a转换器的数字量输入引脚。其中转换器的数字量输入引脚。其中di0为最低位,为最低位,di7为最高位。为最高位。 cs片选信号输入端,低电平有效。片选信号输入端,低电平有效。 wr1输入寄存器的写信号,低电平有效。输入寄存器的写信号,低电平有效

8、。 ile输入寄存器选通信号,高电平有效。输入寄存器选通信号,高电平有效。 xfer从输入寄存器向从输入寄存器向dac寄存器传送寄存器传送d/a转转换数据的控制信号,低电平有效。换数据的控制信号,低电平有效。 wr2dac寄存器的写信号,低电平有效。寄存器的写信号,低电平有效。vcc芯片电源,其值可在芯片电源,其值可在+5 +15 v之间选取,典型之间选取,典型值取值取+15 v。 agnd模拟信号地。模拟信号地。 dgnd数字信号地。数字信号地。 rfb内部反馈电阻引脚,用来外接内部反馈电阻引脚,用来外接d/a转换器转换器输出增益调整电位器。输出增益调整电位器。 vrefd/a转换器的基准电

9、压,其范围可在转换器的基准电压,其范围可在10 +10 v内选定。该电压精度直接影响着内选定。该电压精度直接影响着d/a转换精转换精度。度。 iout1d/a转换器输出电流转换器输出电流1,当输入全,当输入全1时,时,输出电流最大,约为输出电流最大,约为 ;当输入为全;当输入为全0时,输时,输出电流最小,即为出电流最小,即为0。 iout2d/a转换器输出电流转换器输出电流2,它与,它与iout1有如有如下关系:下关系: iout1+iout2=常数常数 d/a转换没有形式上的启动信号。实际上将数据转换没有形式上的启动信号。实际上将数据写入第二级寄存器的控制信号就是写入第二级寄存器的控制信号就

10、是d/a转换器的启动转换器的启动信号。另外,它也没有转换结束信号,信号。另外,它也没有转换结束信号,d/a转换的过转换的过程很快,一般还不到一条指令的执行时间。程很快,一般还不到一条指令的执行时间。 fbrefrv256255 ile信号和信号和cs、wr1共同控制选通输入寄存器。共同控制选通输入寄存器。当当cs、wr1均为低电平,而均为低电平,而ile为高电平时,为高电平时,le1=0,输入数据被送至输入数据被送至8位输入寄存器的输出端;当上述三个位输入寄存器的输出端;当上述三个控制信号任一个无效时,控制信号任一个无效时,le1变高,输入寄存器将数据变高,输入寄存器将数据锁存,输出端呈保持状

11、态。锁存,输出端呈保持状态。 当当xfer和和wr2同时有效时,输入寄存器的数据装同时有效时,输入寄存器的数据装入入dac寄存器,并同时启动一次寄存器,并同时启动一次d/a转换。转换。ile=1,/cs=0,/wr1=0时,时,/le1=1,否则,否则,/le1=0;/wr2=0,/xfer=0时,时,/le2=1,否则,否则,/le2=0。二、二、dac0832dac0832的工作方式的工作方式 dac0832dac0832内部有两个寄存器,能实现三种工作方式:内部有两个寄存器,能实现三种工作方式:双缓冲、单缓冲和直通方式。双缓冲、单缓冲和直通方式。 dac0832dac0832内部内部两个

12、寄存器的两个锁存信号两个寄存器的两个锁存信号le1和和le2不一定同时有效,它们可以分开控制,也可以同时不一定同时有效,它们可以分开控制,也可以同时有效有效。当它们同时有效时,数据线上的数据。当它们同时有效时,数据线上的数据d0d7经经输入寄存器立即进入输入寄存器立即进入dac寄存器开始转换这种方式称寄存器开始转换这种方式称为单缓冲方式;对为单缓冲方式;对le1和和le2分步控制称为双缓冲方分步控制称为双缓冲方式;当式;当le1和和le2始终为有效时称为直通方式。始终为有效时称为直通方式。1 1、直通工作方式、直通工作方式 是指两个寄存器的有关控制信号都预先置为有效,是指两个寄存器的有关控制信

13、号都预先置为有效,两个寄存器都开通。只要数字量送到数据输入端,就两个寄存器都开通。只要数字量送到数据输入端,就立即进入立即进入d/ad/a转换器进行转换。这种方式应用较少。转换器进行转换。这种方式应用较少。例:例:dac0832dac0832与与cpucpu的接口。的接口。如图所示,由于如图所示,由于dac0832内部有数据锁存器,其数据输入引脚可直接与内部有数据锁存器,其数据输入引脚可直接与cpu的的数据总线相连。图中数据总线相连。图中xfer和和wr2接地,即接地,即dac0832内部的第内部的第2级寄存器接成直通式,只由第级寄存器接成直通式,只由第1级寄存器控级寄存器控制数据的输入,当制

14、数据的输入,当cs和和wr1同时有效时同时有效时(ile始终为有始终为有效的高电平效的高电平),di7 di0的数据被送入其内部的的数据被送入其内部的d/a转换转换电路进行转换。电路进行转换。 isa总线a9dac0832vcc ilerfbiout1dgndagnd74ls138cbrf5 vvoutd7d0 iow aena8a7a6 g2a g2bg1a y7 y0 y1 csdi7di0rwiout wr12wrxfer1)如果要求图示系统的)如果要求图示系统的vout端输出方波,可编程如下:端输出方波,可编程如下:movdx,200h;端口地址端口地址200h送送dxloop1:mo

15、val,00houtdx,al;将数据将数据0送送dac0832进行转换进行转换calldelay;调用延时子程序调用延时子程序moval,0ffhoutdx,al;将数据将数据ffh送送dac0832进行转换进行转换calldelayjmploop1 2)如果要求图示系统的)如果要求图示系统的vout端输出端输出锯齿波,可编程如下:,可编程如下:start: mov al,0ffhagain: inc al out 200h,al call delay ; jmp again阶梯的宽度由延时时间决定阶梯的宽度由延时时间决定3)如果要求图示系统的)如果要求图示系统的vout端输出端输出三角波,

16、可编程如下:,可编程如下:若电源电压为若电源电压为5v,波形下限电压为波形下限电压为0.5v,上限电压为上限电压为2.5v。则下限电压对应的数字量为:则下限电压对应的数字量为: 0.5256/5=26=1ah上限电压对应的数字量为:上限电压对应的数字量为: 2.5256/5=128=80hbegin: mov al,1ahup : out 200h,al inc al cmp al,81h jnz up dec aldown: out 200h,al dec al cmp al,19h jnz down jmp begin 2 2、单缓冲工作方式、单缓冲工作方式 是指只有一个寄存器受到控制。这

17、时将另一个寄是指只有一个寄存器受到控制。这时将另一个寄存器的有关控制信号预先设置成有效,使之开通,或存器的有关控制信号预先设置成有效,使之开通,或者将两个寄存器的控制信号连在一起,两个寄存器作者将两个寄存器的控制信号连在一起,两个寄存器作为一个来使用。为一个来使用。 例:假设地址译码为例:假设地址译码为310h,将将1000h单元中的数单元中的数据送据送dac0832转换输出。转换输出。 电路如图:电路如图: dac 0832d7d0/wrilerefiout1iout2+-agndv0/cs/wr1/wr2/xfer+5v译码器译码器a15a0m/iomov bx,1000hmov al,b

18、xmov dx,310hout dx,al 单缓的接线方式不是唯一的,单缓的接线方式不是唯一的,但是它必须满足二但是它必须满足二个条件:个条件:必须受必须受cpucpu的控制;当的控制;当cpucpu执行执行outout指令时指令时/ /cscs、ileile、/xfer/xfer、/wr1/wr1、/wr2/wr2必须同时有效。必须同时有效。不执行不执行outout指令时有个别控制信号有效是可以的。指令时有个别控制信号有效是可以的。程序如下:程序如下: 3 3、双缓冲工作方式、双缓冲工作方式 是指两个寄存器分别受到控制。当是指两个寄存器分别受到控制。当ileile、cscs和和wrwr1 1

19、信信号均有效时,号均有效时,8 8位数字量被写入输入寄存器,此时并不位数字量被写入输入寄存器,此时并不进行进行a/da/d转换。当转换。当wrwr2 2和和xferxfer信号均有效时,原来存放在信号均有效时,原来存放在输入寄存器中的数据被写入输入寄存器中的数据被写入dacdac寄存器,并进入寄存器,并进入d/ad/a转转换器进行换器进行d/ad/a转换。在一次转换完成后到下一次转换开转换。在一次转换完成后到下一次转换开始之前,由于寄存器的锁存作用,始之前,由于寄存器的锁存作用,8 8位位d/ad/a转换器的输转换器的输入数据保持恒定,因此入数据保持恒定,因此d/ad/a转换的输出也保持恒定。

20、转换的输出也保持恒定。 dac 0832d7d0/wrilerefiout1iout2+-agndv0/cs/wr1/wr2/xfer+5v译码器译码器a15a0m/iomov dx,320h; 输入寄存器的地址为输入寄存器的地址为320hmov al,data;要转换的数为要转换的数为dataout dx,alinc dx ; dac寄存器的地址是寄存器的地址是321hout dx,al ;启动启动d/a转换转换例:例:三、三、 电压输出电路的连接电压输出电路的连接 dac0832dac0832以电流形式输出转换结果,若要得到电压形式的输以电流形式输出转换结果,若要得到电压形式的输出,需要外

21、加出,需要外加i/vi/v转换电路,常采用运算放大器实现转换电路,常采用运算放大器实现i/vi/v转换。转换。dac0832dac0832的电压输出电路:的电压输出电路: ( (a) a) 单极性输出;单极性输出;( (b) b) 双极性输出双极性输出dac0832rfbiout1iout2rp1vou tvout1dac0832vrefrfbiout1rp1r0(a)(b)voutr32rr22r5ioutr1r 对于单极性输出电路,输出电压为:对于单极性输出电路,输出电压为: refoutv256dv 式中式中d d为输入数字量的十进制数。因为转换结果为输入数字量的十进制数。因为转换结果i

22、 iout1out1接运接运算放大器的反向端,所以式中有一个负号。若算放大器的反向端,所以式中有一个负号。若v vrefref=+5v=+5v,当当d=0d=0 255(00h255(00h ffh)ffh)时,时,v voutout=-(0=-(0 4.98)v4.98)v。 通过调整运算放大器的调零电位器,可以对通过调整运算放大器的调零电位器,可以对d/ad/a芯片进行芯片进行零点补偿。通过调节外接于反馈回路的电位器零点补偿。通过调节外接于反馈回路的电位器r rp1p1,可以调整满可以调整满量程。量程。对于双极性输出电路,输出电压的表达式为:对于双极性输出电路,输出电压的表达式为: ref

23、outv128128dv 若若v vrefref=+5v=+5v,当当d=0d=0时,时,v vout1out1=0=0,v voutout=-5v=-5v;当当d=128(80h)d=128(80h)时,时,v vout1out1=-2.5v=-2.5v,v voutout=0=0;当当d=255(ffh)d=255(ffh)时,时,v vout1out1=-4.98v=-4.98v,v voutout=4.96v=4.96v。 除了除了dac0832之外还有很多之外还有很多da芯片,芯片,ac0832比较常用。比较常用。 现有现有10位、位、12位、位、14位、位、16位位da转换芯片,位

24、数越多,价转换芯片,位数越多,价钱越高。钱越高。11.3 a/d转换转换 一、转换原理一、转换原理 a/d转换器是将模拟量转换成数字量,实现转换器是将模拟量转换成数字量,实现a/d转换的方转换的方法有多种,常用的有计数法、双积分法和逐次逼近法。法有多种,常用的有计数法、双积分法和逐次逼近法。二、技术参数二、技术参数 转换精度转换精度 转换率转换率 转换速度、转换时间转换速度、转换时间 分辨率分辨率 量程量程 所能转换的电压范围所能转换的电压范围11.4 adc0809一、引脚及结构一、引脚及结构 adc0809是逐位逼近型是逐位逼近型8通道、通道、8位位a/d转换芯片,转换芯片,cmos工艺制

25、造,双列直插式工艺制造,双列直插式28引脚封装。引脚封装。12345678910111213142927262524232221201918171615adc0809in3in4in5in6in7starteocd3oeclkvccref(+)gndd1in2in1in0abcaled7d6d5d4d0ref(-)d2 adc0809片内有片内有8路模拟开关,可输入路模拟开关,可输入8个模拟量,个模拟量,单极性输入,量程为单极性输入,量程为0 +5 v。典型的转换速度为典型的转换速度为100 s。片内带有三态输出缓冲器,可直接与片内带有三态输出缓冲器,可直接与cpu总线接口。总线接口。其性能价

26、格比有明显的优势,是目前广泛采用的芯片其性能价格比有明显的优势,是目前广泛采用的芯片之一,可应用于对精度和采样速度要求不高的数据采之一,可应用于对精度和采样速度要求不高的数据采集场合或一般的工业控制领域。集场合或一般的工业控制领域。 8位a/d转换器1817d02120198151416oe9addc23addb24adda25ale22265in743212827start6clock108路模拟开关地址锁存与译码sar控制与定时树状开关电阻网络三态输出锁存缓冲器11vcc13gnd7eocvref( )128 路模拟量选通输入部分三态数据输出锁存器in6in5in4in3in2in1in0

27、vref( )d1d2d3d4d5d6d7 adc0809adc0809结构框图:结构框图:1) 1) 内部结构与转换原理内部结构与转换原理 如图所示,如图所示,adc0809adc0809内部由三部分组成:内部由三部分组成:8 8路模拟量选通输入路模拟量选通输入部分,部分,8 8位位a/da/d转换器和三态数据输出锁存器。转换器和三态数据输出锁存器。 adc0809adc0809允许连接允许连接8 8路模拟信号路模拟信号( (inin7 7 inin0 0) ),由由8 8路模拟开关选路模拟开关选通其中一路信号输入并进行通其中一路信号输入并进行a/da/d转换,模拟开关受通道地址锁存和转换,

28、模拟开关受通道地址锁存和译码电路的控制。当地址锁存信号译码电路的控制。当地址锁存信号aleale有效时,有效时,3 3位地址位地址addcaddc、addbaddb和和adda(adda(通常与地址总线通常与地址总线a a2 2、a a1 1和和a a0 0引脚相连引脚相连) )进入地址锁存器,进入地址锁存器,经译码后使经译码后使8 8路模拟开关选通某一路模拟信号。输入的地址信息与路模拟开关选通某一路模拟信号。输入的地址信息与所选通的模拟通道之间存在一一对应的关系。如当所选通的模拟通道之间存在一一对应的关系。如当addcaddc、addbaddb、adda=000adda=000时,时,ini

29、n0 0选通;选通;addcaddc、addbaddb、adda=001adda=001时时, ,inin1 1选通;选通;addcaddc、addbaddb、adda=111adda=111时,时,inin7 7选通。选通。 2) 2) 引脚定义引脚定义 in0 in78路模拟量输入端。路模拟量输入端。 addc、addb和和adda地址输入端,以选通地址输入端,以选通in7 in0 8路中的某一路信号。路中的某一路信号。 ale地址锁存允许信号,有效时将地址锁存允许信号,有效时将addc、addb和和adda锁存。锁存。 clock外部时钟输入端。允许范围为外部时钟输入端。允许范围为10

30、1280khz。时时钟频率越低,转换速度就越慢。钟频率越低,转换速度就越慢。 starta/d转换启动信号输入端。有效信号为一正脉转换启动信号输入端。有效信号为一正脉冲。在脉冲的上升沿,冲。在脉冲的上升沿,a/d转换器内部寄存器均被清零,在其下转换器内部寄存器均被清零,在其下降沿开始降沿开始a/d转换。转换。 eoca/d转换结束信号。在转换结束信号。在start信号上升沿之后不久,信号上升沿之后不久,eoc变为低电平。当变为低电平。当a/d转换结束时,转换结束时,eoc立即输出一正阶跃信立即输出一正阶跃信号,可用来作为号,可用来作为a/d转换结束的查询信号或中断请求信号。转换结束的查询信号或

31、中断请求信号。 oe输出允许信号。当输出允许信号。当oe输入高电平信号时,三态输出锁输入高电平信号时,三态输出锁存器将存器将a/d转换结果输出到数据量输出端转换结果输出到数据量输出端d7 d0。 d7 d0数字量输出端。数字量输出端。d0为最低有效位为最低有效位(lsb),d7为最高为最高有效位有效位(msb)。 vcc与与gnd电源电压输入端及地线。电源电压输入端及地线。 vref(+)与与vref(-)正负基准电压输入端。中心值为正负基准电压输入端。中心值为(vref(+)+vref()/2(应接近于应接近于vcc/2),其偏差不应该超过其偏差不应该超过 0.1 v。正正负基准电压的典型值

32、分别为负基准电压的典型值分别为 +5 v和和0 v。 adc0809的数字量输出值的数字量输出值d(十进制数十进制数)与模拟量输入值与模拟量输入值vin之间的关系如下:之间的关系如下: 8)ref()ref()ref(in2vvvvd通常通常vref()=0 v,所以所以 625vvd)ref(in 当当vref(+)=5 v,vref(-)=0 v,输入的单极性模拟量从输入的单极性模拟量从0 v到到4.98 v变化时,对应的输出数字量在变化时,对应的输出数字量在0到到255(00h ffh)之间变化。之间变化。 数据数据64个个clkstartaleeocoed7d0cba二、二、adc08

33、09adc0809工作时序工作时序 转换过程:选择当前转换的通道,将转换过程:选择当前转换的通道,将cbacba选择的选择的通道地址(即通道编码)送地址锁存器;通过执行通道地址(即通道编码)送地址锁存器;通过执行outout指令在指令在aleale ,startstart上产生一个正脉冲,上产生一个正脉冲, aleale脉冲的脉冲的上升沿锁存通道编码,上升沿锁存通道编码,startstart脉冲的下降沿启动脉冲的下降沿启动a/da/d转转换换 ; a/da/d转换开始后,转换开始后,eoceoc变低,经过变低,经过6464个时钟周期个时钟周期后,转换结束,后,转换结束,eoceoc变高;转换结

34、束后,通过执行变高;转换结束后,通过执行inin指令在指令在oeoe脚上产生一个正脉冲,打开输出缓冲器的三态脚上产生一个正脉冲,打开输出缓冲器的三态门,数据送入门,数据送入d7d0d7d0,读入转换数据读入转换数据。 说明:使用时说明:使用时start和和ale可以用同一个信号控可以用同一个信号控制;若制;若start与与eoc相连接,可实现连续转换;相连接,可实现连续转换;eoc的上升沿可作为中断请求信号。的上升沿可作为中断请求信号。三、三、 adc0809与微处理器的接口与微处理器的接口1 1、直接连接、直接连接 由于由于adc0809芯片内部集成了三态数据锁存器,其数据输芯片内部集成了三

35、态数据锁存器,其数据输出线可以直接与计算机的数据总线相连,因此,设计出线可以直接与计算机的数据总线相连,因此,设计adc0809与计算机的接口主要是对模拟通道的选择、转换启动的控制以与计算机的接口主要是对模拟通道的选择、转换启动的控制以及读取转换结果的控制等方面的设计。及读取转换结果的控制等方面的设计。 可以用中断方式,也可以用查询方式,还可以用无条件传可以用中断方式,也可以用查询方式,还可以用无条件传送方式将转换结果送送方式将转换结果送cpu。无条件传送即启动转换后等待无条件传送即启动转换后等待100 s(adc0809的转换时间的转换时间),然后直接读取转换结果。无条件传送,然后直接读取转

36、换结果。无条件传送方式接口电路简单。方式接口电路简单。 例:用例:用adc0809对对8路模拟信号进行循环采样,各采集路模拟信号进行循环采样,各采集100个数据分别存放在数据段内的个数据分别存放在数据段内的8个数据区中,采用无条件传送方个数据区中,采用无条件传送方式。接口电路如图所示:式。接口电路如图所示: &oealein7startaddcaddbaddavref()dbioriowa2来自地址译码器输出v7500 khz&a1a0d7 d05 vvref()v1v0in1in0clk 设图中通道设图中通道07的地址依次为的地址依次为380h 387h,则无条件传送的则无条

37、件传送的采集程序如下:采集程序如下:data segment countequ 100buff db count8 dup(?)data endsstack segment stack dw200 dup(?)stack endscode segmentassume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax mov ax,stack mov ss,ax mov bx,offset buff mov cx,countoutl: push bx mov dx,380h ;指向通道指向通道0inlop:outdx,al ;锁存模拟通道地

38、址,启动转换锁存模拟通道地址,启动转换 mov ax,50000 ;延时,等待转换结束延时,等待转换结束 wt: decax jnzwt inal,dx;读取转换结果读取转换结果 movbx,al addbx,count;指向下一个通道的存放地址指向下一个通道的存放地址 incdx;指向下一个通道的地址指向下一个通道的地址 cmpdx,388h;8个通道都采集了一遍吗?个通道都采集了一遍吗? jbinlop popbx;弹出弹出0通道的存放地址通道的存放地址 incbx;指向指向0通道的下一个存放地址通道的下一个存放地址 loopoutl movah,4ch int21hcode ends e

39、ndstart adc 0809通过通过8255a的接口原理图的接口原理图译码译码y1y0iowriordd7 d0a0a1a7 a2clk80888088总线总线8255apb4pb2pb1pb0papc7wrrddba0a1cs+5vclockalestartaddcaddbaddaeocoevccvref+vref-gndadc0809in7in0d7d08分频分频y0地址为地址为80h83hy1 地址为地址为84h87h2 2、通过并行接口芯片同、通过并行接口芯片同cpucpu连接连接例:对例:对adc0809adc0809的的in0in0至至in7in7巡回进行采样一次,并将采样的数

40、据巡回进行采样一次,并将采样的数据存放在以存放在以datadata开始的内存单元中。开始的内存单元中。分析:分析:82558255a a有三个有三个8 8位的并行口,可用位的并行口,可用pbpb口输出口输出08090809的通道选择编码和控制的通道选择编码和控制adcadc的启动,的启动,pcpc口输入口输入adcadc的状的状态。态。papa口作为他用。口作为他用。mov al,98h ;8255方式方式0,pa口输入,口输入,out 83h,al ;pb口输出,口输出,pc口高四位输入口高四位输入mov si,offset data ;置内存首址置内存首址mov ax,0h ;开关初始编码

41、开关初始编码mov cx,8第一步:第一步:程序初始程序初始化化第二步:输出第二步:输出通道号,启动通道号,启动adc。aga:mov al,ah ;输出开关编码输出开关编码 out 81h,al add al,10h ;启动启动adc out 81h,al sub al,10h ; ale、start正脉冲正脉冲 out 81h,al第三步:判第三步:判adc转换结束否?结转换结束否?结束则读入数据,束则读入数据,存入内存。否则存入内存。否则再判。再判。lop: in al,82h ;检查检查eoc test al,80h jz lop ;eoc=0,继续查询继续查询 in al,84h ;

42、eoc=1,读入数据读入数据 mov si,al ;存入内存存入内存第四步:修改循第四步:修改循环变量,判测量环变量,判测量完否?未完继续。完否?未完继续。inc si ;修改指针修改指针inc ah ;修改开关编码修改开关编码loop aga ;未完继续未完继续接口综合大串联接口综合大串联例程:有例程:有8路模拟信号,要求在按下路模拟信号,要求在按下k0键之后,每个通键之后,每个通道以道以1khz的采样频率采样数据,采样的采样频率采样数据,采样10ms时间。按下时间。按下k1键之后,求出通道键之后,求出通道0采集到的数据的平均值,并将平采集到的数据的平均值,并将平均值的十六进制结果显示到均值

43、的十六进制结果显示到8255的的led指示灯上面。指示灯上面。按下按下k2键之后,将求出的平均值以键之后,将求出的平均值以9600bps,2位停止位停止位,位,1位起始位,位起始位,8位数据位,无奇偶校验的串行通信位数据位,无奇偶校验的串行通信方式传送到另一台方式传送到另一台pc。按下。按下k3键之后,输出一个赋值键之后,输出一个赋值1.96v峰峰值,频率为峰峰值,频率为100hz的锯齿波。中断向量号从的锯齿波。中断向量号从30h号开始安排。号开始安排。8mhz时钟源和时钟源和4分频器由外电路提供。分频器由外电路提供。解答:解答:1、首先给各个芯片分配端口地址,如首先给各个芯片分配端口地址,如

44、74ls138输出脚所示。输出脚所示。2、系统要求判断按键执行相应的功能程序,所以主程序要实系统要求判断按键执行相应的功能程序,所以主程序要实时检测按键的内容,得到按键后进行相应的散转,然后调用时检测按键的内容,得到按键后进行相应的散转,然后调用各个功能函数。键盘扫描接到各个功能函数。键盘扫描接到8255的的pa口,所以令口,所以令8255的的pa口工作于方式口工作于方式0输入方式。输入方式。3、ad的采集要求每个通道是的采集要求每个通道是1khz,8个通道都要采集,必须个通道都要采集,必须保证保证ad的采集频率至少是的采集频率至少是1khz8=8khz。该信号可由。该信号可由8253提供,由于系统外部有提供,由于系统外部有8mhz的时钟和的时钟和4分频器电路,可将该分频器电路,可将该频

温馨提示

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

评论

0/150

提交评论