《模数和数模转换(微型计算机技术课件).ppt》由会员分享,可在线阅读,更多相关《模数和数模转换(微型计算机技术课件).ppt(30页珍藏版)》请在三一办公上搜索。
1、第10章 模/数和数/模转换,教学建议,本章重点为:并联电阻和运算放大器构成的D/A转换器;采用T型电阻网络的D/A转换器;DAC0832的功能结构;DAC0832的工作方式;计数式A/D转换的原理;双积分式A/D转换的原理;逐次逼近式A/D转换的原理;用D/A转换器来实现A/D转换的原理;A/D转换器ADC0809的应用。,闭环实时控制系统,图10.1 一个包含A/D和D/A转换环节的实时控制系统,10.1.1 运算放大器的工作特点和原理,运算放大器有如下三个特点。开环放大倍数非常高输入阻抗非常大输出阻抗很小,图10.2 运算放大器的原理(a)运算放大器的输入和输出;(b)带反馈电阻的运算放
2、大器;(c)输入端有4个支路的运算放大器,10.1.2 由并联电阻和运算放大器构成的D/A转换器,图10.3(a)最简单的D/A转换器;(b)阶梯波电压,10.1.3 T型权电阻网络,图10.4 采用T型电阻网络的D/A转换器,10.2 D/A转换器的指标,指标如下几项分辨率转换精度换速率和建立时间线性误,10.2 D/A转换器的指标,DAC0832的功能结构,10.2 D/A转换器的指标,DAC0832的工作方式两级锁存方式一级锁存方式无锁存方式,10.2 D/A转换器的指标,DAC0832的信号 CS ILEWR1WR2XFERDI7DI0IOUT1 和I OUT2RFB VREF VCC
3、 AGND DGND,10.2 D/A转换器的指标,DAC0832的使用,图10.6 DAC0832的外部连接,10.2 D/A转换器的指标,DAC0832实现一次D/A转换的程序段MOVBX,1000HMOVAL,(BX);数据送AL中MOVDX,PORTA;PORTA为DAC0832端口号OUTDX,AL,10.2 D/A转换器的指标,产生一个锯齿电压的程序段MOVDX,PORTA;PORTA为D/A转换器端口号MOVAL,0FFH;初值为0FFHROTATE:INCALOUTDX,AL;往D/A转换器输出数据JMPROTATE,10.2 D/A转换器的指标,利用延迟子程序来控制锯齿波周期
4、。MOVDX,PORTA;PORTA为D/A转换器端口号MOVAL,0FFH;初值ROTATE:INCALOUTDX,AL;往D/A转换器输出数据CALLDELAY;调用延迟子程序JMPROTATEMOVCX,DATA;往CX中送延迟常数DELAY:LOOPDELAYRET,10.3.1 模/数转换涉及的参数,分辨率转换精度转换率,10.3.2 模/数转换的方法和原理,计数式A/D转换双积分式A/D转换逐次逼近式A/D转换用软件和D/A转换器来实现A/D转换,10.3.2 模/数转换的方法和原理,计数式A/D转换,10.3.2 模/数转换的方法和原理,双积分式A/D转换,图10.8 双积分式A
5、/D转换电路工作原理;(b)双积分原理,10.3.2 模/数转换的方法和原理,逐次逼近式A/D转换,10.3.2 模/数转换的方法和原理,用软件和D/A转换器来实现A/D转换,10.3.2 模/数转换的方法和原理,逐次逼近过程的例子,10.3.2 模/数转换的方法和原理,逐次逼近过程的程序段:START:XORAX,AX;累加器清零MOVBL,80H;初值为80HMOVCX,08H;计数初值为8AGAIN:ADDAL,BL;计算试探值MOVBH,AL;保留试探值OUTPORTA,AL;PORTA是锁存器的端口地址INAL,PORTS;PORTS是输入端口的地址,读取状态值ANDAL,01;只取
6、状态位,而对其他位屏蔽JZEND1;如D0为0,说明试探值太小,保存此位并转移END1:MOVAL,BLNOTAL;求反ANDAL,BH;使这次的试探位为0MOVBH,AL;保存试探值END1:RORBL,1;右移,得到下一个试探值MOVAL,BHLOOPAGAIN;继续进行试探和测试;后续程序段,10.3.3 模/数转换器和系统连接时要考虑的问题,输入模拟电压的连接数据输出线和系统总线的连接启动信号的供给转换结束信号以及转换数据的读取模拟电路的数字电路的接地问题,10.3.4 A/D转换器ADC0809以及用中断方式读取转换结果,10.3.4 A/D转换器ADC0809以及用中断方式读取转换
7、结果,ADC0809 的对外信号 IN7IN0 D7D0 EOC。A2A0+VREF和VREF CLK ALE START OE,10.3.4 A/D转换器ADC0809以及用中断方式读取转换结果,ADC0809和系统的连接,10.3.4 A/D转换器ADC0809以及用中断方式读取转换结果,查询方式读取A/D转换结果,图10.14 CPU工作于查询方式时AD570和系统总线的连接,10.3.4 A/D转换器ADC0809以及用中断方式读取转换结果,查询方式读取转换结果的程序段:READAD:MOVAL,92H;方式字,使端口A,B为输入方式,端口C为输出方式OUTPORTCT,AL;PORT
8、CT为控制口地址,设方式字MOVAL,01OUTPORTC,AL;使PC0为1,PORTC为C端口地址MOVAL,00OUTPORTC,AL;使PC0为0,启动A/D转换W:INAL,PORTB;读取端口B中的状态RCRAL,01;如PB0为1,则再查询JCWMOVAL,01OUTPORTC,AL;使PC0为1,撤销启动信号INAL,PORTA;读取转换数据,10.3.4 A/D转换器ADC0809以及用中断方式读取转换结果,等待方式读取A/D转换结果,图10.15 CPU工作于等待方式时AD570和系统的连线,10.3.4 A/D转换器ADC0809以及用中断方式读取转换结果,12位A/D转
9、换器ADC1210和系统的连接,图10.16 ADC1210和系统总线的连接,10.3.4 A/D转换器ADC0809以及用中断方式读取转换结果,用查询方式读取A/D转换数据的程序段START:MOVAL,01OUTPORTC,AL;PORTC是8255A的C端口地址,启动A/D转换WAIT1:INAL,PORTH;读取转换结束信号,PORTH为高位三态门地址MOVCL,5RCRAH,CL;右移5次JCWAIT1;如为高电平,则继续等待INAL,PORTH;如转换结束,则读取高位数据ANDAL,0FH;屏蔽高4位MOVAH,AL;保存转换结果的高4位INAL,PORTL;读取低位数据.;后续处理,