机械系统微机控制9_第1页
机械系统微机控制9_第2页
机械系统微机控制9_第3页
机械系统微机控制9_第4页
机械系统微机控制9_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

机械系统微机控制王志刚机械系机电教研室Email:jxxwzg@163.com11/18/20238:30AM8A/D与D/A

接口机械系统微机控制8.1数模转换D/A接口

1.DAC工作原理

D/A转换器DAC(DigitaltoAnalogConverter)输入信号是数字量,经转换后输出的是模拟量:电压或电流。输出量与输入量成正比。

机械系统微机控制数模转化(D/A)电路形式常采用T型电阻解码网络,这种结构的四位二进制数的模数转换电路如图所示:图:T型电阻解码网络机械系统微机控制由上式和图得运算放大器的输出电压为:可以总结为“按权展开,然后相加”输出电压和二进制位数呈线性关系。调整运算放大器的反馈电阻Rf和参考电压VRef就得到和n位二进制数成比例的输出电压范围。机械系统微机控制N位二进制数的值二进制数位数有关D/A转换器的技术性能指标1)分辩率分辨率是D/A转换器对输入量变化敏感程度的描述,与输入数字量的位数有关。如果数字量的位数为n,则D/A转换器的分辨率为2-n。2)建立时间建立时间是描述D/A转换速度快慢的一个参数,指从输入数字量变化到输出达到终值时所需的时间。通常以建立时间来表示转换速度.转换器的输出形式为电流时,建立时间较短;输出形式为电压时,由于建立时间还要加上运算放大器的延迟时间,因此建立时间要长一点。但总的来说,D/A转换速度远高于A/D转换速度,快速的D/A转换器的建立时间可达1μs。机械系统微机控制3)接口形式

D/A转换器与单片机接口方便与否,主要决定于转换器本身是否带数据锁存器。有两类D/A转换器,一类是不带锁存器的,另一类是带锁存器的。对于不带锁存器的D/A转换器,为了保存来自单片机的转换数据,接口时要另加锁存器,因此这类转换器不能直接接在数据总线上,必须通过并行接口和系统连接;而带锁存器的D/A转换器,可以把它看作是一个输出口,因此可直接接在数据总线上,而不需另加锁存器。机械系统微机控制2.典型D/A转换器DAC0832机械系统微机控制DAC0832是一个8位D/A转换器。单电源供电,从+5V~+15V均可正常工作。基准电压的范围为±10V;电流建立时间为1μs;CMOS工艺,低功耗20mW。DAC0832转换器芯片为20引脚,双列直插式封装,其引脚排列如图所示。DAC0832内部结构:由三个与门电路组成寄存器输出控制逻辑电路,该逻辑电路的功能是进行数据锁存控制,当=0时,输入数据被锁存;当=1时,锁存器的输出跟随输入的数据。该转换器由输入寄存器和DAC寄存器构成两级数据输入锁存。使用时,数据输入可以采用两级锁存(双锁存)形式,或单级锁存(一级锁存,一级直通)形式,或直接输入(两级直通)形式。机械系统微机控制引脚信号分为:(1)DI0~DI7为数字量输入信号(2)Iout1、Iout2为模拟量输出信号(3)CS为片选信号(4)WR1、WR2为写入信号(5)ILE为数据锁存允许信号(6)XFER为数据传送控制信号(7)Rfb为反馈信号输入线(8)VCC

为电源电压线(9)VRFE

为基准电压输入线(10)AGND为模拟地。(11)DGND为数字地。

机械系统微机控制当ILE=1和WR1=0时,为输入寄存器直通方式;当ILE=1和WR1=1时,为输入寄存器锁存方式。当WR2=0和XFER=0时,为DAC寄存器直通方式;当WR2=1和XFER=0时,为DAC寄存器锁存方式。3.DAC0832应用

1)直通方式

机械系统微机控制输入寄存器和DAC寄存器都在直接选通的情况,在直通方式下,两个寄存器共用一个地址,同时选通输出。MOV A,#DATAMOV DPTR,#07FFFHMOVX @DPRT,A

