计算机控制系统课程设计ad转换,计算机a/d转换器与系统的连接及举例

1.输入模拟电压的连接

a/d转换器的输入模拟电压可以是单端输入也可以是双端输入。如单通道8位a/d转换器adc0804的两个输入端为vin(-)、vin(+),如果用单端输入的正向信号,则把vin(-)接地,信号加到vin(+)端;如果用单端输入的负向信号,则把vin(+)接地,信号加到vin(-)端;如果用双端输入,则模拟信号加在vin(-)端和vin(+)端之间。

adc0808/0809可以从in0~in7接8路模拟电压输入,通常接成单端、单极性输入,这时uref(+)=5v、uref(-)=0v,也可以接成双极性输入,这时uref(+)和uref(-)应分别接+、-极性的参考电压。ad574是单端输入模拟电压,在10vin和20vin中任一端和agnd之间,可输入单极性电压或双极性电压,输入模拟电压的极性不同,其输入电路也不同(可参阅图5-54、图5-55)。

2.数据输出和系统总线的连接

a/d转换器的数据输出有两种方式。一种是a/d芯片内部带有三态输出门,其数据输出线可以直接挂到系统数据总线上去。另一种是a/d芯片内部不带三态输出门,或虽有三态输出门,但它不受外部信号控制,而是当转换结束时自动开门,如ad570就是这种芯片。

3.a/d转换启动信号

a/d转换器是由cpu发出启动转换信号的。启动信号有电平启动和脉冲启动两种方式。如ad570、ad571、ad572等要求用电平启动信号,在整个a/d转换期间,启动电平信号不能撤消。cpu一般要通过并行接口输出端或用d触发器发出和保持有效的电平启动信号。adc0804、adc0808/0809和ad574都要求用脉冲启动信号。通过读/写信号或程序控制得到足够宽度的脉冲信号。

4.转换结束信号及转换数据的读取

a/d转换结束时,a/d转换芯片输出转换结束信号。转换结束信号也有两种:电平信号和脉冲信号。cpu检测到转换结束信号后,即可读取转换后的数据。cpu一般可以采用以下3种方式和a/d转换器进行联络来实现对转换数据的读取:

(1)程序查询方式

(2)中断方式

(3)固定的延迟程序方式

可画出adc0808/0809和8086cpu的连接原理图如图1所示。

b9bffe389e3e07b53de54de1c26acde1.png

图1 adc0808/0809与8086cpu的连接原理图

由于adc0808/0809的数据输出带三态输出门,故可直接接到cpu数据总线上。按图5-56所示接线,74ls138译码出的地址范围正好是78h~7fh。低3位地址线a2~a0分别直接接到adc0808/0809的采样地址输入端c、b、a上,用于选通8路输入通路中的其中一路。那么用一条输出指令即可启动某一通路开始转换(使adc0808/0809的start端和ale端得到一个启动正脉冲信号):

contv1:moval,00h;可以是不为00h的其他数字

out78h,al;选通in0通路并开始转换

 …contv7:moval,00h;

out7fh,al;选通in7通路并开始转换

 …

转换结束,adc0808/0809从eoc端发出一个正脉冲信号,通过中断控制器8259a向cpu发出中断请求,cpu响应中断后,转去执行中断服务程序。在中断服务程序中,执行一条输入指令,即可读取转换后的数据。

例 ad574与8031的连接。

图2为ad574与8031的接口电路。

2616f8693b9baddb9a398d813cd1d72e.png

图2 ad574与8031的接口电路

利用该接口电路完成一次a/d转换,并把转换结果的高8位放入r2中,低8位放入r3中的

工作程序如下:

main:movr0,#7ch;选择ad574,并令a0=0

movx@r0,a;启动a/d转换,全12位

loop:nop

jbp3.2,loop;查询转换是否结束

movxa,@r0;读取高8位

movr2,a;存入r2中

movr0,#7dh;令a0=1

movxa,@r0;读取低4位,尾随4个0

movr3,a;存入r3中

…

例 位a/d转换器ad574与外部的连接。

图3是ad574与外部的连接电路。

3198e02dee21524823f101004e2457af.png

图3 ad574与外部的连接电路

设转换结束信号sts接8255a的pa,8255a初始化设定为a口输入。用查询法启动和

读取ad574的转换数据的接口程序如下:

outadport,al;

启动a/d按12位转换,adport是ad574的一个偶地址

wait1:inal,pa;

读取转换结束信号,pa是8255a的a端口地址

movcl,03;

rcral,cl;右移三次

jcwait1;如为高电平,则等待

inal,adport;读取转换后的高8位数据

movah,al;高8位数据传送到ah

inal,adport+1;

读取转换后的低4位数据(后跟4个0)

…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值