您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 10.模拟量输入输出接口技术[zhuzhuzhuzhu]
一、概述单片机和被控实体间的接口示意图第10章MCS-51与D/A、A/D的接口设计二、D/A转换器最简单D/A转换器框图三.D/A转换器的性能指标l分辨率(Resolution)辨率是指D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。l转换精度(ConversionAccuracy)指满量程时DAC的实际模拟输出值和理论值的接近程度。l偏移量误差(OffsetError)偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。l线性度(Linearity)线性度是指DAC的实际转换特性曲线和理想直线之间的最大偏移差。四.DAC0832输入寄存器DAC寄存器D/A转换器ILECSWR1WR2XFERIOUT1IOUT2DI7~DI0RFRVREF图10-1DAC0832的逻辑结构DAC0832的引脚及结构0832----8位D/A0832引脚功能IOUT2电流输出2CS选片WR1输入写DI0~DI7数据线CSWR1AGNDDI3DI2DI1DI0VREFRFRDGNDVccILEWR2XFERDI4DI5DI6DI7IOUT2IOUT1DAC0832DAC写WR2IOUT1电流输出1数据锁存ILE数据传送XFER图10-2DAC0832的引脚分布图二、DAC0832与单片机的接口①单缓冲方式接口电路----将两级寄存器的控制信号并接在一起,相当于控制一级寄存器(线选译码地址7FFFH)。8031WRP2.7P0DI7~DI0CSXFERWR1WR2DAC0832IOUT2IOUT1+-RFR图10-3DAC0832单缓冲方式接口电路ILE+5V采用单缓冲方式输出锯齿波、矩形波、三角波、梯形波等的D/A转换程序锯齿波ORG2000HSTART:MOVDPTR,#7FFFH;选中0832MOVA,#00H;D/A数据初值LP:MOVX@DPTR,A;转换INCA;修改D/A数据SJMPLP;循环,输出连续模拟量A=00A=0FFH三角波ORG2000HSTART:MOVDPTR,#00FEH;选中0832MOVA,#00H;D/A数据初值UP:MOVX@DPTR,A;转换INCA;修改D/A数据(上升)JNZUP;未上升到最大值,继续DOWN:DECA;否则,修改D/A数据(下降)MOVX@DPTR,A;转换JNZDOWN;未下降到最小值,继续SJMPUP;一个周期结束,继续A=00A=0FFHA=00A=0FFH②双缓冲方式----略五.MCS-51和D/A的接口•1.DAC的应用lDAC用作单极性电压输出lDAC用作双极性电压输出lDAC用作控制放大器)输入数字量Bb7b6b5b4b3b2b1b0Vout(理想值)+VREF时-VREF时11111111|VREF|-LSB-|VREF|+LSB┆┆┆11000000|VREF|/2-|VREF|/2┆┆┆1000000000┆┆┆01111111-LSBLSB┆┆┆00111111-|VREF|/2-LSB|VREF|/2+LSB┆┆┆00000000-|VREF||VREF|双极性输出电压与输入数字量的关系双极性DAC的接法双极性DAC的另一种接法控制放大器用DAC0832----A/D转换即是将模拟量信号转换成数字量信号,常用于数据采集系统,外界的模拟信号经A/D转换后,读入单片机内部以便进行处理。六A/D转换器及其与单片机接口常见A/D转换电路有双积分式和逐次逼近式。A/D转换的主要指标是—精度(位数)、转换时间。1.双积分型A/D转换器工作原理•1.双积分型A/D转换器工作原理•双积分型A/D转换是一种间接A/D转换技术。首先将模拟电压转换成积分时间,然后用数字脉冲计时方法转换成计数脉冲数,最后将此代表模拟输入电压大小的脉冲数转换成二进制或BCD码输出。因此,双积分型A/D转换器转换时间较长,一般要大于40~50ms。双积分ADC电路原理图各点输出波形先假设一个数字量,并将其进行D/A转换,然后将得到的模拟量与输入模拟量进行比较,若前者大于后者,说明所设数字量偏大,将其减小后重复上述过程;若前者小于后者,则说明所设数字量偏小,将其增大后重复上述过程……如此反复调整所设数字量,使得其D/A转换后的值逐渐逼近输入模拟量,此时所设数字量即为转换好的数字量。2A/D转换原理--逐次逼近式A/D转换原理1)、逐次逼近A/D转换的基本原理比较器D/A转换器时序与控制逻辑电路输出缓冲器模拟量输入VXVN时钟启动EOCOEN位数字量输出N位寄存器图10-16逐次逼近A/D转换器原理图转换过程:模拟量VX送到比较器后,启动A/D转换,先设N位寄存器的最高位(DN-1)为1,其余位为0,进行D/A转换,得到的模拟量VN与输入VX比较,VN≤VX,再设次高位(DN-2)为1,继续……若若VNVX,先清零DN-1,再设次高位(DN-2)为1,继续如此反复,经过N次比较后,最后一位D0得到确定,此时,N位寄存器的内容就是转换好的数字量,而EOC输出转换结束信号,在输出允许OE(高电平)有效时,数字量经输出缓冲器读出。四位逐次逼近型A/D转换时序图10-18ADC0809的结构框图8路模拟量开关地址锁存与译码8位A/D转换器三态输出锁存器STARTCLKIN0··IN7D0··D7ABCALEVR(+)VR(-)EOCOE3、ADC0809的引脚及内部结构0809----8位A/D0809引脚功能VR参考电源CLK时钟OE输出允许D0~D7数字量输出IN3IN4IN5IN6IN7STARTEOCD3OECLKVCCVR(+)GNDD1IN2IN1IN0ABCALED7D6D5D4D0VR(-)D20809转换结束EOCIN7~IN0模拟量输入地址锁存ALE启动转换START图10-19ADC0809引脚图4、ADC0809与单片机的接口①延时等待方式80310809≥1≥1≥1P0ALECLKALESTARTOERDP2.7WRABCP0.0P0.1P0.2VR(+)VR(-)+5VGNDIN0····INT7D0~D7CPDQQAD09:MOVDPTR,#7FFFH;选中0809MOVA,##0;选中IN0MOVX@DPTR,A;启动A/D转换MOVR7,#50H;DJNZR7,$;延时等待MOVXA,@DPTR;读入转换好的数据SJMP$②查询与中断方式80310809373≥1≥11P0.7...P0.0ABC+5VGNDIN0······INT7CPDQQALESTARTOERDP2.7WRP3.3EOCALECLKD7...D0VR(+)VR(-)GINT1MAIN:MOVR1,#DATA;置数据区首地址查询方式程序----8路模拟信号轮流采样一次,并将转换结果分别存入内部RAM以DATA为起始地址的连续8个单元中。MOVDPTR,#7FF8H;选中IN0通道MOVR7,#8H;置通道数LOOP:MOVX@DPTR,A;启动A/D转换TEST:JBP3.3,TEST;查询A/D转换结束否MOVXA,@DPTR;转换结束,读入转换结果MOV@R1,A;存入内部RAM存储区INCDPTR;指向下一个通道INCR1;修改存储指针DJNZR7,LOOP;8个通道是否转换完成……中断方式程序----问题同上,采取中断方式ORG0013HAJMPPINT1ORG2000HMAIN:MOVR1,#DATASETBIT1;边沿触发SETBEASETBEX1MOVDPTR,#7FF8HMOVX@DPTR,ALOOP:NOPAJMPLOOPORG2100HPINT1:PUSHPSWPUSHACCMOVXA,@DPTRMOV@R1,AINCR1INCDPTRMOVX@DPTR,A;再次启动POPACCPOPPSWRETI主程序中断处理程序•5.AD574A与MCS-51单片机接口AD574A与8031接口电路图AD574A逻辑控制真值表(a)启动与转换(b)转换结果输出AD574A控制时序图REFINLIPOFFOFFREFOUTAD574+15V-15V100K100K10012100108AD574的单极性转换作业:•习题5上机实验:时间:6月24日(周日)08:30~12:0013:30~15:00地点:教4-317实验报告周三(27日)交考试:时间:6月27日(周三)10:10~12:00地点:教2-513
本文标题:10.模拟量输入输出接口技术[zhuzhuzhuzhu]
链接地址:https://www.777doc.com/doc-4119096 .html