机械系统微机控制所谓单缓冲方式就是使DAC0832的两个输入寄存器中有一个处于直通方式,而另一个处于受控的锁存方式。在实际应用中,如果只有一路模拟量输出,或虽有几路模拟量但并不要求同步输出时,就可采用单缓冲方式。2)单缓冲方式[例9-4]在图9-37中,该编程输出如图9-38所示的阶梯波。

机械系统微机控制[解]程序如下:

MAIN:MOV A,#00H ;初值为0

MOV DPTR,#07FFFH

MOV R0,#0AH ;10个台阶

NEXT:

MOVX @DPTR,ACALL DELAY ;1ms延时

ADD A,#10 ;台阶增长10DJNZ R0,NEXT ;下一个台阶

SJMP MAIN ;从头开始DELAY:┆ ;1ms延时程序(略)┆

机械系统微机控制3)双缓冲工作方式机械系统微机控制所谓双缓冲方式,就是把DAC0832的两个锁存器都接成受控锁存方式。为了实现寄存器的可控,应当给寄存器分配一个地址,以便能按地址进行操作。双缓冲方式应用举例双缓冲方式用于多路D/A转换系统,以实现多路模拟信号同步输出的目的。[例9-5]例如使用单片机控制X-Y绘图仪。X-Y绘图仪由X、Y两个方向的步进电机驱动,其中一个电机控制绘图笔沿X方向运动,另一个电机控制绘图笔沿Y方向运动,从而绘出图形。因此,对X-Y绘图仪的控制有两点基本要求:一是需要两路D/A转换器分别给X通道和Y通道提供模拟信号,二是两路模拟量要同步输出。机械系统微机控制机械系统微机控制设X坐标存放在以20H为首的20H个内存单元中,对应的Y坐标存放在40H为首的20H内存单元中。

[解]两片DAC的输入寄存器地址分别取7FFFH、0CFFFH,两个DAC寄存器的共同地址是0BFFFH。程序如下:START:

MOVR0,#20H MOVR1,#40H MOVR7,#20HNEXT:

MOVA,@R0

;取X数值

MOVDPTR,#7FFFH机械系统微机控制MOVX@DPTR,A

;输入X值给第一片

DAC的输入寄存器MOVA,@R1

;取Y值MOVDPTR,#0CFFFHMOVX@DPTR,A ;输入Y值给第二片

DAC的输入寄存器MOVDPTR,#0BFFFHMOVX@DPTR,A ;同时启动数/模转换INCR0INCR1DJNZR7,NEXTSJMP

START机械系统微机控制8.2模数转换A/D接口机械系统微机控制A/D转换器用于实现模拟量→数字量的转换,按转换原理可分为4种,即:计数式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。目前最常用的是双积分式A/D转换器和逐次逼近式A/D转换器。双积分式A/D转换器的主要优点是转换精度高,抗干扰性能好,价格便宜。其缺点是转换速度较慢,因此,这种转换器主要用于速度要求不高的场合。另一种常用的A/D转换器是逐次逼近式的,逐次逼近式A/D转换器是一种速度较快,精度较高的转换器,其转换时间大约在几μs到几百μs之间通常使用的逐次逼近式典型A/D转换器芯片有:(1)ADC0801~ADC0805型8位MOS型A/D转换器(美国国家半导体公司产品)。(2)ADC0808/0809型8位MOS型A/D转换器。(3)ADC0816/0817。这类产品除输入通道数增加至16个以外,其它性能与ADC0808/0809型基本相同。机械系统微机控制逐次逼近A/D转换原理:这种转化器是以DA转化器为基础,加上比较器、逐次逼近寄存器、置数选择逻辑电路以及时钟电路组成。转换原理,首先置数选择逻辑电路给逐次逼近寄存器最高位置1,然后由比较器给出结果逐次逼近修改,最后逐次逼近寄存器的内容就是转化后的数字量输出。比较器逐次逼近寄存器置数选择逻辑电路D/A转换器模拟量输入启动控制信号时钟Vref…………逐次逼近型结构框图数字量输出机械系统微机控制

ADC0809是典型的8位8通道逐次逼近式A/D转换器,CMOS工艺。1.典型A/D转换器芯片ADC0809机械系统微机控制1.ADC0809内部逻辑结构及引脚

机械系统微机控制1)输入输入为8个可选通的模拟量IN0~IN7。至于ADC转换器接收用哪一路输入由地址A、B、C控制8路模拟开关实现。

2)模/数转换8位A/D转换器可将输入的模拟量转化为8位数字信号。模/数转换开启时刻有SRART端控制。3)输出

A/D转换器转换的数字量锁存在三态输出锁存器中,当模数转换结束时同时发出EOC信号。机械系统微机控制3、8路模拟开关的三位地址选通编码表ADDA,B,C8路模拟开关的三位地址选通输入端,以选择对应的输入通道。

地址码对应的输入通道CBA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7机械系统微机控制(1)IN0~IN7为8路模拟量输入引脚。(2)D0~D7为数据输出线(3)A、B、C为通路选择输入线。(4)ALE为地址锁存信号(5)START为转换启动信号。(6)OE为输出允许信号(7)EOC为转换结束信号(8)CLK为时钟信号(9)VCC为+5V主电源(10)GNDO接地端(11)VRFE(+)+VRFE(-)为参考电压输入线

机械系统微机控制2.编程举例A/D转换器的程序设计主要分为下面几步:1)选通模拟量输入通道;2)发启动转换信号;3)用查询、中断或软件延时等方式等待转换结束;4)读取转换结果;5)将转换结果存入RAM,进行数据处理或执行其他程序。机械系统微机控制ADC0808/0809与8031单片机的硬件接口有三种方式,查询方式、中断方式和等待延时方式。究竟采用何种方式,应视具体情况,按总体要求而选择。1.延时方式机械系统微机控制在软件编写时,应令p2.7=A15=0;A0、A1、A2给出被选择的模拟通道的地址;执行一条输出指令,启动A/D转换;执行一条输入指令,读取A/D转换结果。通道地址:7FF8H~7FFFH下面的程序是采用延时的方法,分别对8路模拟信号轮流采样一次,并依次把结果转存到数据存储区的采样转换程序。机械系统微机控制

START:

MOVR1,#50H;置数据区首地址

MOVDPTR,#7FF8H;P2.7=0且指向通道0

MOVR7,

#08H;置通道数

NEXT:MOVX@DPTR,A;启动A/D转换

MOVR6,#0AH;软件延时

DLAY:NOPNOPNOPDJNZR6,

DLAYMOVXA,

@DPTR;读取转换结果

MOV@R1,

A;存储数据

INCDPTR;指向下一个通道

INCR1;修改数据区指针

DJNZR7,NEXT;8个通道全采样完了吗?。。。。。。。。机械系统微机控制2)查询方式

A/D转换芯片有表明转换完成的状态信号,例如ADC0809的EOC端。因此,可以用查询方式,软件测试EOC的状态,即可确知转换是否完成,然后进行数据传送。机械系统微机控制查询方式编程举例下面是采用查询方式分别对8路模拟信号轮流采样一次,并依次把采样结果转储到数据存储区的采样转换程序。MAIN:MOVR1,#data ;置数据区首址

MOVDPTR,#7FF8H ;P2.7=0,且指向通道0

MOVR7,#08H ;置通道数LOOP:MOVX@DPTR,A ;启动A/D转换

MOVR2,#20H ;延时查询DELY:DJNZR2,DELY ;(延时60μs)结束?DELY1:JBP2.6,DELY1 ;判P2.6=1? MOVXA,@DPTR ;读取转换结果

MOV@R1,A ;转储

INCDPTR ;指向下一个通道

INCR1 ;修改数据区指针

DJNZR7,LOOP ;8个通道采样未完则循环机械系统微机控制3)中断方式

机械系统微机控制将ADC0808/0809作为一个外部扩展的并行I/O口,直接由单片机的P2.7和脉冲进行启动。通道地址为7FF8H~7FFFH用中断方式读取转换

温馨提示

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

评论

0/150

提交评论